美文网首页
find:查找目录下的文件

find:查找目录下的文件

作者: August________ | 来源:发表于2019-12-09 21:39 被阅读0次

    find:查找目录下的文件

    功能说明

    • 查找目录下的文件,同时调用其他命令执行相应的操作

    语法格式

    find [-H] [-L] [-P] [-D debuggopts] [-Olevel] [Pathname] [expression]
    

    选项说明

    • Option模块
    参数选项 解释说明
    -depth 从指定目录的最深层目录查找
    -maxdepth levels 查找最后目录级数
    -regextype type 修改正则表达式的模式
    • Tests模块
    参数选项 解释说明
    -mtime[-n,n,+n] 按照文件的修改时间来查找文件
    -atime[-n,n,+n] 按照文件的访问时间来查找文件
    -ctime[-n,n,+n] 按照文件的状态改变时间来查找文件
    -group 按照文件的所属组来查找文件
    -name 按照文件名查找文件
    -newer 查找更改时间比指定文件新的文件
    -nogroup 查找没有有效用户组的文件
    -nouser 查找没有有效主的文件
    -perm 按照文件权限来查找文件
    -regex 接正则表达式
    -iregex 接正则表达式,不区分大小写
    -size 查找文件为长度为n块的文件
    -user 按照文件属猪来查找文件
    -type b(块设备文件)
    c(字符设备文件)
    d(目录)
    p(管道文件)
    l(字符链接文件)
    f(普通文件)
    s(socket文件)
    D(door)
    • Actions模块
    -delete 将查找的文件删除
    -exec 对匹配的文件执行该参数所给出的shell命令
    -ok 与-exec作业相同
    -prune 是find的命令不在当前指定目录查找
    -print 将匹配的文件输出到标准输出

    使用范例

    • 查找5天以前以.log结尾的文件
    #find /var/log/ -mtime +5 -name '*.log'
    /var/log/anaconda/anaconda.log
    /var/log/anaconda/X.log
    /var/log/anaconda/program.log
    /var/log/anaconda/packaging.log
    /var/log/anaconda/storage.log
    
    
    • ! 取反查找
    #ls
    1.txt  abc
    
    [root@lhf2 17:19:05 /root/script]
    #find . -type f
    ./1.txt
    
    [root@lhf2 17:19:08 /root/script]
    #find . ! -type f
    .
    ./abc
    
    
    • 按照权限查找文件
    #ls -ld abc/
    drwxr-xr-x. 2 root root 6 Dec  9 17:18 abc/
    
    [root@lhf2 17:20:06 /root/script]
    #find . -perm 755
    .
    ./ab
    
    • 按照文件大小查找文件
    #find . -size -3k
    .
    ./1.txt
    ./abc
    
    
    • 在find命令的-exec选项执行
    #find . -type f -exec ls -l {} \;
    -rw-r--r--. 1 root root 4 Dec  9 17:15 ./1.txt
    
    
    • 使用-exec 安装模式OK
    #find /var/log/ -name "*.log" -ok rm {} \;
    < rm ... /var/log/tuned/tuned.log > ? 
    < rm ... /var/log/audit/audit.log > ? 
    
    
    • 删除文件
    #find /root/script/ -type f -name "*.txt" |xargs rm -f
    #find /root/script/ -type f -name "*.txt" -exec rm {} \;
    
    

    相关文章

      网友评论

          本文标题:find:查找目录下的文件

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