目录内容和目录条目之间有什么区别?

时间:2012-02-28 06:58:00

标签: bash directory filesystems ls

ls命令的联机帮助页说:

-d, --directorylist  
     directory entries instead of contents.

那么,目录内容和条目之间有什么区别?我的主目录中的ls -d命令仅显示:

.

-d命令ls选项的用途是什么?

3 个答案:

答案 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.

它只是意味着将显示有关目录的任何信息/条目(而不是其内容)。