为什么命令 `ls -d` 只打印 `.` 目录?

Cha*_*iao 7 linux ubuntu

我试过了man ls,然后我得到了

-d, --directory
Run Code Online (Sandbox Code Playgroud)

列出目录条目而不是内容,并且不要取消引用符号链接

正如手册所说,-d意味着列出所有目录,但是当我输入时,ls -d 我得到了

drwxr-xr-x 35 *user group* 4.0K *date* 00:16 .
Run Code Online (Sandbox Code Playgroud)

Bru*_*ger 14

因为ls默认情况下,引用当前目录。毕竟,这是最常见的用例:列出当前目录中的文件。

“-d”标志仅表示“不列出目录中的文件,只列出目录本身”。

  • 如果您只想列出目录(在当前目录中),请使用 `ls -d */`,如果您希望它在该输出中列出隐藏目录(以 `.` 开头的目录),请使用 `shopt -s dotglob ` 在 ls 之前。 (5认同)
  • 谢谢你。我误解了`-d` 标志的含义。 (2认同)