zoukankan      html  css  js  c++  java
  • linux命令:find详解

    Linux中find命令常见用法示例:

    find path -option [-print] [ -exec -ok command ] {} ;

    #-print 将查找到的文件输出到标准输出
    #-exec    command    {} ;       -----将查到的文件执行command操作,{} 和 ;之间有空格
    #-ok 和-exec相同,只不过在操作前要询用户
    -name    filename               #查找名为filename的文件
    -perm                         #按执行权限来查找
    -user     username              #按文件属主来查找
    -group groupname              #按组来查找
    -mtime    -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    -atime     -n +n                #按文件访问时间来查GIN: 0px">-perm                          #按执行权限来查找
    -user     username              #按文件属主来查找
    -group groupname              #按组来查找
    -mtime    -n +n                 #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    -atime     -n +n                #按文件访问时间来查找文件,-n指n天以内,+n指n天以前 
    -ctime     -n +n                #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
    -nogroup                      #查无有效属组的文件,即文件的属组在/etc/groups中不存在
    -nouser                       #查无有效属主的文件,即文件的属主在/etc/passwd中不存
    -newer    f1 !f2                找文件,-n指n天以内,+n指n天以前 
    -ctime     -n +n                #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
    -nogroup                      #查无有效属组的文件,即文件的属组在/etc/groups中不存在
    -nouser                       #查无有效属主的文件,即文件的属主在/etc/passwd中不存
    -newer    f1 !f2                #查更改时间比f1新但比f2旧的文件
    -type      b/d/c/p/l/f          #查是块设备、目录、字符设备、管道、符号链接、普通文件
    -size       n[c]                #查长度为n块[或n字节]的文件
    -depth                        #使查找在进入子目录前先行查找完本目录
    -fstype                       #查更改时间比f1新但比f2旧的文件
    -mount                        #查文件时不跨越文件系统mount点
    -follow                       #如果遇到符号链接文件,就跟踪链接所指的文件
    -cpio                         #对匹配的文件使用cpio命令,将他们备份到磁带设备中
    -prune                        #忽略某个目录

    1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名
    A) find    /tmp    -name    "*.h"    | xargs    -n50    grep SYSCALL_VECTOR
    B) grep    SYSCALL_VECTOR    /tmp/*.h | cut     -d':'    -f1| uniq > filename
    C) find    /tmp    -name "*.h"    -exec grep "SYSCALL_VECTOR"    {}    ; -print

    2)find / -name filename -exec rm -rf {} ;
         find / -name filename -ok rm -rf {} ;

    3)比如要查找磁盘中大于3M的文件:
    find . -size +3000k -exec ls -ld {} ;

    4)将find出来的东西拷到另一个地方
    find *.c -exec cp '{}' /tmp ';'
    如果有特殊文件,可以用cpio,也可以用这样的语法:
    find dir -name filename -print | cpio -pdv newdir

    6)查找2004-11-30 16:36:37时更改过的文件
    # A=`find ./ -name "*php"` |    ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37
    二、linux下find命令的用法1. 基本用法:
          find / -name 文件名
         find ver1.d ver2.d -name '*.c' -print    查找ver1.d,ver2.d *.c文件并打印
         find . -type d -print 从当前目录查找,仅查找目录,找到后,打印路径名。可用于打印目录结构。
    2. 无错误查找:
          find / -name access_log 2 >/dev/null
    3. 按尺寸查找:
          find / -size 1500c (查找1,500字节大小的文件,c表示字节)
          find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)    
          find / -size +1500c (查找小于1,500字节大小的文件,-表示小于)    
    4. 按时间:
          find / -amin n 最后n分钟 
          find / -atime n 最后n天
          find / -cmin n 最后n分钟改变状态
          find / -ctime n 最后n天改变状态
    5. 其它:
          find / -empty 空白文件、空白文件夹、没有子目录的文件夹
          find / -false 查找系统中总是错误的文件
          find / -fstype type 找存在于指定文件系统的文件,如type为ext2
          find / -gid n 组id为n的文件
          find / -group gname 组名为gname的文件
          find / -depth n 在某层指定目录中优先查找文件内容
          find / -maxdepth levels 在某个层次目录中按递减方式查找
    6. 逻辑
          -and 条件与 -or 条件或
    7. 查找字符串
          find . -name '*.html' -exec grep 'mailto:'{}

  • 相关阅读:
    5.对象创建型模式-原型PROTOTYPE
    4.对象创建型模式-工厂方法
    3.对象创建型模式-生成器
    一个小应用的dbcp和c3p0配置实例
    利用 java.lang.Runtime.addShutdownHook() 钩子程序,保证java程序安全退出
    初探maven插件机制
    【转载】Git push时重复输入用户名密码的问题
    【转载】 ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
    【转载】[Java]读取文件方法大全
    【原创】iframe与父页面之间,变量、方法互相调用
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/5719052.html
Copyright © 2011-2022 走看看