ls -lR *列出当前和子目录中的所有文件,但ls -lR filename 不列出子目录中的文件,只列出当前与 filename 匹配的文件目录为何如此?有没有办法列出名称包含特定文本的所有文件,而不使用find,只使用ls。
答案 0 :(得分:1)
根据手册页ls列出了有关指定文件名的信息。 shell(bash,sh,zsh等)将*扩展为文件名列表,因此正在执行的命令是
0.0.0.0
如果其中一个文件名是目录,那么ls将以递归方式列出它。
在你的第二个案例中
ls -lR filename1 filename2 filename3 ...
如果该文件名是目录的名称,ls将重复列出目录的内容,否则它将为您提供该文件的详细信息。
要做你想做的事,你需要做
ls -lR filename
或者像你说的那样使用find