`ls -d */` 不适用于某一特定目录

`ls -d */` 不适用于某一特定目录

ls -d */在我尝试过的所有其他目录中运行良好,但在一个具体目录中,我得到以下结果:

ls: invalid option -- '/'
Try 'ls --help' for more information.

我将命令粘贴到终端中,因此,两种情况下的命令完全相同。

答案1

您似乎有一个名为 的目录-,它ls试图解析为一系列标记选项(或开关):

$ mkdir -- -
$ ls -d */
ls: unknown option -- /
$ -ls -d -- */
-/

许多核心工具都采用特殊的开关,--,这意味着“没有更多的开关;任何进一步的都是正常的参数”。

警惕通配符的使用:

$ touch -- foo -i
$ ls
-i    foo
$ ls *
2251799814054385 foo

想象一下,如果您正在使用并且当前工作目录中rm有一个被调用的文件,可能会发生混乱。-fr

相关内容