![Linux 中相当于 DOS 的“dir /s /b 文件名”是什么?](https://linux22.com/image/15883/Linux%20%E4%B8%AD%E7%9B%B8%E5%BD%93%E4%BA%8E%20DOS%20%E7%9A%84%E2%80%9Cdir%20%2Fs%20%2Fb%20%E6%96%87%E4%BB%B6%E5%90%8D%E2%80%9D%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
列出当前目录中或当前目录下与“文件名”匹配的所有文件/目录。
答案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 find
和man grep
了解更多详细信息。
答案2
有些 shell 允许ls **/filename
,这非常方便。
答案3
你可以这样做
find . | egrep filename
答案4
它也可以是:tree -if </your/path>
或'pwd'
作为路径