Linux 中相当于 DOS 的“dir /s /b 文件名”是什么?

Linux 中相当于 DOS 的“dir /s /b 文件名”是什么?

列出当前目录中或当前目录下与“文件名”匹配的所有文件/目录。

答案1

直接等价的是

find . -iname <filename>

它将列出<filename>当前目录和任何子目录中调用的所有文件和目录,忽略大小写。

如果您的 find 版本不支持-iname,您可以使用-name。请注意,与 不同的是-iname-name区分大小写。

如果您只想列出名为 的文件<filename>而不是目录,请添加-type f

find . -iname <filename> -type f

如果要使用通配符,则需要在其两侧加上引号,例如

find . -iname "*.txt" -type f

否则 shell 会扩展它。

正如其他人指出的那样,您还可以执行以下操作:

find . | grep "\.txt$"

grep将根据正则表达式打印行,正则表达式比通配符更强大,但具有不同的语法。

请参阅man findman grep了解更多详细信息。

答案2

有些 shell 允许ls **/filename,这非常方便。

答案3

你可以这样做

find . | egrep filename

答案4

它也可以是:tree -if </your/path>'pwd'作为路径

相关内容