系统总结一波Linux下find命令,查找就是这么清晰

介绍

Linux系统中的 find 命令在查找文件时非常有用而且方便。它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。
find命令的基本语法如下
find [路径] [选项] [操作]

常用选项

这里只演示一下常用的选项,更多用法可以查看帮助文档
man find

选项含义
-name根据文件名进行查找
-perm根据文件权限进行查找
-prune排除 查找目录
-user根据文件属主查找
-group根据文件属组查找
-mtime -n | +n根据文件更改时间查找
-type按照文件类型查找
-size -n | +n按文件大小查找
-mindepth n从n级子目录开始搜索
-maxdepth n最后搜索到n级子目录
-type选项
类型解释
f普通文件
d目录
c字符设备文件
b块设备文件
l链接文件
p管道文件
搜索当前目录下的文件
find . -type f
搜索当前目录下的链接文件
find . -type l
 
-size选项
类型解释
-n大小小于n的文件
+n大小大于n的文件
n大小等于n的文件
常用的选项单位如下
单位解释
bfor 512-byte blocks (this is the default if no suffix is used)
cfor bytes
wfor two-byte words
kfor Kilobytes (units of 1024 bytes)
Mfor Megabytes (units of 1048576 bytes)
Gfor Gigabytes (units of 1073741824 bytes)
查找/etc目录下小于1000字节的文件
find /etc -size -1000c
查找/etc目录下大于1M的文件
find /etc -size +1M
 
-mtime选项
 
类型解释
-nn天以内修改的文件
+nn天以外修改的文件
n正好n天修改的文件
查找etc目录下5天之内修改且以conf结尾的文件
find /etc -mtime -5 -name ‘*.conf’
查找etc目录下10天之前修改且属主为root的文件
find /etc -mtime +10 -user root
-mmin选项
类型解释
-nn分钟以内修改的文件
+nn分钟以外修改的文件
查找/etc目录下30分钟之前修改的文件
find /etc/ -mmin +30
查找/etc目录下30分钟之内修改的目录
find /etc -mmin -30 -type d
-mindepth选项
表示从n级子目录开始搜索
假如/root/dir1的文件目录结构如下
tree /root/dir1
# 输出如下
/root/dir1
├── dir2
│   └── dir3
│       ├── dir4
│       │   └── file4
│       └── file3
└── file2
3 directories, 3 files
在/root/level1下的3级子目录开始搜索
find /root/dir1 -mindepth 3
# 输出如下
/root/dir1/dir2/dir3/file3
/root/dir1/dir2/dir3/dir4
/root/dir1/dir2/dir3/dir4/file4
-maxdepth选项
表示最多搜索到n级子目录
find /root/dir1 -maxdepth 2
# 输出如下
/root/dir1
/root/dir1/dir2
/root/dir1/dir2/dir3
/root/dir1/file2

操作

-print 打印输出(默认输出,不加也行)
-exec 对搜索到的文件执行特定的操作,格式为-exec command {} ;
搜索/etc下的文件(非目录),文件名以conf结尾,且大于10k,然后将其删除
find /etc -type f -name ‘*.conf’ -size +10k -exec rm -f {} ;
将/var/log目录下以log结尾的文件,且更改时间在7天以上的删除
find /var/log -name ‘*.log’ -mtime +7 -exec rm -rf {} ;
搜索/etc下的文件(非目录),文件名以conf结尾,且大于10k,将其复制到/root/conf目录下
find /etc -type f  -name ‘*.conf’ -size +10k -exec cp {} /root/conf ;
本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 系统总结一波Linux下find命令,查找就是这么清晰

欢迎加入「极客文库」,成为原创作者从这里开始!

立即加入 了解更多