Linux命令:find的实例教程

139 阅读1分钟

用来查找文件系统中的文件和文件夹的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 {} \;

注意到结束语\;{} ,在执行时填写了文件名。