find命令的基本用法

 linux 中find 常用示例解析

find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]

   其实[-H] [-L] [-P] [-D debugopts] [-Olevel]这几个选项并不常用(至少在我的日常工作中,没    有用到过),上面的find命令的常用形式可以简化为
   find [path…] [expression]
   find 命令的参数:
        path:find命令查找文件的目录路径  例如:.表示当前路径,/表示根路径
        expression:expression 可以分为–“options[-print-exec-ok…]
        -options,find命令的常用选项,
        -print,find命令将匹配的文件输出到标准输出
        -exec, find命令对匹配的文件执行该参数所给出的shell命令,相应命令形为‘command’{}\

                 例如:find ./ -size 0 -exec rm {} \; 删除当前目录下文件大小为零的文件。

        -ok,和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在 执行每一个命令之前,都会给出提示,让用户来确定是否执行。 
                find . -name "*.conf"  -mtime +5 -ok rm {  } \; 在当前目录中查找所有文件名 以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示      
Find命令的常用选项和实例
         -name  按文件名字查找
                 例如:find /etc -name "filename"   在目录etc下查找文件名为filename的文件
         -perm  按照文件权限来查找文件
                 例如:find . -perm 755 -print 在当前目录中查找文件权限为755的文件
         -user   按照文件属主来查找文件
                 例如:find ~ -user test -print 在$HOME目录中查找属主为test的文件
         -group  按照文件属主来查找文件
                 例如:find /etc -group jere -print 在/etc 目录中查找属于jere用户组的文件
         -mtiem -n +n   按照文件的的更改时间来查找文件,-n表示文件更改是啊就距现在n天以内,                         +n 表示文件的更改时间距现在n天以前。
                 例如:find / -mtime -5 -print  在系统根目录下查找更改时间再5日内的文件
                       find /var/adrm -mtime +3 -print  在/var/adrm 下更改时间大于三天的文 件
         -nogroup   查找无有效所属组的文件,即该文件所属组在/etc/groups 中不存在
                 例如:find / -nogroup -print
         -nouser     查找无有效属主的文件,即在该文件的属主宰/etc/passwd 中不存在
                 例如:find / -nouser -print
         -newer file1 !file2    查找更改时间比文件file1新但是比文件file2旧的文件
         -type    查找某类型的文件,  诸如: b-块设备文件   d-目录   c-字符设备文件 p-管道 文件  l-符号链接文件  f-普通文件
                 例如:find /etc -type d -print  在/etc目录下的所有的目录
                       find . !-type d -pint  在当前目录下查找除目录以为的所有文件
         -size n:[c]   查找文件长度为n块的文件,带有c时表示文件长度以字节计
                  例如:find -size +1000000c -print  在当前目录下查找文件长度大于1M的文件
                        find /home/apache -size 100c -pint 在/home/apache/目录下查找文件长度恰好是100字节的文件
                        find . -size +10 -print 在当前目录中查找文件大小为10块的文件(一块512字节)
         -depth  在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
                  例如:find / -name ”nginx“ -depth -print   他将首先匹配所有的文件,然后再进入子目录查找
         -mount  在查找文件时不跨越文件系统mount点
                  例如:find 。 -name  ”tst“ -mount -print  从当前目录中开始查找位于本文件系统上的tst文件,不跨越文件系统
         -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
         

原创文章,作者:zs5599,如若转载,请注明出处:http://www.178linux.com/15938