精华内容
下载资源
问答
  • Linux按文件内容查找文件

    万次阅读 2014-03-28 18:52:30
    遇到这样一个面试题:在Linux下从abc目录开始查找所有扩展名为.log的文本文件,并找出内容包含ERROR的文件查找命令:find /abc -name "*.log" | xargs grep "ERROR" 一般工作中常用名称查找时间或...

    遇到这样一个面试题:在Linux下从abc目录开始查找所有扩展名为.log的文本文件,并找出内容包含ERROR的文件。

    查找命令:find /abc -name "*.log" | xargs grep "ERROR"

    一般工作中常用按名称查找、按时间或类型查找。find命令还可以结合xargs命令来查找。xargs可以从输入中构建和执行shell命令。

    xargs与find的-exec参数不同的是

    1、传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。而xargs命令与find命令一起使用。find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

    2、有些系统中,使用-exec选项会为处理每一个匹配到的文件而发起一个相应的进程,并非将匹配到的文件全部作为参数一次执行。这样在有些情况下就会出现进程过多,系统性能下降的问题,因而效率不高;而使用xargs命令则只有一个进程。另外,在使用xargs命令时,究竟是一次获取所有的参数,还是分批取得参数,以及每一次获取参数的数目都会根据该命令的选项及系统内核中相应的可调参数来确定。


    find详细使用方法可以参考:http://www.cnblogs.com/mchina/archive/2012/07/02/2573313.html
    展开全文
  • linux 根据内容查找文件

    千次阅读 2016-02-01 16:38:31
    linux 根据内容查找文件 grep "TCP_NODELAY" -r /usr 这样就递归查找/usr下的所有内容里带有TCP_NODELAY的文件了 很快找到了/usr/include/linux/tcp.h #define TCP_NODELAY 1 此外,知道文件名搜...

    linux 根据内容查找文件

    grep "TCP_NODELAY" -r /usr

    这样就递归查找/usr下的所有内容里带有TCP_NODELAY的文件了

    很快找到了/usr/include/linux/tcp.h #define TCP_NODELAY 1

    此外,知道文件名搜文件位置 find / -name "filename"


     find / -name httpd.conf

        find / -name access_log 2>/dev/null

        find /etc -name '*srm*'

        find / -amin -10 # 查找在系统中最后10分钟访问的文件

        find / -atime -2 # 查找在系统中最后48小时访问的文件

        find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

        find / -mtime -1 #查找在系统中最后24小时里修改过的文件

        find / -cmin -5 # 查找在系统中最后5分钟里被改变状态的文件

        find / -ctime -1 #查找在系统中最后24小时里被改变状态的文件

        find / -user reda #查找在系统中属于fred这个用户的文件

        find / -not -user reda #查找在系统中不属于FRED这个用户的文件

        find / -group redagrp # 查找在系统中属于redagrp组的文件

        find / -gid 501 #查找系统中属于组id为501的文件

        find / -user fred -a -group redagrp

        find / -user reda -o -user tracy

        find / -nouser #查找在系统中属于作废用户的文件

        find / -empty # 查找在系统中为空的文件或者为空的文件夹

        find / -false #查找系统中总是错误的文件

        find / -size +5k #查找系统中大于5k字节的文件

        find / -size +5c #查找系统中大于5字节的文件

        find / -perm +6000

        find / -type b

        文件类型:

        b 块(缓冲)设备.

        c 字符设备.

        d 目录.

        p 有名管道(FIFO).

        f 规则文件.

        l 符号链结.

        s 插座.

        find / -maxdepth 2 -name fred

        find /tmp -size +10000000c -and -mtime +2

        find / -user reda -or -user tracy

        find /tmp ! -user reda

        find / -name "httpd.conf" -ls

        find / -user reda -exec ls -l {} \;

        find / -user reda -ok #确认后执行

        find / -user reda | xargs ls -l


    查看目录大小

    进入例如IBM 目录下,du -sh *,可以看到文件夹大小

    linux xargs

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。

    xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令,下面是一些如何有效使用xargs 的实用例子。

    1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题

    find ~ -name ‘*.log’ -print0 | xargs -0 rm -f


    2. 获得/etc/ 下所有*.conf 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l

    # find /etc -name "*.conf" | xargs ls –l


    3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接

    # cat url-list.txt | xargs wget –c


    4. 查找所有的jpg 文件,并且压缩它

    # find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz


    5. 拷贝所有的图片文件到一个外部的硬盘驱动 

    # ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory


    展开全文
  • find 搜索文件或目录 find [命令选项] [路径] ...-type :文档类型查找文件(f)、目录(d)、设备(b,c),链接(l)等。 -user :用户查找。 -exec :对找到的档案执行特定的命令。 -a :并且。 -o :或者。

    find 搜索文件或目录

    find [命令选项] [路径] [表达式选项]

    选项:

    -empty :查找空白文件或目录。

    -group :按组查找。

    -name :按文档名称查找。

    -iname :按文档名称查找,且不区分大小写。

    -mtime :按修改时间查找。

    -size :按容量大小查找。

    -type :按文档类型查找,文件(f)、目录(d)、设备(b,c),链接(l)等。

    -user :按用户查找。

    -exec :对找到的档案执行特定的命令。

    -a :并且。

    -o :或者。

    示例:

    find /root -name "*.log":查找/root目录下所有名称以.log结尾的文档

    find / -empty :查找计算机中所有的空文档。

    find / -group tom :查找计算机中所属组为tom的文档。

    find / -mtime -3 :查找计算机中所有3天内被修改过的文档。

    find / -mtime +4 :查找计算机中所有4天前被修改过的文档。

    find / -mtime 2 :查找计算机中2天前的当天修改过的文档。

    find ./ -size +10M :查找当前目录下大于10M的文档。

    find ./ -type f :查找当前某中所有的普通文件。

    find / -user tom :查找计算机中tom所拥有的所有文档。

    find ./ -size +1M -exec ls -l {} \ :查找大于1M的文件后列出文件的详细信息。

    find / -size +1M -a -type f :查找计算机中所有大于1M的文件。

    find ./* -mmin -5 :查找5分钟内修改过的文件

     

    grep:

    grep etchl *:查找当前目录下所有包含etchl的文件

    grep -rn "hello,world!" * :递归查找

    * : 表示当前目录所有文件,也可以是某个文件名

    -r 是递归查找

    -n 是显示行号

    -R 查找所有文件包含子目录

    -i 忽略大小写

     

    xargs配合grep查找:

    find -type f -name '*.php'|xargs grep 'GroupRecord'

    展开全文
  • linux下的find文件查找命令与grep文件内容查找命令 linux下的find文件查找命令与grep文件内容查找命令  在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find...

    linux下的find文件查找命令与grep文件内容查找命令
    linux下的find文件查找命令与grep文件内容查找命令
      在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。

    区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

               (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
    

    一.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.实例

    (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’),

    详细使用参见:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

    展开全文
  • linux下快速查找文件

    万次阅读 多人点赞 2018-05-30 11:32:10
    在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等...
  • linux系统中,查看指定文件的指定内容,linux查找文件内容,linux文件关键字搜索: 查找所有 1.grep ‘异常’ catalina.out 2.cat catalina.out | grep ‘线程池计算当月理财余额异常’ 指定条件 1.匹配行上下10行 ...
  • Linux 命令之 find:查找文件

    万次阅读 多人点赞 2018-01-19 11:50:49
    Linux 命令中,find用于在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名,其支持名称查找、正则表达式查找、文件大小查找、文件权限查找等多种查询方式。如果在使用该命令时,...
  • linux查找包含指定内容文件

    万次阅读 2018-03-14 15:08:01
    也方便自己查找,特此记录在博客中查找包含指定内容的文件就是用grep这个命令grep 'name' -r / grep '指定内容' -r 目录上述命令就是在根目录下递归查找包含name内容的文件 -r 递归查找文件 -e 从文件内容查找与正则...
  • linux根据文件内容查找文件

    千次阅读 2016-10-19 17:56:38
    在/home目录下查找包含“max_children”的文件sudo find /home -name * | xargs grep "max_children
  • linux如何反向查找文件内容

    千次阅读 2017-09-04 11:19:25
    反向查找文件内容:首先利用vi(或vim)命令打开filename,然后把光标定位到文件尾部,再结合“?”向上搜索,实现反向查找:【vim filename】 //打开filename 【G】 //将光标定位到文件尾部 【? 查询词】 //?向上...
  • Linux 如何查找文件内容【查找某个字符】归纳
  • Linux如何搜索查找文件里面内容

    万次阅读 2019-01-11 16:51:55
    Unix / Linux文件管理 Unix / Linux – 目录 Unix / Linux文件权限 Unix / Linux – 环境变量 Unix / Linux – 管道与过滤器 Unix / Linux – 进程管理 Unix / Linux – 网络命令 Unix / Linux – ...
  • linux命令模糊查找文件

    万次阅读 2017-10-20 16:16:17
    linux如何模糊查找一个文件   一、根据文件名模糊查找文件 格式:find [指定目录] -name -i '*[文件名关键字]'  例如: find /aa -name ...二、根据文件名和文件内容模糊查找文件
  • Linux文件查找文件内容关键字查找

    千次阅读 2020-06-24 14:35:29
    文件名通配符递归查找文件 find ./ -name “login.py” 关键字查找 -r开关,递归子目录, -E扩展模式,里面可以用|分隔多个关键字, or关系 grep -r -E ‘word1|word2|word3’ dir/ > gather.log 如果要and...
  • Linux查找文件

    千次阅读 2021-03-31 17:31:05
    find -name 文件名 #会在当前目录下以及当前目录中的子目录进行查找文件 如我在/var下的目录下,进行查找core文件,则当前目录下面的文件都查找出来了 或者指定目录进行查找文件 find 目录 -name 文件名 查找...
  • Linux批量查找文件内容

    千次阅读 2015-09-11 14:16:46
    Linux批量查找文件内容比如查找当前目录下面所有的php文件里面的内容find ./ -name "*.php" | xargs grep '要查找的内容'如果需要查找的内容包含特殊符号,比如$等等,grep要加参数find ./ -name "*.php" | xargs ...
  • linux常用命令-查找文件内容

    千次阅读 2021-06-15 17:15:25
    // 查找内容包含20210611010000495556的文件 grep -lr 20210611010000495556 // 查找文件内容包含字符的行 find ./ -name "OSTPPUB1_STP10063_202106091*.trc" | xargs grep "commit
  • linux查找文件内容

    千次阅读 2017-07-14 11:20:02
    1、查找关键字所在文件zgrep -l "WEBG1707141043310005" * 如上可以看出关键字在catalina.out文件中。2、显示关键字内容上下文信息1)显示在文件所在行数grep -rn "WEBG1707141043310005" --color=always //显示在...
  • linux查找文件指定内容

    千次阅读 2017-11-20 19:01:39
    linux有时候会遇到文件很大,关键字查找都要超过整屏,无法查看到所有内容。比如一个非常大的日志文件info.log,我们要查看某段字符所有日志,可以同 cat info.log | grep ‘1711178968’ ,如果显示过多,此时可以...
  • 在我们日常跨系统开发和服务部署上,Linux find文件查找命令与grep文件内容查找命令是经常用的,现整理了一下这两种命令的常用方法和参数设置,与大家共享!(也不是最全的,如有补充和建议,欢迎留言).  在使用...
  • linux cat命令查找文件内容

    千次阅读 2018-06-01 15:10:45
    grep -C 5 foo file 显示file文件里匹配foo字串那行以及上下5行  grep -B 5 foo file 显示foo及前5行  grep -A 5 foo file 显示foo及后5行    --------------------------------------------...
  • Linux 根据名字查找文件位置

    千次阅读 2020-02-12 12:06:23
    Linux 根据名字查找文件位置: find / -name FileName

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 480,494
精华内容 192,197
关键字:

linux按内容查找文件

linux 订阅