用来查找文件系统中的文件和文件夹的find命令的快速指南
find 命令可以用来寻找符合特定搜索模式的文件或文件夹。它的搜索方式是递归的。
让我们通过实例来学习它。
找到当前树下所有扩展名为.js 的文件,并打印每个匹配文件的相对路径。
重要的是在特殊字符(如* )周围使用引号,以避免shell对其进行解释。
查找当前树下与 "src "名称匹配的目录。
使用-type f 只搜索文件,或者使用-type l 只搜索符号链接。
-name 是区分大小写的。使用 来进行不区分大小写的搜索。-iname
你可以在多个根树下搜索。
find folder1 folder2 -name filename.txt
查找当前树下与 "node_modules "或 "public "名称匹配的目录。
find . -type d -name node_modules -or -name public
你也可以排除一个路径,使用-not -path 。
find . -type d -name '*.md' -not -path 'node_modules/*'
你可以搜索里面有超过100个字符(字节)的文件。
find . -type f -size +100c
搜索大于100KB但小于1MB的文件。
find . -type f -size +100k -size -1M
搜索超过3天前编辑的文件
搜索过去24小时内编辑过的文件
你可以通过添加-delete 选项来删除所有符合搜索的文件。这将删除所有在过去24小时内编辑过的文件。
find . -type f -mtime -1 -delete
你可以对搜索的每个结果执行一个命令。在这个例子中,我们运行cat 来打印文件内容。
find . -type f -exec cat {} \;
注意到结束语\; 。{} ,在执行时填写了文件名。