linux-find、grep和xargs指令

1.find命令

  • 按文件名查询:使用参数 -name
    • 命令:find 路径 -name “文件名”
    • 示例:find /home -name "*.c"
  • 按文件类型查询:使用参数 -type (命令:find 路径 -type 类型)
    • 普通文件类型用f表示而不是 -
    • d -> 目录
    • l -> 符号链接
    • b -> 块设备文件
    • c -> 字符设备文件
    • s -> socket文件
    • p -> 管道文件
  • 按文件大小查询:使用参数 -size (命令:find 路径 -size 范围)
    • 范围
    • 大于:+表示 – +100k
    • 小于:-表示 – -100k
    • 等于: 不需要添加符号 – 100k
    • 大小
    • M 必须大写(10M)
    • k 必须小写(20k)
    • c 表示字节数
    • 例子: 查询目录为家目录
      • 等于100k的文件: find ~/ -size 100k
      • 大于100k的文件: find ~/ -size +100k
      • 大于50k, 小于100k的文件: find ~/ -size +50k -size -100k
  • 按文件日期
  • 创建日期:-ctime -n/+ n
    • -n: n天以内
    • +n: n天以外
  • 修改日期:-mtime -n/+n
  • 访问日期:-atime -n/+n
  • 按深度
    • -maxdepth n(层数)
    • 搜索n层以下的目录, 搜索的层数不超过n层
    • -mindepth n(层数)
    • 搜搜n层以上的目录,搜索的层数不能小于n层
  • 高级查找(查找指定目录下所有目录,并列出目录中文件详细信息)
    • find ./ -type d -exec shell命令 {} \;
    • 例:find ./ -type d -exec ls -l {} \;
    • find ./ -type d -ok shell命令 {} \;
    • 例:find ./ -type d -ok ls -l {} \;
    • find ./ -type d | xargs shell命令
    • 例:find ./ -type d | xargs ls -l
    • 尽量使用find ./ -type d | xargs ls -l,因为find ./ -type d -exec shell命令 {} \;是放到缓存后再操作,当文件较多时比较费时间。

1.1 find … -exec … {} ; 解释

在这里插入图片描述

1.2 find … -ok … {} ; 解释

原理思想是和find ... -exec ... {} \;一致,唯一的区别就-ok是一个一个提示该文件是否要操作对应的指令,因此ok比较安全, 特别是在执行rm删除文件的时候.
在这里插入图片描述

2.grep命令

  • grep -r(有目录) “查找的内容” 搜索的路径
    • -r: 若是目录, 则可以递归搜索
    • -n:可以显示该查找内容所在的行号
    • -i:可以忽略大小写进行查找
    • -v:不显示含有某字符串
  • 搜索当前目录下包含hello world字符串的文件
    • grep -r -n “hello world” ./ ------显示行号
    • grep -r -i -n “HELLO world” ./ -------忽略大小小查找

3.find和grep命令结合使用

  • 先使用find命令查找文件, 然后使用grep命令查找哪些文件包含某个字符串
    • find . -name “*.c” | xargs grep -n “main”

4.xargs命令详解,xargs与管道的区别

巨人肩膀
- xargs命令详解,xargs与管道的区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值