在整个目录结构中查找文件或目录

Roc*_*Man 14 bash directory find

如何在 bash 中找到具有特定名称的文件。我想搜索整个系统。我尝试使用 find,但这只能通过一个级别。

enz*_*tib 20

不,find默认情况下遍历所有可用级别:

sudo find / -mount -name 'myfilename'
Run Code Online (Sandbox Code Playgroud)

如果你有一个单独的 home 分区,或者一个加密的 home,或者一个辅助硬盘,你可能还想列出它们的挂载点/,例如

sudo find / /home/enzotib /media/data -mount -name 'myfilename'
Run Code Online (Sandbox Code Playgroud)

-mount需要该选项以避免遍历已安装的文件系统。其中有/proc/dev/sys,方便跳过。

遍历所有文件的替代方法,仅避免这最后三个路径是

sudo find /!(proc|sys|dev) -name 'myfilename'
Run Code Online (Sandbox Code Playgroud)