linux下查找文件内容

作者&投稿:长兴毕 (若有异议请与网页底部的电邮联系)
linux下按文件名和文件内容查找文件~

在当前目录下,查找所有内容包含‘abc'的文件
find . -type f | xargs grep -l 'abc'

find . -type f -exec grep -l 'abc' {} \;

扩展资料:linux查找文件命令find
根据部分文件名查找方法:
这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。
例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:
find /etc -name '*srm*'
这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:
find/etc -name 'srm*'
这是只有像srmyz 这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

概述使用grep可以查找包含指定字符串的文件
步骤详解格式:
grep “要查找的字符串” 文件名
例子:
grep "192.168.0.1" /etc
文件名可以使用基本正则表达式(BRE),例如, 查找test目录下的所有文件,是否包含www.dutycode.com字符串。
grep “www.dutycode.com” /root/zzh/test/*

小贴士:使用-n 参数,可以显示字符串在文件中的行数
拓展内容关于grep的命令的使用:

几个常用的查询指令:
1、查找时不区分字符串的大小写
grep -i “查找的字符串” 文件名
2、查找时使用正则表达式,匹配符合的字符串
grep -e “正则表达式” 文件名
3、查找不匹配指定字符串的行:
grep -v “被查找的字符串” 文件名
4、查找时显示被查找字符串所在的行数
grep -n “查找的字符串” 文件名

  一.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’),
  

GVIM 可以分割窗口实现查找多个文件的功能。不过最好是用命令行这个强大的工具了。

比如查找 /home/znsys/ 下所有含 VoIP 的文件名称:
grep -l 'VoIP' /home/znsys/*

比如查找 /home/znsys/ 文件夹下的所有第三层目录内所有文件中包含 “networking" 的行:
如这些目录:
/home/znsys/client_1/data/
/home/znsys/client_2/data/
/home/znsys/vendor_1/data/
命令为:
grep -i /home/znsys/*/data/* 'networking'

搜索
----
whereis <程序名称>
查找软件的安装路径
-b 只查找二进制文件
-m 只查找帮助文件
-s 只查找源代码
-u 排除指定类型文件
-f 只显示文件名
-B <目录> 在指定目录下查找二进制文件
-M <目录> 在指定目录下查找帮助文件
-S <目录> 在指定目录下查找源代码

locate <文件名称>
在文件索引数据库中搜索文件
-d <数据库路径> 搜索指定数据库
updatedb
更新文件索引数据库

find [路径] <表达式>
查找文件
-name <表达式> 根据文件名查找文件
-iname <表达式> 根据文件名查找文件,忽略大小写
-path <表达式> 根据路径查找文件
-ipath <表达式> 根据路径查找文件,忽略大小写
-amin <分钟> 过去N分钟内访问过的文件
-atime <天数> 过去N天内访问过的文件
-cmin <分钟> 过去N分钟内修改过的文件
-ctime <天数> 过去N天内修改过的文件
-anewer <参照文件> 比参照文件更晚被读取过的文件
-cnewer <参照文件> 比参照文件更晚被修改过的文件
-size <大小> 根据文件大小查找文件,单位b c w k M G
-type <文件类型> 根据文件类型查找文件。b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件
-user <用户名> 按归属用户查找文件
-uid <uid> 按UID查找文件
-group <群组名> 按归属群组查找文件
-gid <gid> 按GID查找文件
-empty 查找空文件

grep <字符串>|"<正则表达式>" [文件名]
在文件中搜索内容

找文本内容grep(global search regular expression(RE) and print out the line) 正则表达式搜索文本内容。
找命令whereis 命令名
查看环境变量 export

find命令可以查找文件,如果在查找所有文件,执行find -name / *
楼主说的变量是指环境变量?环境变量一般都会在profile文件中指定,该文件有两个地方有,/etc/profile,这个是系统的配置文件,在这个文件设置的环境变量所有用户都可以使用,另一个是~/.bash_profile,这个文件是针对某一用户的。

这个不难,建议学习vim和ctags,这样虽然花了你点时间,但会大大加速你以后的开发。

以上建议是需要时间练习才会使用的,下面的是简便方法:
1,假设你要寻找的变量叫var,它在 xx文件夹下的某个文件中
2,cd xx
3, grep -R "var" *

我靠,以上各位回答的都是什么啊?有没有在Linux进行研发的经验阿!!!


linux查找文件命令
linux查找文件命令的方法是:1、linux下最强大的搜索命令为”find“。它的格式为“find指定目录、指定条件、指定动作”;2、使用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(\/var\/lib\/locatedb),数据库包含本地所有的文件信息。使用locate命令在根目录下搜索interfaces文件的命令为...

linux之文件查找
Linux的find命令用于在指定目录下查找文件。只要不在参数前设定任何目录名,find命令就将在当前目录下查找所有子目录与文件,并显示出来。若提供了目录名,则find命令会在该目录及其子目录下执行查找操作。locate命令则专门用于查找符合特定条件的文档。它会访问一个保存有文档与目录名称的数据库,从中查找符合...

详解Linux中查找目录和文件的find和locate命令
-nogroup 查找无有效所属组的文件,即该文件所属的组在\/etc\/groups中不存在。-nouser 查找无有效属主的文件,即该文件的属主在\/etc\/passwd中不存在。-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。-type 查找某一类型的文件,诸如:b - 块设备文件。d - 目录。c -...

Linux下怎样搜索文件
1、find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。2、命令一般格式:find(选项)(参数)3、常用参数说明 -amin<分钟>:查找在指定时间曾...

怎么在Linux中查找某个文件?
在 Linux 中查找文件有两种方法。一种是使用 find 命令,另外一种是使用 locate 命令。1、Find 命令 使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树。基本语法如下:find path expression search-term 下面是使用 find 命令根据文件名来查找特定文件的一个例子:fi...

Linux中用于查找文件的命令有()
使用locate命令查找特定文件非常简单,只需要在终端中输入以下命令即可:locate 例如,要查找名为“test.txt”的所有文本文件,可以使用以下命令:locate test.txt 3、grep命令 grep是一个强大的文本搜索工具,在Linux系统中广泛应用于搜索特定模式或字符串。它可以帮助我们在当前目录及其子目录中快速地搜索有...

Linux操作系统下查找文件的几种方法
linux下最强大的搜索命令为”find“。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find \/ -name 'interfaces'“使用locate搜索linux系统中的文件,它比find命令快。因为它查询的是数据库(\/var\/lib\/locatedb),...

Linux下find命令和grep命令查找文件
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...

linux下怎么查看root目录下的文件内容?
1、首先打开Terminal终端:依次定位applications-system tools-Terminal,即进入命令行模式。2、进入root目录下,先查看是否是root目录,用pwd命令查看当前路径。3、发现确实是root目录下,我们切换到\/home目录下,切换命令:cd \/home,再次用pwd命令查出在\/home目录下。4、在此目录下新建目录文件夹root,命令...

linux搜索路径时显示没有那个文件或目录linux搜索路径
Linux下查找文件的绝对路径可以用whereis、locate或者find命令。如果想快速查找到文件的绝对路径,最好是用whereis或者locate命令,它们的查找速度要比find命令快很多,这是因为在Linux系统中有个数据库,记录了系统内的所有文件,而whereis和locate命令就是在这个数据库中查找,并没有实际查找硬盘,而数据库...

石城县13032184460: Linux里怎样查找文件内容 -
惠耐胃疼: Linux查找文件内容的常用命令方法. 1、从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件 grep "thermcontact" */*.in 2、从文件内容查找与正则表达...

石城县13032184460: Linux中在当前目录下查找某个文件. -
惠耐胃疼: 在 Linux 中查找文件有两种方法.一种是使用 find 命令,另外一种是使用 locate 命令. 1、Find 命令 使用 Linux find 命令可以用不同的搜索标准如名字、类型、所属人、大小等来搜索目录树.基本语法如下: # find path expression search-term...

石城县13032184460: linux中怎样查看文件中的内容 -
惠耐胃疼: 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 从文件内容查找与正则表达式匹配的行: $ grep –e 正则表达式 文件名 查找时不区分大小写: $ grep –i "被查找的字符串" 文件名 查找匹配的行数: $ grep -c "被查找的字符串" 文件名 从文件内容查找不匹配指定字符串的行:

石城县13032184460: linux系统中如何查找某一特定文件? -
惠耐胃疼: linux中查找被进程使用的所有文件,可以使用lsof命令,但是默认情况下lsof会将系统上已经打开的文件都列出来,所以常常需要用管道符加grep命令,选取指定的进程的信息,比如如下命令列出init进程在使用哪些文件: lsof | grep init

石城县13032184460: linux怎么查找一个文件是否存在 -
惠耐胃疼: 两个方式:find命令或者shell脚本. 1、find命令 find是linux下用于查找文件的通用方法. find语法: find [指定查找目录] [查找规则] [查找完后执行的action] 例如:find /tmp -name wa* -type l ,是在/tmp下查找名为wa开头且类型为符号链接的文件...

石城县13032184460: linux 查找文件内容 命令 哪些 -
惠耐胃疼: find 文件路径 -name 文件名 (这样会找指定路径下的指定文件) 如果查找文件内容:grep -ir 搜索内容 文件目录名 (这样就能将文件内的东西也能挨个遍历找打)

石城县13032184460: linux查看一个文件内容时怎么查找 -
惠耐胃疼: 如果是用Vim编辑器打开的文件,在Vim中查找字符串的命令是:英文斜杠后面跟要查找的字符串或者英文问号跟要查找的字符串,所不同的是英文斜杠表示向下查找,英文问号表示向上查找,当查找到第一个匹配时,可以输入小写字母n表示查找下一个匹配字符串.比如: /hello或者?hello 如果是用图形界面的编辑器打开的文件,比如gedit,可以用界面上的放大镜图标进行字符串查找.

石城县13032184460: linux 怎么查找文件关键词 -
惠耐胃疼: 方法一:find命令 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. 命令格式:find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件...

石城县13032184460: linux怎样搜索文件或文件夹 -
惠耐胃疼: find命令,它使用起来功能强大,但是也很复杂 比如fing / 就是查找根目录下的所有文件 它有许多可用参数,-name后加文件名,-perm后加权限,-exec或-ok用来在查找文件后执行shell命令,如找到一些文件然后删除,-newer用来寻找比某个文件新的文件,还有许多 另外就是whereis,用来查找命令所在的位置比较不错 还有slocate,后面直接加文件名就行了,但是要先用updatedb命令来更新数据库,这样才能找到最新的文件

石城县13032184460: linux怎么搜索文件? -
惠耐胃疼: 在Linux中我们通常使用两个命令来搜索文件:1.locate 2.findlocate这个命令呢是根据索引来搜索文件的,所以非常快,但!不是实时的而find命令则是实时的搜索文件,命令使用格式:find [搜索位置] [搜索模式]例如:find /etc -user root 搜索/etc目录下所有属主是root的文件.find命令非常强大,推荐你看下《Linux就该这么学》这本书的第二章,有详细介绍find的使用方法和高级技巧等.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网