Linux find命令详解
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件linux命令大全,功能很强大
命令选项: -name 按照文件名查找文件。 -perm 按照文件权限来查找文件。 -user 按照文件属主来查找文件。 -group 按照文件所属的组来查找文件。 -mtime -n +n 按照文件的更改时间来查找文件 【-7 7天之内 +7 7天前】 -nogroup 查找无效属组的文件,即该文件所属的组在/etc/groups中不存在。 -nouser 查找无效属主的文件,即该文件的属主在/etc/passwd中不存在。 -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。 -type 查找某一类型的文件,诸如: b - 块设备文件。 d - 目录。 c - 字符设备文件。 p - 管道文件。 l - 符号链接文件。 f - 普通文件。 -size n:[c] 查找文件长度为n块的文件,带有c表示文件长度以字节计。 -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。 -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。 另外,下面三个的区别: -amin n 查找系统中最后N分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后N分钟被改变文件状态的文件 -ctime n 查找系统中最后n*24小时被改变文件状态的文件 -mmin n 查找系统中最后N分钟被改变文件数据的文件 -mtime n 查找系统中最后n*24小时被改变文件数据的文件
查找普通文件/目录
find /home/omd -type f (普通文件) find /home/omd -type d (查询目录)
只显示1级目录文件且过滤自身
find ./ -maxdepth 1 -type d ! -name "hhh"
查找一天内被访问过(access)的文件
find /home/omd/ -atime -1 -type f
查询inode相同的文件
find / -inum inode数字
除了某个文件以为,其余的均删除
find /home/omd/ -type f ! -name h.txt | xargs rm –f ls | grep -v "h.txt" |xargs rm -rf (与上面类似,删除除了某个文件外的所有文件)
删除目录下所有文件
find /tmp/ -type f -exec rm -rf {} \; find /tmp/ -type f | xargs rm -rf
查看当前路径下所有文件的信息:
find /tmp/ -type f ! -name a |xargs rm –rf find ./ -type f -exec file {} \;
查找指定时间内修改过的文件
# 当前路径下访问文件超过2分钟文件 find ./ -amin +2 # 当前路径下访问文件刚好2分钟的文件 find ./ -amin 2 find ./ -cmin +2 find ./ -mmin +2 find ./ -mtime +2 find ./ -ctime +2 find ./ -mtime +2 find ./ -ctime +2
上一个教程:php中如何执行linux命令详解
下一个教程:Linux chmod命令详解