Linux--find和grep

作者: zlcook | 来源:发表于2018-09-02 15:57 被阅读20次

    1.根据文件属性查看-find

    • find 搜索路径 参数 搜索内容
    • 文件名
      • find 查找的目录 -name "查找文件名"
      在当前目录(包括其子目录)查看以hell开头的文件或目录
      find . -name "hell*"
      
      查看5个字符,其中前三个字符为hell
      find . -name "hell?"
    
    • 文件类型
      • find 查找目录 -type 文件类型
        • 普通文件: f
        • 目录: d
        • 符合链接: l
        • 管道: p
        • 套接字: s
        • 字符设备: c
        • 块设备: b
     查看类型为目录的文件
    find ./ -type d
    
    • 文件大小
      • find 查找目录 -size -10M
      • +:大于, +10k
      • -:小于, -10k
      • 等于10k:10k
      • 单位:
        • k-小于
        • M-大写
     查看大于5k小于10k的文件
    find . -size +5k -size -10k
    
    • 按日期
      • 创建日期:-ctime -n/+n
        • -n:n天以内创建的文件
        • +n:n天以外
      • 修改日期:-mtime -n/+n
      • 访问日期:-atime -n/+n
    查找2天以内创建的文件
    find . -ctime -2
    查看2天以外修改的文件
    find . -mtime +2
    
    • 深度
      • -maxdepth n(层数)
      • -mindepth n(层数)
     在当前目录3层以内查找文件名为cc的文件或目录
    find /home/ -maxdepth 3 -name "cc"
     在当前目录3层以外查找名为cc的文件或目录
    find /home/ -maxdepth 3 -name "cc"
    
    • 高级查找
      • find ./ -type -exec shell命令 {} \;
      • find ./ -type -ok shell命令 {} \; 相对于-exec更安全
      • find ./ -type d | xargs shell命令 效率高
    例如:查找指定目录,并列出指定目录中文件的详细信息
    find ./ -type d -exec ls -l {} \;
    
    find ./ -type d -ok ls -l {} \;
    
    find ./ -type d | xargs ls -l ;
    
    shell命令为ls -l
    

    2.根据文件内容查看-grep

    • grep -r(有子目录会迭代查询) “查找内容” 搜索的路径
    • grep -r “查找内容” 搜索的路径 -n(显示行号)
    搜索~目录中带有main字符串的文件,并显示行号
    grep -r "main" ~ -n
    

    相关文章

      网友评论

        本文标题:Linux--find和grep

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