精华内容
下载资源
问答
  • Linux文件搜索命令

    2018-10-02 17:53:25
    Linux文件搜索命令 Linux搜索命令列表 文件搜索命令locate 命令搜索命令whereis与which 文件搜索命令find 字符串搜索命令grep find命令与grep命令的区别 文件搜索命令locate locate [文件名] 在后台数据库中按...

    Linux文件搜索命令

    Linux搜索命令列表

    • 文件搜索命令locate
    • 命令搜索命令whereis与which
    • 文件搜索命令find
    • 字符串搜索命令grep
    • find命令与grep命令的区别

    文件搜索命令locate

    locate [文件名]

    在后台数据库中按文件名搜索,搜索速度更快,功能更弱,只能搜索文件名

    /var/lib/mlocate

    locate命令所搜索的后台数据库,不是实时更新的,一般是一天更新一次

    updatedb

    更新数据库,新建的文件使用locate是搜索不到的,等一天后就可以搜索到了,我们也可以使用updatedb命令更新
    mlocate数据库,这样就可以查询到了

    /etc/updatedb.conf配置文件

    locate搜索时按照该配置文件的配置信息进行搜索

    /etc/updatedb.conf配置文件内容解析:

    #开启搜索限制,如果为no,下面的配置规则将无效
    PRUNE_BIND_MOUNTS="yes"
    #搜索时不搜索的文件类型(不搜索文件名中包含这些的文件)
    PRUNENAMES=".git .bzr .hg .svn"
    #搜索时,不搜索的路径
    PRUNEPATHS="/tmp /var/spool /media /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
    #搜索时,不搜索的文件系统
    PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs devtmpfs fuse.mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ceph fuse.ceph fuse.rozofs ecryptfs fusesmb"
    

    搜索命令的命令whereis

    whereis [命令名]

    • #搜索命令所在路径及帮助文档所在位置

    选项:

    • -b: 只查找可执行文件
    • -m: 只查找帮助文件

    搜索命令的命令which

    which [命令名]

    • #搜索命令所在路径及别名

    文件搜索命令find

    find [搜索范围] [搜索条件]

    • #搜索文件

    find / -name install.log

    • #避免大范围搜索,会非常耗费系统资源
    • #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

    find /root -iname install.log

    • 不区分大小写

    find /root -user root

    • 按照所有者搜索

    find /root -nousert

    • 查找没有所有者的文件

    find /var/log/ -mtime +10

    • 查找10天前修改的文件
    • -10 10天内修改文件
    • 10 10天当天修改的文件
    • +10 10天前修改的文件
    • atime 文件访问时间
    • ctime 改变文件属性
    • mtime 修改文件内容

    find . -size 25k

    • #查找文件大小是25KB的文件
    • -25k 小于25KB的文件
    • 25k 等于25KB的文件
    • +25k 大于25KB的文件

    find . -inum 262442

    • #查找i节点是262442的文件

    find /etc -size +20k -a -size -50k

    • #查找/etc/目录下,大于20KB并且小于50KB的文件
    • -a and逻辑与,两个条件都满足
    • -o or逻辑或,两个条件满足一个即可

    find /etc -size +20k -a -size -50k -exec ls -lh {} \;

    • #查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
    • #-exec/-ok 命令 {} ; 对搜索结果执行操作
    • {} ; 是固定写法

    字符串搜索命令grep

    grep [选项] 字符串 文件名

    • #在文件当中匹配符合条件的字符串

    选项:

    • i 忽略大小写
    • v 排除指定字符串

    find命令与grep命令的区别

    find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。

    grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配。

    PATH环境变量

    • PATH环境变量定义的是系统搜索命令的路径,只有在PATH环境变量中定义了命令的存放路径,我们的系统命令才能正常执行。
    • 如果自己写的程序,要想不打绝对路径就能执行,就必须在PATH环境变量中配置自己程序的路径,或者将自己的程序放在PATH环境变量中已有的路径下。
    • 例如我们的jdk,就必须配置环境变量,否则java程序将不能正常执行。

    Linux中的通配符

    1. * 匹配任意内容
    2. ? 匹配任意一个字符
    3. [] 匹配任意一个中括号内的字符
    展开全文
  • linux 文件搜索命令

    2020-05-18 10:24:34
    文件搜索命令 locate 命令搜索命令 whereis / which 文件搜索命令 find 字符串搜索命令 grep 文件搜索命令 locate locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate ...

    目录

    ​​​​​​​​​​​​​​

     

    文件搜索命令 locate

    命令搜索命令 whereis / which

    文件搜索命令 find

    字符串搜索命令 grep


     

    文件搜索命令 locate

    locate 文件名            在后台数据库中按文件名搜索,搜索速度更快

     

    /var/lib/mlocate            #locate 命令所搜索的后台数据库

    updatedb            更新数据库

     

    /etc/updatedb.conf 配置文件:

    PRUNE_BIND_MOUNTS = “yes"

    # 开启搜索限制       

    PRUNEFS = 

    #搜索时,不搜索的文件系统

    PRUNENAMES = 

    #搜索时,不搜索的文件类型

    PRUNEPATHS = 

    #搜索时,不搜索的路径


    命令搜索命令 whereis / which

    whereis (结果:所在路径+帮助文档) / which (结果:所子路径+别名)

     

    whereis 命令名:

        选项:    -b 只查找可执行文件, -m 只查找帮助文件

     

    执行命令时,在PATH环境变量指定位置中搜索命令


    文件搜索命令 find

     

    find  [搜索范围]  [搜索条件]

        #搜索文件

     

    • find  /  -name  install.log

        #避免大范围搜索,会非常耗费系统资源

        #find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

     

    Linux中的通配符

     

        *    匹配任意内容

        ?    匹配任意一个字符

        []    匹配任意一个中括号内的字符

     

    • find  /root  -iname  install.log    #不区分大小写

    • find  /root  -user  root    #按照所有者搜索

    • find  /root  -nouser         #查找没有所有者的文件

    • find  /var/log/  -mtime  +10    #查找10天前修改的文件

                +10:10天内修改文件

                10:10天当天修改的文件

                +10:10天前修改的文件

     

                atime  文件访问时间

                ctime  改变文件属性

                mtime  修改文件内容

    • find  /root  -size  25k       #查找文件大小是25KB的文件  (-25k,+25k)

    • find  /root  -inum  262422    #查找 i 节点是262422的文件

    • find  /etc  -size  +20k  -a  -size  -50k

            #查找/etc/目录下,大于20KB并且小于50KB的文件

            -a    and    逻辑与,两个条件都满足

            -o    or       逻辑或,两个条件满足一个即可

    • find  /etc  -size  +20k  -a  -size  -50k  -exec  ls  -lh  {} \;

                # -exec/-ok 命令 {} \; 对搜索结果执行操作

     


     

    字符串搜索命令 grep

     

    • grep  [选项]  字符串  文件名

                #在文件中匹配符合条件的字符串

            选项:

                    -i    忽略大小写

                    -v    排除指定字符串

     

    • find 命令:在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

    • grep 命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。

    展开全文
  • linux文件搜索命令

    2017-03-02 08:11:01
    1.文件搜索命令(locate,find,whereis,which,grep) 1>文件搜索命令locate  用法locate 【文件名】 ---->在后台数据库中按文件名搜索,搜索速度快  /var/lib/mlocate #locate命令所搜索的后台数据库

    1.文件搜索命令(locate,find,whereis,which,grep)

    1>文件搜索命令locate

           用法locate   【文件名】    ---->在后台数据库中按文件名搜索,搜索速度快

        输入locate yum.log会搜索到所有和yum.log相关的文件。
    当我们新建一个文件touch locate_test_txt
    再次输入locate    locate_test_txt 进行查询时我们查不到文件,这因为locate  是从后台数据库中查找,而后台数据库没填更新一次所以没有查到
           /var/lib/mlocate            #locate命令所搜索的后台数据库
      当我们输入updatedb更新数据库后 ,进行locate查询,,可以搜索到文件。
            
    当我们在root的家目录创建了一个locate_test_txt ,又在 /tmp  下也建立了一个locate_test_txt 之后更新数据库,我们使用locate 命令查询locate_test_txt ,只能搜索到root加目录下的locate_test_txt 。

            这是因为locate搜索是按照/etc/updatedb.conf 配置文件来搜索的
    打开/etc/updatedb.conf
     
    我们发现里面有四句话,第一句prune_bind_mounts后面的yes表示配置文件筛选规则全部有效,如果是no表示配置文件全部无效
    第二句是不搜索的文件系统
    第三句是不搜索文件名中不包含.git  .hg  .svn  
    第四句是在这些目录下的文件不搜索
    因为我们刚才建的文件在/tmp下所以不进行搜索。

    2---->搜索命令whereis 和which

       whereis和which是命令搜索命令,是对命令进行搜索
      格式:   whereis  命令名称
      搜索命令所在位置以及帮助文档所在位置                     选项有  -b     只查询可执行文档    -m 只查询帮助文档
      例如我们常用的ls命令
      我们输入whereis ls

    会出现/bin/ls 这个是命令所在的位置,后面两个是帮助文档所在的位置

    不能查询文件
        格式:which  命令名
        which ls



    which 会搜索到命令所在的路径以及命令的别名。

    whereis ,which 只能搜索到外部安装的命令,搜索不到shell下的命令(cd等等)。

    PATH环境变量:

    PATH 定义的是系统搜索命令的路径

    当我们输入的命令不在PATH环境下则找不到命令
    如果我们自己定义的命令不在PATH环境下,我们需要输入路径才能执行命令

    find命令

    find 【搜索范围】  【搜索条件】 #搜索文件
    find   /    -name   install.log

    1.查询会比较慢,因为我们搜索的范围是全局范围,会非常消耗系统资源。

    2.find命令是精确查找,在我门的目录下还有install.log.syslog  并没有查到。如果要搜索符合条件的文件名,需要用通配符,通配符是完全匹配。
    3.通配符包括: *任何字符,?任意一个字符,【】任意一个括号中的字符

    当我们使用通配符时,用双引号。
    搜索用户:
    find   /root    -user   root 搜索所有者文件
    find /root -nouser  查找没有所有者的的文件,linux没有用户的文件可能是垃圾文件,也可能是系统内核文件(sys产生的文件)
    按时间搜索:
    find /var/log  -mtime +10  查找10天前的日志文件


    -10 10天内修改的文件
    10 10天当天修改的文件
    +10  10天前修改的文件



    atime    文件访问时间
    ctime     修改文件属性时间
    mtime   修改文件内容时间

    按文件大小:注意单位  k小写M大写G大写
    find   -size   +30k     
    查找大于30k的文件

    +30 k   大于30 k 文件
    30 k   等于30 k的文件
    -30k  小于30k的文件



    按节点查找:

    find  -inum  26334
    查找节点为26334的文件

    find     /etc  -size   +20k -a   size   -50k
    查找/etc目录下  大于20k小于50k的文件
    -a  是与   -o是或


    find   /etc   -size   + 20k  -a  -size  -50 k   -exec  ls  -lh   {}  \;
    查找/etc/目录下,,大于20k小于50k的文件,并显示详细信息    -exec/-ok      命令{}   \;   表示对搜寻结果执行操作


    字符串搜索:grep

    grep  【选项】  字符串  文件名    在文件当中搜寻指定字符串
    -i    忽略大小写
    -v    排除指定字符串 
            grep   “size ”   anaconda-ks.cfg       搜索出anaconda-ks.cfg 中有关size的所有字段


    grep -v    ”size“   anaconda-ks.cfg                            //搜索出除了size之外的字段









    grep和find 的区别:
    find : 在文件中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,是完全匹配
    grep:在文件当中所搜索指定的字符串,如果需要匹配,使用正则表达式匹配,是包含匹配




    展开全文
  • Linux 文件搜索命令

    2017-07-15 11:06:55
    先给大家介绍一个windows 搜索工具 ...第一个文件搜索命令 :find 命令名称:find 命令所在路径:/bin/find 执行权限:所有用户 语法:find 【搜索范围】【匹配条件】 功能描述:文件搜索 根据文件名

    先给大家介绍一个windows 搜索工具  Everything 速度相当之快,它是基于ntfs整个文件信息简历索引。以后在windows上查找文件 就用Everything 查找,便利高效


    第一个文件搜索命令 :find

    命令名称:find

    命令所在路径:/bin/find

    执行权限:所有用户

    语法:find 【搜索范围】【匹配条件】

    功能描述:文件搜索

    根据文件名进行查找

    查找文件名结尾 init的文件

    查找文件名init开头 后面是三个字母  ?匹配单个字符


    查找文件名是 inittab不区分大小写

    在目录下 查找大于100M的文件(+n 大于  -n  小于   n 等于)  204800是  数据块 一块 512字节  0.5k


    查找所有者为gcx的文件


    查找所属组是gcx的文件

    在/tmp 下 查找5分钟内被修改过属性的文件或目录   (-amin 访问时间access  -cmin 文件属性 change -mmin 文件内容modify)


    查找文件大于80M,小于100M的文件 (-a  两个条件同时满足 -o 两个条件任意满足一个)

    如果想查询指定类型的   加上  -type   -f 文件  -d  目录  -l 软连接

    在/etc 下查找 inittab文件 并显示其详细信息(-exec/ok) 命令 {} \; 对搜索的结果执行


    根据i节点查找删除    (先查询文件的i节点)  




    第二种文件搜索命令:locate


    命令名称:locate

    命令所在路径:/usr/bin/locate

    执行权限:所有用户

    语法: locate 文件名

    功能描述:在文件资料库中查找文件

    案例:

    $ locate inittab

    有种特殊情况需要手动更新文件资料库

    创建一个文件 叫hello.txt   然后 locate hello.txt  发现并没有搜索出来 因为文件资料库没有更新

    手动执行  updatedb   再次 locate hello.txt  就ok了

    还有可能在别的目录下创建的文件 比如:tmp 即使更新了文件资料库也不会出现  

    注意 :文件资料库只对特定的目录 进行收录 




    第三种文件搜索命令:which

    命令名称:which

    命令所在路径:/usr/bin/which

    执行权限:所有用户

    语法: which 命令

    功能描述:搜索文件所在的目录以及别名的信息

    案例:

    $ which ls

    第四种文件搜索命令:where is

    命令名称:where is

    命令所在路径:/usr/bin/whereis

    执行权限:所有用户

    语法: whereis 命令

    功能描述:搜索命令所在的目录以及帮助文档路径

    案例:

    $ whereis ls




    第五种文件搜索命令:grep

    命令名称:grep

    命令所在路径:/bin/grep

    执行权限:所有用户

    语法: grep -iv【指定字串】【文件】

    功能描述:在文件中搜索字串匹配的行并输出

    -i 不区分大小写

    -v 排除指定字串


    把#开头的行排除掉

    grep -r -v ^# /etc/sysconfig

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 9,265
精华内容 3,706
关键字:

linux文件搜索命令

linux 订阅