![为什么三个问号通配符 (???) 不能与 ls 一起使用?](https://linux22.com/image/198306/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%89%E4%B8%AA%E9%97%AE%E5%8F%B7%E9%80%9A%E9%85%8D%E7%AC%A6%20(%3F%3F%3F)%20%E4%B8%8D%E8%83%BD%E4%B8%8E%20ls%20%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
我正在尝试列出 .txt 中名称为 3 个字符的所有文件/usr/bin
。
ls ???
应该这样做,但它列出了目录中的每个文件。请注意,它ls ????
按预期工作,仅显示名称为 4 个字符的文件。它也适用于 1、2、5 以及除 3 之外的所有数字。
重现步骤:
- 去
/usr/bin
- 类型
ls ???
答案1
哦,我找到了: ls 将列出您在命令行上传递的目录的内容。至少在我尝试过的 Ubuntu 上,有/usr/bin/X11/
一个指向/usr/bin/
.因此,您确实首先获得了三个字母的文件,然后再次获得了所有内容/usr/bin
,这会滚动出所有其他文件。 (尝试ls ??? | less
看看这个。)