linux下快速查找文件

linux下快速查找文件在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。          (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。       …

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在使用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’),

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164469.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • @NotNull 等注解的简单使用

    @NotNull 等注解的简单使用注册一个账号,有账号+密码前端会做一个判空,但是后端同时也要做一个判空,防止url直接访问这时后端的代码通常是:if(name!=null){ return”账号不能为空,请重新输入”;}elseif(password!=null){ return”密码不能为空,请重新输入”;}这样就会显得特别low,而且极不美观这时候就要用到一个注解@NotNull简单举例说明:@DatapublicclassUserInfo{@NotNull(message=”

    2025年5月26日
    0
  • Normalized Mutual information

    Normalized Mutual information在写论文做数据测试时有用到一个nmi(normalizedmutualinformation)评价聚类的一种方法,不是很清楚,然后上网找了一下资料。首先在理解nmi前,先说说mutualinformation这个东西。我们先举个例子:比如说,标准结果是大圆里面的叉叉圈圈点点,上图呢是我们算法聚类出来的结果,那么如何来看我们算法的聚类效果呢,如何计算呢?我们把上图中的图形用字母来表示…

    2022年9月2日
    3
  • goland-2022.01.13 激活码(注册激活)2022.02.24

    (goland-2022.01.13 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月1日
    467
  • anycast RP「建议收藏」

    anycast RP「建议收藏」动态RP尽管较静态RP有一定的优点,但依旧存在缺陷,当选定了RP后,所有的流量仅仅依靠这一个RP转发组播数据流量,不能实现流量负载功能。anycastRP场景:为了增强PIM-SM中RP节点的可靠性,以及对网络中的组播流量进行分担,可在网络中选取若干RP点,运行AnycastRP,达到冗余备份,负载分担的目的。原理:多个RP配置一个相同的AnycastRP地址…

    2022年5月24日
    41
  • MPI_多节点执行程序[通俗易懂]

    MPI_多节点执行程序[通俗易懂] 有的时候MPI需要使用多节点,那么测试哪些进程在哪些机器上就比较重要,如下可以简单测试一下。#include&lt;unistd.h&gt;#include&lt;stdio.h&gt;#include&lt;mpi.h&gt;intmain(intargc,char*argv[]){charhostname[100];intrank,size;…

    2022年10月8日
    0
  • 解决安装MATLAB2018b时出现License Manager Error -8(许可证管理器错误)的问题

    解决安装MATLAB2018b时出现License Manager Error -8(许可证管理器错误)的问题原博文的地址 1、解压的时候要将两个iso解压到同一个文件夹,意思是第一个解压得到R2018_win_dvd1,第二个解压得到R2018_win_dvd2,要将第二个文件夹里的内容复制到第一个文件夹中。2、matlab2018b是没有R2018b这个文件夹的,其他教程里说什么将netapi32….

    2022年7月26日
    113

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号