• Linux的文件搜索命令(locate ,find,grep,find命令和)


    刚开始学Linux,这是关于Linux文件搜索命令,就目前,尽我所能把他写全一点,后期随时补充

    文件搜索命令

    一、locate命令

    二、find命令

    三、grep命令

    四、find命令和grep命令的区别

    1、locate命令

    语法: locate 文件名

    例:locate user(搜索user的文件名)

    优点:搜索速度快

    缺点:只能搜索指定文件名,比方搜索user 文件的时候只会搜索到user,搜索不到users

    注意:locate并不是在数据库里面搜索的,而是在/var/lib/mlocate里面进行搜索的,但是mlocate不是实时更新的,是一天更新一次,所以当你新建一个文件夹,locate命令是搜不到的,这个时候就需要用一个更新数据库的命令

    更新命令:updatedb (强制更新)

    2、find命令

    语法:find [搜索范围]  [搜索条件]

    例   :find /root -name User(在root目录下搜索文件名为User文件)

    注意:find命令查询出来的文件同样只能和搜索出来的文件名要一模一样,如果要进行模糊查询,就要用到通配符

    linux的通配符

     *   匹配任意内容

    例:find /root -name *d (查询root目录下文件名以d结尾的文件名)

      匹配一个内容

    例: find /root -name us?r (查询root目录下文件文件名是us什么r的文件)

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

    例:find /root -name user[sd] (查询root目录下文件名是users和userd的文件)

    补充:除此之外find还有其他的命令

    1.  -i 不区分大小写

         find /root -iname User

    2.  搜索有所有者的文件

              find /root -user root

    3.  搜索没有所有者的文件(如果有则是垃圾文件,可删除)

              find /root -nouser root

    4.  查询指定时间内的文件

      -atime 文件询问时间

      -ctime 改变文件属性

      -mtime 修改文件内容

    例: find /var/log -mtime +10 (查询/var/log下10天前修改的文件)

    +10   查询10天前的文件

    10     查询10天当天的文件

    -10    查询10天内修改的文件

    5.  查找指定大小的文件

         find -size 25k

         find -size 20M

    注意:  k为小写、M为大写(一定要这么写,不然会报错)

    6.  查找文件名和 i 节点

        find /home -inum 262242 (查找/home目录下i节点为262242的文件名)

    7.  并且、或者

        -a   and 并且    ,两个文件都满足

        -o   or 或者  ,两个条件有一个满足即可

    例: find /home -size +20k -a -size -50k  (查询在home目录下文件在大于20k并且小于50k的文件)

    8.  -exec 命令 {}      命令2处理命令1搜索出来的结果

       find /home -size +20k -a -size -50k  -exec rm {} ; (查询在home目录下文件在大于20k并且小于50k的文件之后删掉他)

    3、grep命令

    语法: grep [选项] 字符串 文件名

        -i  忽略大小写

        -v 排除指定字符串(取反)

    例:grep "size" User (查找User文件里面有size的字符串)

    注意:指定字符串一定要用" "

    4、find命令和grep命令的区别

    find命令:在系统中搜索文件名,如需模糊查询,则需要通配符(*,[],?   上文有讲)

    grep命令:在文件中搜索指定字符串,入去匹配,则要用正则表达式

  • 相关阅读:
    Python Generators vs Iterators
    python staticmethod classmethod
    静态类型、动态类型、强类型以及弱类型语言
    Python串行运算、并行运算、多线程、多进程对比实验
    python字典根据value排序
    解读Python内存管理机制
    两个list 求交集效率对比
    Python error: Unable to find vcvarsall.bat
    max-length兼容ie
    return false 与return true 困惑
  • 原文地址:https://www.cnblogs.com/www123----/p/10298499.html
Copyright © 2020-2023  润新知