find
在指定目录下查找文件。
使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件(即默认递归查找)。并且将查找到的子目录和文件全部进行显示。
语法
1 | find path expression |
expression:表达式,选项,参数。
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
注意:path最好不要省略。
expression 中可使用的选项有二三十个之多,用到的时候可以查一下。
常见的有:
-name
-iname
-maxdepth
-type
-and
-or
-not
示例
eg1:列出当前目录及子目录下所有文件和文件夹
find .
结果:
1 | . |
eg2:仅在当前目录查找。
find . -maxdepth 1
结果:
1 | . |
eg3:在当前目录中查找指定的文件
find /Applications/Xcode.app -name symbolicatecrash
结果:
1 | /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash |
在当前路径下递归查找以.txt结尾的文件
find . -name "*.txt"
eg4:仅在当前路径下查找以.png、.jpg、.jpeg结尾的文件
find . -maxdepth 1 -name "*.png" -or -name "*.jpg" -or -name "*.jpeg"
参考
find Linux命令搜索的一个网站