Linux常用命令之find命令
文章目录
- Linux常用命令之find命令
- 常用命令之`find`
- 背景介绍
- 总结
作者简介
听雨:一名在一线从事多年研发的程序员,从事网站后台开发,熟悉java技术栈,对前端技术也有研究,同时也是一名骑行爱好者。
Darren:一个工作经验用了N年的,资深划水人士,除了工作无其他爱好
口号:记录在开发中遇到日常问题、棘手问题的解法和思路
常用命令之find
背景介绍
find
命令的功能是根据给定的路径和条件查询相关文件或目录。
常用参数
参数 | 解释 |
---|---|
-name | 匹配文件名 |
-perm | 匹配文件权限 |
-user | 匹配文件所属主 |
-group | 匹配文件所属组 |
-mtime | 匹配最后修改文件内容时间 |
-atime | 匹配最后读取文件内容时间 |
-ctime | 匹配最后修改文件属性时间 |
-nouser | 匹配无所属主的文件 |
-nogroup | 匹配无所属组的文件 |
-newer | 匹配比指定文件更新的文件 |
-type | 匹配文件类型 |
-size | 匹配文件大小 |
-prucne | 不搜索指定目录 |
-exec 命令 {} \; | 进一步处理搜索结果 |
例如
查找根路径下指定名字的文件,/
指文件路径如果是.
则是当前目录
root@master:~# find / -name init.conf
/var/lib/docker/overlay2/i5ovfczbfdesmiqb9v52dp1b1/diff/usr/share/alsa/ucm2/HDA-Intel/init.conf
还可以使用通配符
root@master:~# find / -name *.conf
/var/lib/docker/overlay2/i5ovfczbfdesmiqb9v52dp1b1/diff/usr/share/alsa/ucm2/HDA-Intel/init.conf
查找根路径大于500M的文件
root@master:~# find / -size +500M
指定属主的且大于5M的文件,可以组合使用的
root@master:~# find / -user darren -size +5M
查找当前目录下的所有文件,目录以及子文件信息
root@master:~# find .
查找目录下非某个文件
root@master:~# find / ! -name "*.conf"
查找修改时间大于2000天的文件
root@master:~# find /home/darren/ -mtime +2000
查找指定目录的文件类型切大于3天的进行删除
root@master:~# find /home/darren/app/log -type f -mtime +3 -delete
查找后对结果集进行处理
root@master:~# find /home/darren -type f -mtime +3 -exec ls -l {} \;
查找并删除文件,还有其他的希望以此类推,做到举一反三
root@master:~# find /home/darren-type f -mtime +3 -exec rm {} \;
总结
find命令有别于whereis、which、locate等,对于服务器负载较高的情况,建议不要使用该命令,该命令会对资源消耗比较大。还需要根据不同场景来选择不同的命令来完成目的。
参考:《Linux常用命令自学手册》