美文网首页
(一)find技巧

(一)find技巧

作者: 小慕先森 | 来源:发表于2017-08-23 22:47 被阅读0次

    语法:

    find [PATH] [option] [action]  
      
    # 与时间有关的参数:  
    -mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件;  
    -mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名;  
    -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;  
    -newer file : 列出比file还要新的文件名  
    # 例如:  
    find /root -mtime 0 # 在当前目录下查找今天之内有改动的文件  
      
    # 与用户或用户组名有关的参数:  
    -user name : 列出文件所有者为name的文件  
    -group name : 列出文件所属用户组为name的文件  
    -uid n : 列出文件所有者为用户ID为n的文件  
    -gid n : 列出文件所属用户组为用户组ID为n的文件  
    # 例如:  
    find /home/ljianhui -user ljianhui # 在目录/home/ljianhui中找出所有者为ljianhui的文件  
      
    # 与文件权限及名称有关的参数:  
    -name filename :找出文件名为filename的文件  
    -size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件  
    -tpye TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、  
                 目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p);  
    -perm mode :查找文件权限刚好等于mode的文件,mode用数字表示,如0755;  
    -perm -mode :查找文件权限必须要全部包括mode权限的文件,mode用数字表示  
    -perm +mode :查找文件权限包含任一mode的权限的文件,mode用数字表示  
    # 例如:  
    find / -name passwd # 查找文件名为passwd的文件  
    find . -perm 0755 # 查找当前目录中文件权限的0755的文件  
    find . -size +12k # 查找当前目录中大于12KB的文件,注意c表示byte  
    
    1. 想查看当前文件夹及子文件夹里有没有文件名为“abc”的文件

    find . -name abc

    . :表示当前目录

    -name:表示要根据名称查找

    2. 想查看当前文件夹及子文件夹里有没有”xyz”目录

    find . -type d -name xyz

    -type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)

    3. 想找出当前文件夹及子文件夹里所有后缀是”.txt”的文件

    find . -name “*.txt”

    4. 想查找当前目录及其子文件夹中“roc”用户自己的文件有哪些

    find . -user roc

    -user:用于设定所属用户的名称,此处可替换为-group,即所属用户组的名称

    5. 想查找当前文件夹及子文件夹里权限设定为755的所有文件

    find . -perm 755

    -perm:用于设定权限

    6. 想查找当前文件夹及子文件夹里的同时含有b字符和3字符的文件:用到正则表达式技术

    find . -regex ‘.b.3’

    -regex:表示使用正则表达式进行匹配。请注意,此命令会和“全路径”进行匹配,也就是说前面要加.*,因为输出结果中会有“./”符号。

    7. 如果想全部输出用find命令查找出的”*.abc”文件的内容

    find . -type f -name “*.abc” -exec cat {} ;

    -exec 表示由find找到的匹配项会作为“-exec后面设定的命令”的参数

    可以使用-ok代替-exec,这样对每个匹配项进行操作,都会要求用户确认(y为是,n为否)

    命令最后的{} ; 别忘了写,其中{}代表用find查找到的结果中的每一个查找项。

    8. 查找当前目录下在5分钟内被访问过的文件

    find . -amin -5

    访问过用amin,修改过用mmin,文件状态改变过用cmin

    精确到分钟的用amin,mmin,cmin,精确到天的用atime,mtime,ctime

    在5分钟之内的用-5,在5分钟以上的用+5

    9. 想查找当前目录及子目录下文件大小大于10M的所有文件

    find . -size +10000000c

    -size:表示文件大小,+表示大于某个数,-表示小于某个数。c表示单位是字节,你可以将c换成k,M,G。

    10. 上述所有的find命令都是查找当前目录及其子目录。如果不想深入到子目录中,而是只查找当前一层目录,则可以:

    find . -maxdepth 1 -name “*.c”

    相关文章

      网友评论

          本文标题:(一)find技巧

          本文链接:https://www.haomeiwen.com/subject/jvajdxtx.html