首页 Al提示指令 Linux system-exec参数中find命令的常见用法和高级用法详解

Linux system-exec参数中find命令的常见用法和高级用法详解

标题:详解Linux系统find命令常见用法和高级用法-exec参数

概述find 命令是Linux 下一个功能强大的搜索命令。与locate命令相比,它需要遍历磁盘文件,因此查找速度较慢,但也正因为如此,它的实时性比locate要好很多。另一方面,find命令的搜索条件比locate丰富得多。下面介绍find命令的常见用法和一些高级用法。

1.根据名称查找/-name \’prometheus\’

2、有时需要根据权限查找具有特定权限的文件。例如,可以使用-perm参数在当前目录中查找权限为755的文件:

寻找。 -烫发755

3. 以文件类型为条件

涉及参数-type,例如查找当前目录下的符号链接文件:

查找/选择类型

注意:

f 普通文件

d目录

b 块设备文件

c 字符设备文件

l 符号链接

插座

p 管道文件

4.基于时间的条件涉及参数-mtime、-atime、-ctime、-newer、-anewer、-cnewer、-amin、-cmin等。

find ./-mtime 3 #查找3天前更改的文件

find ./-mtime -3 #查找3天内更改的文件

find ./-mtime 0 #查找今天更改的文件

find ./-newer sort.txt #查找比sort.txt修改时间更新的文件

find ./-anewer sort.txt #查找访问时间比sort.txt更新的文件

find ./-amin 5 #查找5分钟前访问过的文件

注意:

atime 最后访问时间

mtime 最后修改时间

ctime 最后修改时间,包括属性和权限

5、exec参数——exec参数后面是command命令,其终止符用;标记,所以这个命令后面的分号是不可缺少的,考虑到分号在每个系统中会有不同的含义。所以在前面加一个反斜杠。

{} 大括号代表上一次查找到的文件名。

使用find时,只要将需要的操作写在文件中,就可以使用exec来配合find,非常方便。在某些操作系统中,只允许使用-exec 选项来执行ls 或ls -l 等命令。大多数用户使用此选项来查找旧文件并删除它们。建议在实际执行rm命令删除文件之前,最好先用ls命令看一下,确认是要删除的文件。 exec 选项后面是要执行的命令或脚本,然后是一对{ }、一个空格和一个\\,最后是一个分号。为了使用exec 选项,还必须使用print 选项。如果你验证find命令,你会发现该命令只输出距当前路径的相对路径和文件名。

5.1.将ls 放入exec

查找/var/lib/mysql -name \’log*\’ -o -name \’*bin*\’ -exec ls -al {} \\;

5.2.查找5天前更改的文件并将其删除

find /logs -type f -mtime +5 -exec rm {} ;

5.3.提示删除

find命令查找当前目录下所有文件名以.log结尾且修改时间超过5天的文件并删除,但删除前会给出提示。

寻找。 -name \’*.log\’ -mtime +5 -ok rm {} ;

按[y]键删除文件,按[n]键不删除

后续我会分享更多devops和DBA的内容,感兴趣的朋友可以关注!

热门文章