find命令高效利用

143 阅读1分钟

本文将说明在linux操作系统当中find命令的高效使用,让你在linux的文件海洋里查找某个文件事半功倍。

案例一:

如果你的linux服务器上有一个名为logs的目录,如何删除该目录下最后一次访问时间超过一年的日志文件:

find . -type f -atime +365 -exec rm -rf {} ;

{}是用于查找结果的占位符,-exec后面的命令必须是分号结束,find命令使用;作为-exec选项参数的结尾,是为了转义分号,确保它被视为命令参数的一部分而不是Shell命令的分隔符。

案例二:

在当前目录下查看名为test.txt的文件:

find . -name test.txt

案例三:

查找所有格式为pdf的书籍,使用正则表达式:

find . -type f -name "*.pdf"

案例四:

查找不同类型的文件,通过-type选项来达到需求

例如目录:

find . -type d -name "adc*"

例如软链接:

find . -type l -name "abc*"

案例五:

按指定的时间戳查找文件,linux系统中的3个不同的时间戳

访问时间戳(atime):最后一次读取文件的时间。

修改时间戳(mtime):文件内容最后一次被修改的时间

更改时间戳(ctime):上次更改文件元数据的时间

搜索ctime在5~10天前的文件:

find . -type f -ctime +5 -ctime -10

案例六:

查找大小为10MB~1GB的文件:

find . -type f -size +10M -size 1G

案例七:

查找权限具有777的文件:

find . -type f -perm 777