一:find简介

Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限。 在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

二:find具体用法

 1.find命令格式

   find pathname -options [-print -exec -ok ..]

 2.命令功能:

   在文件系统中找到pathname并作出相应的处理

 3.命令参数:

   pathname:find查找的目录路径'.'代表当前目录 '/'代表根目录

   -print:将匹配到的内容打印出来

   -exec:对匹配到的内容做进一步处理(shell命令);命令形式:'command'{} \;注意{} \之间的空格

   -ok:类似于-exec但是每一步操作会给出相应的提示,让用户确定是否执行

 4.命令选项:

   -name:按照文件名查找

   -perm:按照文件权限查找

   -user:按文件属主查找

   -group:按文件属组查找

   -mtime -n +n:按文件更改时间查找;-n表示文件修改时间距现在n天之内,+n表示文件修改时间在现在n天之前;

   -nogroup:查找没有属组的文件

   -nouser:查找没有属主的文件

   -newer file1 ! file2:查找更改时间比file1新且比file2旧的文件

   -type:查找某一类型的文件,支持一下几个选项:

         b 块设备文件

         d 目录文件

         c 字符设备文件

         p 管道文件

         l 符号连接文件

         f 普通文件

   -size n:将文件长度按块计算查找;

   -size nc:将文件长度按照字节计算查找

   -fstype:按照文件系统类型查找

   -mount:在查找文件时不跨越文件系统挂载点

   -follow:如果查找过程中遇到符号链接文件,则查找到符号链接指向的地方

   -cpio:对匹配到的文件使用cpio命令,备份文件到磁带设备中。

   -amin n:查找系统最后n分钟被访问的文件

   -atime n:查找系统最后n*24小时被访问的文件

   -cmin  n:查找系统最后n分钟被修改状态的文件

   -ctime n:查找系统最后n*24小时被修改状态的文件

   -mmin  n:查找系统最后n分钟被修改文件内容的文件

   -mtime n:查找系统最后n*24小时被修改文件内容的文件

三:find示例:

查找系统最近一小时被访问的文件,打印出来,并在每一行加上一段话;

find用法总结_第1张图片

查找系统当前目录下文件大小大于16M的文件的详细信息

find总是和xargs结合起来使用,因此一定要熟悉xargs的用法,关于xargs的用法以后会记录;