ls
命令的联机帮助页说:
-d, --directorylist
directory entries instead of contents.
那么,目录内容和条目之间有什么区别?我的主目录中的ls -d
命令仅显示:
.
-d
命令ls
选项的用途是什么?
答案 0 :(得分:5)
根据我的经验,当您使用通配符运行-d
时,ls
标记最有用。
在ls -l "B*"
之类的命令中,如果目录匹配,则ls
将列出该目录的内容。如果您不关心子目录的内容,这是令人讨厌的。
例如,假设您的目录结构如下:
/tmp/Foo
|-Bar
|---FooBar
|-Buzz
|-FizzBuzz
ls "/tmp/Foo/B*"
将产生以下内容:
/tmp/Foo/Buzz
/tmp/Foo/Bar:
Foobar
ls -d "/tmp/Foo/B*"
将产生以下内容:
/tmp/Foo/Buzz
/tmp/Foo/Bar
请注意,第二种情况几乎可以肯定是预期的。
答案 1 :(得分:4)
如果您执行ls -l
,您将获得(当前)目录下所有项目(内容)的信息。但是,如果您想查看(当前)目录的信息怎么办?那是你做ls -ld
当然,由于ls
只打印内容的名称,ls -d
打印.
(如果给定路径,则打印目录名称)并且似乎没用。
您也可以ls -d */
仅列出目录。
答案 2 :(得分:1)
-d, --directorylist
directory entries instead of contents.
它只是意味着将显示有关目录的任何信息/条目(而不是其内容)。