首页 > 其他分享 >五、文件搜索命令

五、文件搜索命令

时间:2023-09-18 21:26:33浏览次数:35  
标签:文件 命令 目录 etc 查找 搜索 type find

5.1 查找文件:find命令

        Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。find 命令有非常大的灵活性,可以向其指定丰富的搜索条件(如文件权限、属主、属组、文件类型、日期和大小等)来定位系统中的文件和目录。此外,find 还支持对搜索到的结果进行多种类型的命令操作。
find [路径] [选项] [操作];


1.选项:

    tips:* 匹配任意字符,?匹配单个字符

$ find /etc -name *init*
在目录/etc中查找文件名包含init
$ find /etc -name init???
在目录/etc中查找文件名init开头并有3个字符的
$ find /etc -name init*
在目录/etc中查找文件名init开头的

  • -name      根据文件名查找,文件名区分大小写;若查找以txt为结尾的,用 ' *.txt '  

  • -iname       根据文件名查找,文件名不区分大小写;

  •  -user  查找文件所属用户为 zhangsan 的所有文件,例如:find . -user zhangsan
  • -group    查找文件所属组为 dev 的所有文件,例如:find . -group dev
  • -type  根据类型查找:如下

          f   文件        find . -type f

          d  目录        find . -type d

          c  字符设备文件    find . -type c

          b  块设备文件     find . -type b

          l   链接文件      find . -type l

          p  管道文件      find . -type p

  • -size  根据文件大小查询

          -n  小于 大小为 n 的文件

          +n  大于 大小为 n 的文件

          举例1:查找 /ect 目录下,小于 10000 字节的文件。 find /etc -size -10000c

          举例2:查找 /etc 目录下,大于 1M 的文件。find /etc -size +1M

  • -mtime  

          -n  n 天以内修改的文件。

          +n  n 天以外修改的文件。

          n   正好 n天 修改的文件

          举例1: 查询 /etc 目录下,5天以内修改 且以 conf 结尾的文件。 find /etc -mtime -5 -name '*.conf'

          举例2: 查询 /etc 目录下,10天之前修改,且属于 yangyang 的文件。  find /etc -mtime +10 -user yangyang

  • -mmin  

          -n  n 分钟以内修改过的文件

          +n  n 分钟之前修改过的文件

          举例1: 查询 /etc 目录下 30分钟 之前修改过的文件。   find /etc -mmin +30

          举例1: 查询 /etc 目录下 30分钟 之内修改过的目录。   find /etc -mmin -30 -type d

  •  -mindepth n  从第 n 级目录开始搜索

          举例:从 /etc 的第三级子目录开始搜索。 find /etc -mindepth 3

  •  -maxdepth n  表示至多搜索到第 n-1 级子目录。

          举例1: 在 /etc 中搜索符合条件的文件,但最多搜索到 2级 子目录。  find /etc -maxdepth 3 -name '*.conf'

          举例2: find /etc -type f -name '*.conf' -size +10k -maxdepthc 2

2.操作查找到的文件 

  •   -print  打印输出。 默认的选项,即打印出找到的结果。
  •   -exec  对搜索到的文件执行特定的操作,固定的格式为:-exec 'commond' {} \; 注意:{} 表示查询的结果。

      举例1: 搜索 /etc 目录下的文件(非目录),文件以 conf 结尾,且大于 10k,然后将其删除。

        find /etc -type f -name '*.conf' -size +10k -exec rm -f {} \;

      举例2: 将 /data/log/ 目录下以 .log 结尾的文件,且更改时间在 7 天以上的删除。

        find /data/log -name '*.log' -mtime +7 -exec rm -f \;

      举例3: 搜索条件同 例1 一样,但是不删除,只是将其复制到 /root/conf 目录下

        find /etc -type f -name '*.conf' -size +10k -exec cp {} /root/conf/ \;

  •   -ok  和 -exec 的功能一样,只是每次操作都会给用户提示。 

 

5.2 文件资料库查找:locate命令

locate [文件名];

 5.3 查看命令位置:which命令

Linux中 which 命令可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令;

 5.4 查看文件位置: whereis命令

 

whereis指令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。
如果省略参数,则返回所有信息。
和find相比,whereis指令查找的速度非常的快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis指令,会从数据库中查找数据,而不是像find命令那样通过遍历硬盘来查找,效率自然很高。
但是该数据库文件并不是实时更新,默认情况下一星期更新一次,所以有时会找到已经删除的数据或者刚刚建立的文件却无法查找到;

 

 

5.5 文本搜索:grep命令

在文件中搜寻字串匹配的行并输出;

grep [指定字串] [路径]

 参数:-i:不区分大小写;

            -v:排除指定字串;

 

例:去除以#开头的所有信息,^表示以。。。开头;

 

标签:文件,命令,目录,etc,查找,搜索,type,find
From: https://www.cnblogs.com/hello-205112/p/17703143.html

相关文章

  • chmod递归设置文件夹和文件权限的正确用法
    如果要分别设置文件夹和文件的权限,建议先设置全部目录和文件为600或644首先cd到你要设置权限的文件夹第1种情况:只有自己能读写,其他人无权访问(隐私文件)的话,就是用600chmod-R600.chmod-Ru+X. 第2种情况:只有自己能读写,其他人只读(共享文件)的话,就是用644chmod-R644......
  • nginx-目录、常用命令
    /etc/nginx/     /etc/nginx目录是nginx服务器的默认配置根,可以从中找到指示nginx如何运行的配置文件/ect/nginx/nginx.conf     /etc/nginx/nginx.conf文件是NGINX服务使用的默认配置入口点。此配置文件能够为worker进程、调优、日志记录、动态模块的加......
  • Shell多个命令间隔符号;、&、&&、| 和 || 区别
    1、&command1&command2&command3#三个命令同时执行用&连接的多个符号将同时执行,不管命令是否执行成功单个的与符号通常可以发现在一个bash命令的行尾:sleep2&echomi 其作用是令该命令转到后台执行。对于这样的命令,系统会创建一个sub-shell来运行这个......
  • Linux 对隐藏文件的操作
    1、linux系统下隐藏文件(.xxx)的拷贝和删除操作2、拷贝操作:(1)一般文件操作:cp-rfxxx/*yyy/(2)隐藏文件操作:cp-efxxx/.yyy/(普通文件一并拷贝)3、删除操作(1)一般文件操作:rm-rfxxx/*(2)隐藏文件操作:rm-rfxxx/.* 4、演示截图,从src文件夹拷贝隐藏文件到dis......
  • Cmake减少输出可执行文件的大小
    1、使用Release模式set(CMAKE_C_FLAGS_RELEASE"${CMAKE_C_FLAGS_RELEASE}-s")set(CMAKE_BUILD_TYPE"RELEASE") 2、使用strip命令删除调试信息等set(CMAKE_STRIP"strip")add_custom_command(TARGET${PROJECT_NAME}POST_BUILDCOMMAND${C......
  • 每天一个linux命令(32):gzip命令
    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中......
  • 认识谷歌搜索运算符
    Google搜索支持多种搜索运算符,您可以使用这些搜索运算符优化或定位搜索。此外,以下搜索运算符还能在调试网站时发挥作用。例如,site: 搜索运算符可用于监控网站上的垃圾评论,而图片搜索运算符 imagesize: 可用于查找网站上的小图片。下表列出了可用于在Google搜索结果中检查网页......
  • 创建第一个C语言文件
    创建第一个C语言文件新建=>项目=>空项目创建.c文件我们学的是C语言,c++就不写了调整字体快捷键:Ctlr+鼠标滚轮通过工具调整工具库与main()函数打开一个工具库#include<stdio.h>主函数程序的入口,有且只有一个,必须有一个#include<stdio.h>//打开工具库......
  • 谷歌的site: 搜索运算符
    site: 查询是一个搜索运算符,您可以使用它请求来自运算符中指定的特定网域、网址或网址前缀的搜索结果。例如:site: 示例site:example.com仅显示来自 example.com 网域(www.example.com 和 recipes.example.com)的结果。site:https://www.example.com/ramen tsukemen显示包含以......
  • Django如何http接收+返回docx文件,文件名中文
     fromdjango.utils.encodingimportescape_uri_pathfromdjango.httpimportHttpResponse view中函数:filepath="文件路径"withopen(filepath,'rb')asf:content=f.read()response=HttpResponse(conte......