ls -lR * 列出当前目录和子目录中的所有文件,但 ls -lR *filename* 不列出子目录中的文件
ls -lR * lists all the files in current and subdirectories , but ls -lR *filename* does not list files in subdirectories
ls -lR * 列出当前目录和子目录中的所有文件,但是 ls -lR filename 不列出子目录中的文件,只列出匹配 的文件当前目录中的文件名 为什么这样?有没有一种方法可以在不使用 find 而只使用 ls 的情况下列出名称包含特定文本的所有文件。
根据手册页,ls 列出了有关指定文件名的信息。 shell(bash、sh、zsh 等)将 * 扩展为文件名列表,因此正在执行的命令是
ls -lR filename1 filename2 filename3 ...
如果这些文件名之一是目录,则 ls 将递归列出它。
你的第二种情况
ls -lR filename
如果该文件名是目录的名称,ls 将递归列出目录的内容,否则它会为您提供文件的详细信息。
要做你想做的事你需要做
ls -lR | grep filename
或者按照你说的使用查找
ls -lR * 列出当前目录和子目录中的所有文件,但是 ls -lR filename 不列出子目录中的文件,只列出匹配 的文件当前目录中的文件名 为什么这样?有没有一种方法可以在不使用 find 而只使用 ls 的情况下列出名称包含特定文本的所有文件。
根据手册页,ls 列出了有关指定文件名的信息。 shell(bash、sh、zsh 等)将 * 扩展为文件名列表,因此正在执行的命令是
ls -lR filename1 filename2 filename3 ...
如果这些文件名之一是目录,则 ls 将递归列出它。
你的第二种情况
ls -lR filename
如果该文件名是目录的名称,ls 将递归列出目录的内容,否则它会为您提供文件的详细信息。
要做你想做的事你需要做
ls -lR | grep filename
或者按照你说的使用查找