• Linux系统之常用文件搜索命令


    (一)常用文件搜索命令

    (1)which命令

    (2)find命令

    (3)locate

    (4)updatedb

    (5)grep 

    (6)man

    (7)whatis

    (一)常用文件搜索命令

    (1)which命令

    命令名称:which
    命令所在路径:/usr/bin/which
    执行权限:所有用户
    语法:which [命令名称]
    功能描述:显示系统命令所在目录,另外显示命令别名记录
    例子:which ls

    补充一个命令:whereis [命令名称]

    显示系统命令所在目录,另外显示帮助信息

     (2)find命令

    命令名称:find
    命令所在路径:/usr/bin/find
    执行权限:所有用户
    语法:find [搜索路径] [搜索关键字]
    功能描述:查找文件或目录

    文件名

    参数-name 文件名

    例子:在目录/etc中查找文件newdir

    find /etc -name newdir

    使用通配符:

    * 匹配任意字符

    例子:find newdir*

    搜索以newdir开头的文件或目录

     

    ?匹配单个字符

    例子:find new???

    搜索以new开头,后面三个任意字符的文件或目录

     

     文件大小

    参数-size 文件大小

    这里我们姚之队 linux的最小存储单位是一个数据块

    block数据块  512字节=0.5kb   2个数据块=1kb

    100MB=102400kb=204800 block

    例子:

         大于 +

         find / -size +204800

        在根目录下查找大于100MB的文件

    小于 -  
    find / -size -204800
    在根目录下查找大于100MB的文件

    等于 =
    find / -size 204800
    在根目录下查找大于100MB的文件

    文件所有者

     参数 -user 文件所有者

     例子 :find / -user sam

    在根目录下查找所有者为sam的文件

    时间

    天 ctime、atime、mtine
    分钟 cmin、amin、mmin
    

      

    c-change 改变 表示文件属性被修改,所有者,所属组,权限
    a-access 访问
    m-modify 修改 表示文件内容被修改过
    

      

    - 表示什么时间之内
    + 表示超过什么时间
    = 表示指定在特定时间
    

    例子 :

    find /etc -ctime -1
    在/etc下查找24小时内被修改过属性的文件和目录

       find /etc -mmin -120
       在/etc下查找两小时内被修改的文件和目录

      

     连接符

    -a and 逻辑与
    -o or 逻辑或

    find ...... -exec 命令 {} ;
    find ...... -ok 命令 {} ;

    {} find查询的结果
      转义符,符号命令使用本身的含义
    ;  结果
    

    文件类型

    参数 -type 
    f 二进制文件
    l 软链接文件
    d 目录

    i节点

    参数 -inum 

    每一个文件或目录都有自己 的I节点 ,这样操作系统才能定位到文件或目录

    怎么查看文件或目录的节点呢?
    命令:ls -i

    例子:

    find /etc -name init* -a -type f
    在/etc下查找以init开头的文件
    find /etc -size +163840 -a -size -204800 在/etc下查找大于80MB小于100MB的文件
    find /etc name inittab -exec ls -l {} ; 在/etc下查找inittab文件并显示其详细信息
    find . -inum 16 -exec rm {} ; 在/etc下查找i节点为16的文件或目录并删除

      

     

    (3)locate

    命令名称:locate
    英文原意:list files in databases
    命令所在路径:/usr/bin/locate
    执行权限:所有用户
    语法:locate [搜索关键字]
    功能描述:寻找文件或目录
    例子:locate file

    注意:使用这个命令需要先使用下面的命令

    (4)updatedb

    命令名称:updatedb
    英文原意:updata the slocate database
    命令所在路径:/usr/bin/updatedb
    执行权限:root
    语法:updatedb
    功能描述:建立整个系统目录文件的数据库
    例子:updatedb

    (5)grep 

    命令名称:grep
    命令所在路径:/bin/grep
    执行权限:所有用户
    语法:grep [指定字符] [源文件]
    功能描述:在文件中搜寻字串匹配的行并输出
    例子:grep ftp /etc/services

    (6)man命令

    命令名称:man
    英文原意:manual
    命令所在路径:/usr/bin/man
    执行权限:所有用户
    语法:man [命令或配置文件]
    功能描述:获得帮助信息
    例子:
    man ls
    查看ls命令的帮助信息

    man services
    查看配置文件services的帮助信息

    (7)whatis命令


    命令名称:whatis
    英文原意:search the whatis database for strings
    命令所在路径:/usr/bin/whatis apropos
    /usr/sbin/makewhatis

    执行权限:All User,root
    语法:what apropos [任何关键字]
    功能描述:获得索引的简短说明信息
    例子:
    whatis ls
    apropos fstab

    注意 :当使用这两个命令发生错误时,就是whatis database没有建立

    命令 :makewhatis,建立whatis和apropos搜索使用的数据库

  • 相关阅读:
    前端 fetch 通信
    编写高质量的JavaScript代码(一)
    Redis学习笔记1-Redis的介绍和认识
    gitignore不起作用解决的方法
    【我的面经】说说简历的细节——软件开发岗位
    菜鸟的mongoDB学习---(七)MongoDB 备份(mongodump)与恢复(mongorerstore)
    HDU 4927 Series 1
    树状数组求第K小值 (spoj227 Ordering the Soldiers && hdu2852 KiKi's K-Number)
    git和SVN的差别
    KVM-Introduce
  • 原文地址:https://www.cnblogs.com/-wenli/p/10073065.html
Copyright © 2020-2023  润新知