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