ls -lR *列出当前和子目录中的所有文件,但ls -lR * filename *不列出子目录中的文件

时间:2017-01-17 10:09:32

标签: unix ls

ls -lR *列出当前和子目录中的所有文件,但ls -lR filename 不列出子目录中的文件,只列出当前与 filename 匹配的文件目录为何如此?有没有办法列出名称包含特定文本的所有文件,而不使用find,只使用ls。

1 个答案:

答案 0 :(得分:1)

根据手册页ls列出了有关指定文件名的信息。 shell(bash,sh,zsh等)将*扩展为文件名列表,因此正在执行的命令是

0.0.0.0

如果其中一个文件名是目录,那么ls将以递归方式列出它。

在你的第二个案例中

ls -lR filename1 filename2 filename3 ...

如果该文件名是目录的名称,ls将重复列出目录的内容,否则它将为您提供该文件的详细信息。

要做你想做的事,你需要做

ls -lR filename

或者像你说的那样使用find