【发布时间】:2015-04-30 08:16:37
【问题描述】:
当我在终端中键入 ls -l -d 并在 root 中键入当前工作目录时,它会显示
root@devils-ey3:~# ls -l -d
drwxrwxr-x 57 root root 4096 Apr 30 11:16 .
但是当我在其他当前目录时假设它是 /usr/ 或 /usr/bin/ 那么输出也和以前一样只是改变一些诸如文件大小、id、日期之类的东西。
root@devils-ey3:/usr/bin# ls -l -d
drwxr-xr-x 2 root root 118784 Apr 29 23:10 .
我看了ls -d的文档。它写
-d, --directory list directory entries instead of contents,
and do not dereference symbolic links
我很困惑为什么我们使用 ls -d 以及为什么它在每个不同的目录中显示最有可能相同的输出?
【问题讨论】:
-
尝试指定一个目录作为参数,例如
ls /与ls -d /。甚至几个目录,例如ls / /bin/ /etc/与ls -d / /bin/ /etc/. -
我投票结束这个问题,因为它不是一个编程问题,更适合unix.stackexchange.com
-
在你关闭它之前,我想知道他正在使用什么发行版,这样我就可以避免它。任何带有损坏的
man page安装的发行版都是我想要远离的东西......说真的,-d的唯一痛苦是它没有做你想要的。好吧,那只是因为您没有正确使用它。正如答案所示,您必须告诉它查找子目录而不是当前目录(无聊的结果)。所以要找到潜艇:ls -d /*