zoukankan      html  css  js  c++  java
  • linux查找文件locate,grep,find

    查找文件一般有以下几个命令

    which   查看可执行文件的位置
    whereis  查看可执行文件的位置及相关文件
    locate   配合数据库缓存,快速查看文件位置
    grep     过滤匹配,他是一个文件搜索工具
    find     查找相关文件

    which cd 用于查找命令的位置

     

    whereis cd   输出命令相关的目录和配置文件

     

    locate 速度快,从数据库中查找

    • 默认数据库24个小时更新
    • 手动更新数据库  updatedb
    当我们在用户目录下新建一个文件1.txt, 直接locate 1.txt是查找不到的
    这时就要更新一下数据库updatedb,现在就可以找到创建的文件了

    grep用于查找文件中的内容

    grep [选项] 字符串 文件名
    # 在文件当中匹配符合条件的字符串
    选项:
        -i 忽略大小写
        -v排除指定字符串(取反)
       -n 显示行号
    匹配一个词:
    grep word filename

    将文件中,没有word的那行取出来,并显示行号
    grep -nv word filename 从多个文件里匹配,并显示行号: grep -n word filename1 filenam2 filename3
    查看两个文件中共同存在的行,并显示行号
    grep -nxf 1.txt 11.txt
    
    查看a.txt的文件比b.txt的文件多出来的部分
    grep -vxf b.txt a.txt
    查找11.txt文件中是否有某些行的开头是数字1
    grep ^1 11.txt
    
    查找11.txt文件中是否有某些行的结尾是数字1
    grep 1$ 11.txt 1.txt 
    以递归的方式查找符合条件的文件, 查找/home/sunlizhao目录下所有包含11111的文件
    grep -r 11111 /home/sunlizhao/

    find 

    按照文件名搜索
    find /home/ -name ok.txt

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

    严格区分大小写,如果要进行模糊查询,就要用到通配符

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

    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 . -size 25k
    #查找文件大小是25kb文件
        -25k 小于25kb的文件
        25k 等于25kb的文件
        +25k 大于25kb的文件

    逻辑搜索

    find . -size +25k -a -size -50k
    # 查找当前目录下大于20k并且小于50kb的文件
    • -a and逻辑与,两个条件都满足
    • -o or 逻辑或, 两个条件满足一条即可

    查找出某个目录小于1k,大于40M的文件

  • 相关阅读:
    【LeetCode OJ】Remove Element
    【LeetCode OJ】Remove Duplicates from Sorted Array
    【LeetCode OJ】Swap Nodes in Pairs
    【LeetCode OJ】Merge Two Sorted Lists
    【LeetCode OJ】Remove Nth Node From End of List
    【LeetCode OJ】Two Sum
    【LeetCode OJ】Majority Element
    最长公共子序列问题
    php fopen与file_get_contents的区别
    PHP 技巧集合
  • 原文地址:https://www.cnblogs.com/sunlizhao/p/9580959.html
Copyright © 2011-2022 走看看