ls 没有按预期列出文件

ls 没有按预期列出文件

我面临以下问题:

输出1

sh-3.2$ ls -R
.:
#dir1  #dir2

./#dir1:
f1  f2  f3

./#dir2:
f1  f2  f3

输出2

sh-3.2$ ls #dir1
#dir1  #dir2

如在 Output1 中看到的,目录中#dir1有文件f1 f2 and f3,但是当我在目录上执行 ls 时,我得到了不同的输出,如在 Output2 中看到的,Output2 似乎表明#dir1有类似的目录#dir1 #dir2

这是怎么回事?这是循环链接吗?

答案1

#是一个 shell 元字符,它标记评论的开头。 因此

ls #dir1

实际上与

ls

列出了 cwd 中的所有内容。

尝试逃离#

ls \#dir1

或者引用整个目录名称:

ls '#dir1'

或者

ls ./#dir1

答案2

在命令中ls #dir1,shell 将井号字符解释为注释的开头——因此您可以获得当前工作目录的列表。

相关内容