• 周六. 10 月 5th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

Linux C/C++编程之(五)常用命令之文件搜索命令

King Wang

1 月 3, 2022

文章目录

    • 一、最强大的搜索命令:find
      • 1)根据 文件或目录名称 搜索
      • 2)根据 文件大小 搜索
      • 3)根据 所有者和所属组 搜索
      • 4)根据 时间属性 搜索
      • 5)根据 文件类型或i节点 搜索
      • 6)组合条件 搜索
    • 二、在文件中搜寻字符串匹配的行并输出:grep

一、最强大的搜索命令:find

find命令是Linux系统中用来进行文件搜索用的最多的命令,功能特别强大。但是能搜索到的文件特别多,所以尽量少用find命令,就算要搜索也应该尽量的缩小范围,也不要在服务器使用高峰期进行文件搜索,因为搜索也是很占系统资源的。

  • 英文原意:
  • 命令所在路径:/bin/find
  • 执行权限:所有用户
  • 功能描述:进行各种花式文件搜索
  • 语法:
    • find 搜索范围 匹配条件

注意:Linux搜索和windows是有明显区别的,Linux严格区分文件大小写。

1)根据 文件或目录名称 搜索

语法:

  • find 搜索目录 -name或者-iname 搜索字符
  • -name和-iname的区别一个区分大小写,一个不区分大小写
find . -name "*.txt" (模糊搜索)

在这里插入图片描述
插播两个通配符:
在这里插入图片描述
在这里插入图片描述

2)根据 文件大小 搜索

语法:

  • 在根目录下查找大于 1024 的文件
find / -size +1024c
  • 这里 +n 表示大于,-n 表示小于,n 表示等于

c 表示字节,k表示千字节,M表示兆字节

在这里插入图片描述

3)根据 所有者和所属组 搜索

语法:

  • 在目录下查询所属组为 gxl 的文件
find ./ -group gxl
  • 在目录下查询所有者为 gxl 的文件
find ./ -user gxl

在这里插入图片描述

4)根据 时间属性 搜索

语法:

  • find 路径 选项 时间
  • -amin 按文件访问时间来查找文件
  • -cmin 按文件创建时间来查找文件
  • -mmin 按文件更改时间来查找文件
  • 时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟

例子:

  • 在目录下查找60分钟内被修改过属性的文件和目录
find ./ -mmin -60

在这里插入图片描述

5)根据 文件类型或i节点 搜索

语法:

  • -type 根据文件类型查找:f 表示文件,d 表示目录,l 表示软链接

例子:

  • 查找 ./ 目录下文件类型是目录的 find ./ -type d l f
    在这里插入图片描述

6)组合条件 搜索

这里有两个参数:

  • -a 表示两个条件同时满足(and)
  • -o 表示两个条件满足任意一个即可(or)

例子:

  • 查找/etc目录下大于80MB同时小于100MB的文件
find ./ -size +1024c -a -type d -mmin +100

在这里插入图片描述
不加也可以!
在这里插入图片描述

二、在文件中搜寻字符串匹配的行并输出:grep

  • 英文原意:
  • 命令所在路径:/bin/grep
    在这里插入图片描述
  • 执行权限:所有用户
  • 功能描述:在文件中搜寻字符串匹配的行并输出
  • 语法:
    • grep -iv 指定字符串 文件
    • -i 不区分大小写
    • -v 排除指定字符串

例子:

  • 查找文件中包含main字符串的行,并输出
grep -n main hello

在这里插入图片描述

发表回复