1

问题:

在您的主目录中,执行 ls 操作会显示所有以“.”开头的目录。您不应该看到普通文件,也不应该看到这些目录的内容。例子:

~ $ ls _ __ _ _ ../ ./ .ssh/ .ssh2/ .sunw/ .tin/

我跑了

ls -R .  -d | grep ./

它似乎有效。

但是,当我运行时 ls -R . -d,我注意到即使使用 -d,这些文件仍在列出。为什么会出现这种情况?

4

2 回答 2

4

我认为您被要求显示所有“点”目录,即

ls -ad .*/
于 2013-02-17T01:54:33.260 回答
2

(最短的)答案是:

ls -d .*/

因为:

  • .*/适用于所有以“。”开头的目录。
  • -d是因为看不到这些目录的内容

如果没有/最后,您会看到纯文件,这将是错误的答案。

如果没有该-d标志,您将看到目录的内容,这将是错误的答案。

不需要其他标志。

于 2013-02-17T02:06:18.510 回答