You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出包含.和..但不含隐藏文件的文件与目录?

嘿,这个需求其实用几个简单的ls命令组合就能轻松搞定,我给你两种靠谱的实现方法:

方法1:直接指定目标条目+通配符匹配

运行这条命令就行:

ls -d . .. *

拆解一下各部分的作用:

  • -d:让ls显示目录本身,而不是自动展开目录里的内容(如果不加这个参数,ls会把.当成当前目录并列出里面的所有内容,这不是我们要的效果)
  • . 和 ..:明确指定要显示当前目录和上级目录的条目
  • *:匹配当前目录下所有非隐藏的文件和目录(shell的通配符*默认不会匹配以.开头的文件,刚好帮我们排除了其他隐藏文件)

如果当前目录没有非隐藏文件,这条命令可能会输出错误提示,你可以把错误输出重定向到/dev/null来避免:

ls -d . .. * 2>/dev/null

方法2:结合ls的隐藏过滤选项

如果你更习惯用-a参数(显示所有条目),可以搭配--hide参数精准过滤:

ls -a --hide='.[!.]*'

解释一下逻辑:

  • -a:先让ls显示所有条目(包括.、..和所有隐藏文件)
  • --hide='.[!.]*':告诉ls隐藏所有以.开头、且第二个字符不是.的文件——这就刚好排除了除.和..之外的所有隐藏文件,完美符合你的需求

内容的提问来源于stack exchange,提问作者yossico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:06:29