Linux命令:find

1.find命令:

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

2.用法: 

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。 

  -print: find命令将匹配的文件输出到标准输出。 

  -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' {  } \;,注意{   }和\;之间的空格。 

  -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

 

-name   按照文件名查找文件。

  find . -name "*.log"  在当前目录查找 以.log结尾的文件。

-perm   按照文件权限来查找文件。

  find /opt/soft/test/ -perm 777  查找/opt/soft/test/目录下 权限为 777的文件

-type  查找某一类型的文件,诸如:

  b - 块设备文件。

  d - 目录。

  c - 字符设备文件。

  p - 管道文件。

  l - 符号链接文件。

  f - 普通文件。

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。

  find . -size +1000c  查找当前目录大于1K的文件 

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

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

-cmin n   查找系统中最后N分钟被改变文件状态的文件

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

-mmin n   查找系统中最后N分钟被改变文件数据的文件

-mtime n  查找系统中最后n*24小时被改变文件数据的文件

   find -atime -2  查找48小时内修改过的文件 

3.exec:

-exec  参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。

{}   花括号代表前面find查找出来的文件名。

  find . -type f -exec ls -l {} \;  find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出。

  find . -name "*.log" -mtime +5 -ok rm {} \;  在目录中查找更改时间在n日以前的文件并删除它们,在删除之前先给出提示

  find . -name "*.log" -exec mv {} .. \;  查找文件移动到指定目录  

posted @ 2016-06-13 17:41  三行代码走天下  阅读(210)  评论(0编辑  收藏  举报