find命令手册
find:查找和搜索文件
功能描述:
使用find命令可以将文件系统内符合条件的文件列出来,可以指定文件的名称、类别、时间、大小及权限等不同信息的组合,只有完全相符的文件才会被列出来。
find命令模糊搜索是比较消耗系统资源的,如果服务器负载比较高,尽量避开业务高峰期使用find命令。
命令语法:
find [路径] [选项]
选项含义:
命令中各选项的含义如下表所示。
选项 | 含义 |
---|---|
-name <文件名> | 按名称查找 |
-iname <文件名> | 忽略大小写查找 |
-user <用户名> | 按文件属主查找 |
-group <组名> | 按文件所属组查找 |
-size n[ckMG] | 按文件大小查询,n代表数字,c代表字节,k代表KB,G代表GB |
-type <文件类型> | 按文件类型查找 |
-nouser | 查找没有用户的文件 |
-nogroup | 查找没有组群的文件 |
-atime n | 在过去n天内被访问过的文件(atime表示文件中的数据库最后被访问的时间) |
-amin n | 在过去n分钟内被访问过的文件 |
-ctime n | 在过去n天内被改动过的文件(ctime表示文件的元数据发生变化,比如权限,所有者) |
-cmin n | 在过去n分钟内被改动过的文件 |
-mtime n | 在过去n天内被修改过的文件(mtime表示文件内容被修改的最后时间) |
-mmin n | 在过去n分钟内被修改过的文件 |
参数实例:
实例1
按文件名查找:
// 查找/test目录下名称为abc的文件
[root@cnLinuxer ~]# find /test -name abc
/test/abc
//查找根目录下abc文件,不区分大小写
[root@cnLinuxer ~]# find /test -iname abc
/test/abc
/test/ABC
实例2
按文件大小查找:
// 查找/data目录下超过10M的文件
[root@cnLinuxer ~]# find /date -size +10M
// 查找/data目录下小于1G的文件
[root@cnLinuxer ~]# find /date -size -1G
// 查找/data目录下等于98k的文件
[root@cnLinuxer ~]# find /date -size 98k
实例3
按时间查找:
// 查找1天内文件内容被修改的文件
[root@cnLinuxer ~]# find / -mtime -1 -type f
//查找1天前文件内容被修改的文件
[root@cnLinuxer ~]# find / -mtime +1 -type f
// 查找一天前被访问的文件
[root@cnLinuxer ~]# find / -atime +1 -type f
// 查找一天内被访问的文件
[root@cnLinuxer ~]# find / -atime -1 -type f
// 查找一天内状态被改变的文件
[root@cnLinuxer ~]# find / -ctime -1 -type f
// 查找10分钟前状态被改变的文件
[root@cnLinuxer ~]# find / -cmin +60 -type f
实例4
按权限查询:
//查找/test目录下权限为777的所有文件
[root@cnLinuxer ~]# find /test -perm 777
实例5
按属主及属组查询
// 查找属主为esight的文件
[root@cnLinuxer ~]# find / -user esight -type f
// 查找无属主的文件
[root@cnLinuxer ~]# find / -nouser -type f
// 查找属组为esight的文件
[root@cnLinuxer ~]# find / -group esight -type f
// 查找无属组的文件
[root@cnLinuxer ~]# find / -nogroup -type f
实例6
执行命令:
// 查找te.txt并删除,删除前提示
[root@cnLinuxer ~]# find /test -name "te.txt" -ok rm {} \;
< rm ... /test/te.txt > ?
// 查找te.txt 并备份为te.txt.bak
[root@cnLinuxer ~]# find /test -name "te.txt" -exec cp {} {}.bak \;
有收获,点个在看
评论