Linux--find和grep

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
    原文作者:zlcook
    原文地址: https://www.jianshu.com/p/836704666b0d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞