搜索文件_文件搜索 - CSDN
精华内容
参与话题
  • Linux下文件搜索查找、查看命令

    万次阅读 多人点赞 2018-10-12 15:03:45
    Linux下文件搜索、查找、查看命令 1、最强大的搜索命令:find ...2、在文件资料中查找文件:locate  3、搜索命令所在的目录及别名信息:which  4、搜索命令所在的目录及帮助文档路径:whereis 5、在文件...

    Linux下文件搜索、查找、查看命令
    1、最强大的搜索命令:find 查找各种文件的命令 
    2、在文件资料中查找文件:locate  
    3、搜索命令所在的目录及别名信息:which 
    4、搜索命令所在的目录及帮助文档路径:whereis
    5、在文件中搜寻字符串匹配的行并输出:grep
    6、分页显示一个文件或任何输出结果:more
    7、分页显示一个文件并且可以回头:less
    8、指定显示前多少行文件内容:head
    9、指定显示文件后多少行内容:tail
    10、查看一个文件:cat
    11、查看文件内容多少字符多少行多少字节:wc
    12、排序文件内容:sort

    1、最强大的搜索命令:find 查找各种文件的命令

    一、根据 文件或目录名称 搜索
    find 【搜索目录】【-name或者-iname】【搜索字符】:-name和-iname的区别一个区分大小写,一个不区分大小写
    eg:在/etc 目录下搜索名字为init的文件或目录
    ①、find /etc -name init (精准搜索,名字必须为 init 才能搜索的到)
    ②、find /etc -iname init (精准搜索,名字必须为 init或者有字母大写也能搜索的到)
    ③、find /etc -name *init (模糊搜索,以 init 结尾的文件或目录名)
    ④、find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___)
    二、根据 文件大小 搜索
    eg:在根目录下查找大于 100M 的文件
    find / -size +204800
    这里 +n 表示大于,-n 表示小于,n 表示等于
    1 数据块 == 512 字节 0.5KB,也就是1KB等于2数据块
    100MB == 102400KB
    204800数据块
    三、根据 所有者和所属组 搜索
    ①、在home目录下查询所属组为 root 的文件
        find /home -group root
    ②、在home目录下查询所有者为 root 的文件
        find /home -user root
    四、根据 时间属性 搜索
    find 【路径】【选项】【时间】
    选项有下面三种:-amin 访问时间
             -cmin 文件属性被更改
             -mmin 文件内容被修改
    时间:+n,-n,n分别表示超过n分钟,n分钟以内和n分钟
    eg:在 /etc 目录下查找5 分钟内被修改过属性的文件和目录
        find /etc -cmin -5
    五、根据 文件类型或i节点 搜索
     -type 根据文件类型查找
     f表示文件,d表示目录,l表示软链接
    eg:查找 /home 目录下文件类型是目录的
    find /home -type d
      -inum 根据i节点查找
    eg:查找 /tmp 目录下i节点为400342的文件或目录
      find /tmp -inum 400342
    六、组合条件 搜索  
      这里有两个参数:
      ①、-a 表示两个条件同时满足(and)
      ②、-o 表示两个条件满足任意一个即可(or)
      范例:查找/etc目录下大于80MB同时小于100MB的文件
      find /etc -size +163840 -a -size -204800

    2、在文件资料中查找文件:locate

    语法:locate【文件名】 -i 不区分大小写
    注意:这里和 find 命令是有区别的,find是全盘检索,而locate 是在文件资料库中进行搜索。所以locate命令的执行要比find命令执行速度快很多。但是这里有个问题,文件资料库是需要不断更新的。我们新创建的文件如果不更新 文件资料库,使用 locate 是查找不到的。
    updatedb 手动更新资料库,但是对于/tmp目录下的新建文件,是更新不到文件资料库的,因为/tmp目录不属于文件资料库的收录范围。
    eg:locate hcf
    在这里插入图片描述

    3、搜索命令所在的目录及别名信息:which

    功能描述:搜索命令所在的目录及别名信息
     语法:which【命令】
     eg:which ls
     在这里插入图片描述

    4、搜索命令所在的目录及帮助文档路径:whereis**

    功能描述:搜索命令所在的目录及帮助文档路径
     语法:whereis【命令】
     eg:whereis ls
     在这里插入图片描述

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

    功能描述:在文件中搜寻字符串匹配的行并输出
     语法:grep -iv 【指定字符串】【文件】
            -i 不区分大小写
            -v 排除指定字符串
     eg:查找 /root/install.log 文件中包含 mysql 字符串的行,并输出
        grep mysql /root/install.log
    本搜索工具,根据用户指定的模式,对目标文件逐行进行匹配检查,打印匹配到的行
    grep是在文件中搜索匹配的字符串,是在文件中进行内容搜索,这个命令后面用到的比较多

    6、分页显示一个文件或任何输出结果:more

    描述:
    分页显示一个文件或任何输出结果
    用于查看纯文本文件(较长的)格式
    格式:
    more[选项] 文件

    7、分页显示一个文件并且可以回头:less

    less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

    8、显示前几行文件内容:head

    head[必要参数][选择参数][文件]
    用于显示指定文件开始多少行内容
    命令参数:
    -n 10 显示前10行
    -n -10 正常输出但不显示最后的10行
    eg:显示new.txt的前两行内容
    head -n 2 new.txt
    head -2 new.txt

    9、指定显示文件后多少行内容:tail

    tail[必要参数][选择参数][文件]
    用于显示指定文件末尾多少行内容
    命令参数:
    -n 10 显示后面10行
    -f 持续刷新显示的内容
    eg:显示new.txt的末尾两行内容
    tail -n 2 new.txt
    tail -2 new.txt
    eg:指定从第二行开始显示
    tail -n +2 new.txt

    10、查看一个文件:cat

    描述:一次显示整个文件内容
    cat 命令 用于查看纯文本文件(较短)
     cat [选项] [文件]…
    在这里插入图片描述

    11、查看文件内容多少字符多少行多少字节:wc

    描述:wc 命令默认情况下会打印换行符数、单词数和字符数。
     用法:wc [选项] [文件]
    在这里插入图片描述

    12、排序文件内容:sort

    用法:sort [选项] [文件]
     在这里插入图片描述
    eg:sort -b h.txt

    展开全文
  • Linux 搜索文件

    千次阅读 2018-06-17 22:09:57
    命令格式:whereis [选项] 文件名 常用选项:-b只查找二进制文件-m只查找说明文件-s只查找原始代码文件-B<目录>只在设置的目录下查找二进制文件-M<目录>只在设置的目录下查找说明文件-...

    【whereis 命令】

    1.命令格式:whereis [选项] 文件名

        常用选项:

    -b
    只查找二进制文件
    -m
    只查找说明文件
    -s
    只查找原始代码文件
    -B<目录>
    只在设置的目录下查找二进制文件
    -M<目录>
    只在设置的目录下查找说明文件
    -S<目录>
    只在设置的目录下查找原始代码文件
    -f 
    不显示文件名前的路径名称
    -u
    查找不包含指定类型的文件

    2.用途:只能用于程序名的搜索,而且只搜索二进制文件(-b)、man 说明文件(-m)、源代码文件(-s),若省略参数,则返回所有信息。

    3.特点:简单快速

    【which 命令】

    1.命令格式:which [选项] 文件名

        常用选项:

    -n<文件名长度>
    制定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
    -p<文件名长度>与-n参数相同,但此处的<文件名长度>包含了文件的路径
    -w指定输出时栏位的宽度


    2.用途:用于查找并显示给定命令的绝对路径,只从环境变量 PATH 指定的路径中搜索命令,通常使用 which 来确定是否安装了某个指定的软件。

    3.特点:简单精确

    【locate 命令】

    1.命令格式:locate [选项] 查找字符串(要查找的文件名中含有的字符串)

        常用选项:

    -c
    只统计数目
    -i 可以忽略大小写进行查找
    -b
    只查找二进制文件
    -m只查找说明文件
    -s只查找原始代码文件
    -d<目录> 或 --database=<目录>指定数据库所在的目录
    -u更新 slocate 数据库


    2.用途:常用来查找指定目录下的不同文件类型。

    注:locate 是通过 Linux 系统自动创建的 /var/lib/locatedb 数据库查找,这个数据库中含有本地所有文件信息。此数据库不是实时更新的,系统会定时每天自动执行 updatedb 命令更新一次,因此使用 locate 命令无法查到最新变动文件,为了避免这种情况,因此可在使用 locate 前,先使用 updatedb 命令,手动更新数据库。

    3.特点:快速全面

    【find 命令】

    1.命令格式:find 指定目录 [参数] 文件名 

        常用选项:

    -name<范本样式>
    指定字符串作为寻找文件或目录的范本样式
    -iname<范本样式>此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别
    -user<拥有者名称>查找符和指定的拥有者名称的文件或目录
    -group<群组名称>查找符合指定之群组名称的文件或目录
    -perm<权限数值>查找符合指定的权限数值的文件或目录
    -size<文件大小>查找符合指定的文件大小的文件
    -path<范本样式>指定字符串作为寻找目录的范本样式
    -ctime<24小时数>查找在指定时间之时被更改的文件或目录,单位以24小时计算
    -atime<24小时数>查找在指定时间曾被存取过的文件或目录,单位以24小时计算
    -mtime<24小时数>查找在指定时间曾被更改过的文件或目录,单位以24小时计算
    -newer<参考文件或目录>查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录

    2.用途:在指定目录下,可通过文件类型、文件名、文件属性等进行查找。若不设置任何参数,则将在当前目录下查找子目录与文件,并将查找到的子目录和文件全部进行显示。

    3.特点:精准细致

    4.实例

    1)列出所有长度为零的文件:find . -empty

    2)否定参数

    找出 /home 下不是以 .txt 结尾的文件:find /home ! -name "*.txt"

    3)根据文件权限/所有权进行匹配

    当前目录下搜索出权限为 777 的文件:find -perm 777

    找出当前目录用户 Tom 拥有的所有文件:find -user Tom

    找出当前目录用户组 Sunk 拥有的所有文件:find -group Sunk

    4)根据文件进行匹配

        列出当前目录及子目录下所有文件和文件夹:find .

        在 /home 目录下查找以 .txt 结尾的文件名:find /home -name "*.txt"

        在 /home 目录下查找以 .txt 结尾的文件名,但忽略大小写:find /home -iname "*.txt"

        当前目录及子目录下查找所有以 .txt 和 .pdf 结尾的文件:find . -name "*.txt" -o -name "*.pdf" 

        匹配文件路径或者文件:find /usr/ -path "*local*"

    注:-o 或者、-a 并且、-not 相反  

    5)根据文件类型进行搜索:find . -type 类型参数

    类型参数列表:


    普通文件
    l符号链接文档
    d目录文档
    c字符设备文档
    b块设备文档
    s套接字文档
    p管道文档

    当前目录下搜索出所有普通文件:find .-type f

    6)根据文件大小进行匹配:find . -type f -size 文件大小单元

    文件大小单元:

    b
    块(512字节)
    c字节
    w字(2字节)
    k千字节
    M兆字节
    G吉字节

    搜索大于10KB的文件:find . -type f -size +10k

    搜索小于10KB的文件:find . -type f -size -10k

    搜索等于10KB的文件:find . -type f -size 10k

    7)根据文件时间戳进行搜索:find . -type f 时间戳

    时间戳:

    访问时间(-atime/天,-amin/分钟)
    用户最近一次访问时间
    修改时间(-mtime/天,-mmin/分钟)文件最后一次修改时间
    变化时间(-ctime/天,-cmin/分钟)文件数据元(例如权限等)最后一次修改时间

    注:以 mtime n为例,n 为数字

    1. -mtime n:列出在 n 天之前的“一天之内”修改过的文件
    2. -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件
    3. -mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件
    4. -newer file:file 为一个已存在的文件,列出比 file 还要新的文件名

    搜索最近七天内被访问过的所有文件:find . -type f -atime -7

    搜索恰好在七天前被访问过的所有文件:find . -type f -atime 7

    搜索超过七天内被访问过的所有文件:find . -type f -atime +7

    搜索访问时间超过10分钟的所有文件:find . -type f -amin +10


    展开全文
  • Linux搜索文件

    千次阅读 2019-04-06 16:51:21
    Linux搜索文件 常用的相关命令包括:whereis, which , find 和locate。 whereis 简单快速 并非从磁盘中直接查找,而是直接从数据库中查询。只支持二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。 locate 快而全 ...

    Linux搜索文件

    常用的相关命令包括:whereis, which , find 和locate。

    whereis 简单快速

    并非从磁盘中直接查找,而是直接从数据库中查询。只支持二进制文件(-b),man帮助文件(-m)和源代码文件(-s)。

    locate 快而全

    命令可以用来递归查找指定目录下的各种文件类型。通过/var/lib/mlocate/mlocate.db查找,该数据库每天自动更新一次,实时触发更新updatedb。例如查找/usr/bin/下所有的python开头的文件。

    locate /usr/bin/python
    

    which 小而精

    which本身是一个Shell內建命令。通常用来确定是否安装了某个文件,因其只从PATH环境变量指定的路径中搜索。

    find 精细搜索

    可以通过文件类型、文件名进行查找,而且可以根据文件的属性(时间戳,权限等)进行搜索。

    例如搜索在/root/anaconda3/下搜索名字为numpy的文件或文件夹:

    sudo find /root/anaconda3 -name numpy
    

    注意find命令的路径是作为第一个参数的,基本命令格式为find [path] [option] [action]

    与时间相关的参数说明:

    • -atime 最后访问时间
    • -ctime 最后修改文件内容的时间
    • -mtime 最后修改文件属性的时间

    -mtime为例举例:

    • -mtime n:n为数字,指在n天前的“一天之内”修改过的文件
    • -mtime +n : 列出n天之前(不包含n天本身)被修改过的文件
    • -mtime -n:列出n天之内(包含n天本身)被修改过的文件
    • -newer file:file为一个已存在的文件,列出比file还要新的文件名

    例子:

    1. 列出home目录中,当天(24小时之内)有改动的文件
    find ~ -mtime 0
    
    1. 列出用户/home目录下比Code文件夹新的文件
    find ~ -newer /home/shiyanlou/Code
    
    1. 搜索/etc/目录下以list结尾的所有文件(可以看到find命令很好的支持正则表达式)
    sudo find /etc/ -name "*.list"
    
    展开全文
  • linux下快速查找文件

    万次阅读 多人点赞 2018-09-03 19:50:21
    在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等...

    在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。

      区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 

                      (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

                      (3)which       查看可执行文件的位置 ,只有设置了环境变量的程序才可以用

                      (4)whereis    寻找特定文件,只能用于查找二进制文件、源代码文件和man手册页

                      (5)locate       配合数据库查看文件位置 ,详情:locate -h查看帮助信息

               

    一.find命令

        基本格式:find  path expression

        1.按照文件名查找

        (1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
        (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
        (3)find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
        (4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件

        2.按照文件特征查找     

        (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
        (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
        (3)find / -empty   # 查找在系统中为空的文件或者文件夹
        (4)find / -group cat   # 查找在系统中属于 group为cat的文件
        (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
        (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
        (7)find / -user fred   #查找在系统中属于fred这个用户的文件
        (8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
        (9)find / -size -1000k   #查找出小于1000KB的文件

        3.使用混合查找方式查找文件

        参数有: !,-and(-a),-or(-o)。

        (1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
             (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
             (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件
            

      二、grep命令

         基本格式:find  expression

         1.主要参数

        [options]主要参数:
        -c:只输出匹配行的计数。
        -i:不区分大小写
        -h:查询多文件时不显示文件名。
        -l:查询多文件时只输出包含匹配字符的文件名。
        -n:显示匹配行及行号。
        -s:不显示不存在或无匹配文本的错误信息。
        -v:显示不包含匹配文本的所有行。

        pattern正则表达式主要参数:
        \: 忽略正则表达式中特殊字符的原有含义。
        ^:匹配正则表达式的开始行。
        $: 匹配正则表达式的结束行。
        \<:从匹配正则表达 式的行开始。
        \>:到匹配正则表达式的行结束。
        [ ]:单个字符,如[A]即A符合要求 。
        [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
        .:所有的单个字符。
        * :有字符,长度可以为0。

        2.实例  

            grep -r "字符串"  很方便

      (1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行
      (2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
      (3)grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
      (4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
      (5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行

      (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

     

    展开全文
  • 文件搜索(很实用)

    2014-05-13 22:46:46
    搜索文件名 首先介绍一下软件吧 光速搜索,有绿色版,很小巧。NTFS格式的磁盘,秒搜,搜索文件名,支持模糊搜索。(第一次打开需要创建索引,需要3、4秒) 看图: 搜索说明的文件   文件太多,可以搜索 ...
  • Linux搜索文件的方法

    千次阅读 2017-01-04 14:39:57
    在Linux上查找某个文件是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。 Linux下的文件表达格式非常复杂,不象...Linux中查找文件的命令通常为“find”命令,“find”命令能
  • linux查找文件命令find

    万次阅读 多人点赞 2008-04-25 16:56:00
    在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。 可是使用Linux的用户就没有那么...
  • idea 快速查找各种文件的方法

    万次阅读 多人点赞 2018-09-30 09:14:17
    双击shift会弹出一个搜索框,输入关键字搜索即可 当然还可以cmd+shift+f 不过个人觉得第一种方式更快捷。 以上from 同事 ygj
  • Sublime Text 如何查找文件

    万次阅读 2018-05-25 14:58:32
    ctrl + p, 然后输入文件名(可模糊搜索)
  • webstorm中怎么搜索文件

    万次阅读 2018-06-14 20:09:26
    Ctrl+N 文件搜索Ctrl+SHIFT+R 关键字搜索
  • Centos7 中查找文件、目录、内容

    万次阅读 2018-10-15 17:20:29
    1、查找文件 find / -name ‘filename’ 2、查找目录 find / -name ‘path’ -type d 3、查找内容 find . | xargs grep -ri ‘content’ //find . | xargs grep -ril ‘content’ 只显示文件名称 参考文档: ...
  • grep -rf "keyword" ./
  • Ubuntu 常用查找文件与文件内容指令

    万次阅读 2018-12-25 17:47:11
    查找文件 locate find 查找文件中的关键字 grep 查找文件 locate 作用相当于find -name,但是locate速度会比find快很多,因为locate命令也是用数据库查找的。 因为该数据库默认是一...
  • cmd中查找文件和文件内容

    万次阅读 2018-09-11 22:40:37
    1、在cmd中查找文件,例如在c盘下查找3.txt dir c:\3.txt /s /b /s 显示指定目录和所有子目录中的文件。 /b 使用空格式(没有标题信息或摘要)。 2、查找d盘aaa目录下包含abc的所有文件 findstr /s /n "abc&...
  • linux下查找包含关键字的文件

    万次阅读 2015-09-20 16:15:27
    在linux下如果要查找包含某个关键字的文件,如要在根目录下搜索带有关键字“http”的文件,在终端下运行命令: find / –type f |xargs grep “http” 或者 grep -r "http" /root/
  • 选择文件,编辑模式进入: [root@localhost bin]# vi redis.conf 进入后: 按下”/“键,这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了。 找到相关文字以后:  ...
  • 如果是用vi打开文件后,在命令行下输入“/关键字” 如果是在没有打开文件的前提就用"cat 文件名 | grep “关键字”"
  • Ubuntu Linux下搜索文件文件内容

    千次阅读 2009-10-16 12:42:00
    whereis 查找软件的安装路径-b 只查找二进制文件-m 只查找帮助文件-s 只查找源代码-u 排除指定类型文件-f 只显示...d 搜索指定数据库updatedb更新文件索引数据库find [路径] 查找文件-name 根据文件名查找文件-iname
  • ubuntu 搜索文件方法(find命令)

    万次阅读 2012-11-05 22:19:57
    find / -name filename 再根目录里面搜索文件名为filename的文件 find /etc -name *s*在目录里面搜索带有s的文件 find /etc -name *S 在目录里面搜索以s结尾的文件 find /etc -name s*在目录里面搜索以s开头的文
  • mac通过命令行搜索文件

    万次阅读 2015-05-16 17:27:01
    通过Find命令搜索文件find命令非常高效,并且使用简单。find命令来自unix,OS X和Linux系统同样支持该命令。find最基本的操作就是:find 文件路径 参数 复制代码 比如你可以通过以下命令在用户文件夹中搜索名字中...
1 2 3 4 5 ... 20
收藏数 2,341,476
精华内容 936,590
关键字:

搜索文件