linux命令之find查找命令详解
一、根据文件名查找(-name)
find / -name filename
find / -iname filename #-i 忽略字母大小写查找
find / -name *.txt #后面接其他命令时*.txt要加“”或者''
二、根据文件大小查找(-size)
find /etc -size +5M #大于5M
find /etc -size -5M #小于5M
find /etc -size 5M #等于5M
升级用法 -a :and
find /etc -size +1M -o -size -3M #查找etc目录下大于1M小于3M的文件
find /etc -size -3M -a -name '*.txt' #查找etc目录下小于3M并且名字是.txt的文件
升级用法 -o :or
find /etc -size -5M -o -size +10M #查找etc目录下小于5M的文件或者大于10M的文件
三、按时间查找(-*time)
-atime=access访问时间 #time默认为天
-mtime=modify改变时间
-ctime=change修改时间
-amin #分钟
-mmin
-cmin
find / -mtime +5 #查找根目录下修改时间为5天之前的文件
find ./ -atime +3 #查找当前目录下访问时间为1天之前的文件
find . -mtime -3 #查找当前目录下修改时间为3天以内的文件
find /etc -mmin +10 #查找etc目录下修改时间为10分钟之前的文件
find /etc -amin -5 #查找etc目录下访问时间为5分钟以内的文件
四、根据文件类型查找(-type)
常用文件类型:
f 普通文件 d 目录 b 块设备 l 链接
find /etc -type f #查找etc目录下的所有普通文件
find / -type d #查找根目录下的所有目录
find /dev -type b #查找dev目录下所有的块设备
find /etc -type l #查找etc目录下所有的软链接
find /dev -type b -name 'sd*' #查找dev下的名字以sd开头的块设备文件
五、根据文件权限查找(-perm)
find / -perm 755 #查找根目录下所有权限为755的文件
六、找到文件后处理的动作(actions)
find /etc -name "ifconf*" -exec cp -rf {} /tmp \; ##exec命令对之前查找出来的文件做进一步操作----- 查找带ifcfg开头的文件复制到tmp下
find 使用 xargs
touch /file{1..20}.txt
find / -name "filel*" | xargs -i cp {} /etc/ #xargs参数传递 将文件找到后删除处理