【发布时间】:2012-03-17 16:10:27
【问题描述】:
ls 命令的手册页说:
-d, --directorylist
directory entries instead of contents.
那么,目录内容和条目之间有什么区别?我家目录中的ls -d 命令只显示:
.
ls 命令的-d 选项的作用是什么?
【问题讨论】:
标签: bash directory filesystems ls
ls 命令的手册页说:
-d, --directorylist
directory entries instead of contents.
那么,目录内容和条目之间有什么区别?我家目录中的ls -d 命令只显示:
.
ls 命令的-d 选项的作用是什么?
【问题讨论】:
标签: bash directory filesystems ls
根据我的经验,当您使用通配符运行 ls 时,-d 标志最有用。
在诸如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
请注意,几乎可以肯定第二种情况是预期的。
【讨论】:
如果您执行ls -l,您将获得(当前)目录下所有项目(内容)的信息。但是,如果您想查看(当前)目录的信息怎么办?那是你做ls -ld
当然,由于ls 只是打印内容的名称,ls -d 打印.(或给定路径的目录名称)并且看起来没用。
您也可以通过ls -d */ 仅列出目录。
【讨论】:
-d, --directorylist
directory entries instead of contents.
这只是意味着将显示有关目录的任何可用信息/条目(而不是其内容)。
【讨论】: