linux中find查找文件命令,linux使用grep查找文件

  linux中find查找文件命令,linux使用grep查找文件

  使用linux时,经常需要查找文件。搜索命令主要包括find和grep。这两个命令是分开的。

  区别:(1)1)find命令基于文件的属性,如文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等。

  (2)grep根据文件的内容进行搜索,按照给定的模式匹配搜索文件的每一行。

  1.查找命令

  基本格式:查找路径表达式

  1.按文件名搜索

  (1)find/-name httpd.conf #查找根目录下的文件httpd.conf,意思是搜索整个硬盘。

  (2)在/etc目录中找到/etc -name httpd.conf #文件httpd.conf

  (3)find /etc -name *srm* #使用通配符*(0或其中的任意数字)。在/etc目录中查找带有字符串“SRM”的文件。

  (4)寻找。-name srm* #表示在当前目录中查找文件名以字符串 srm 开头的文件。

  2.根据文件特征搜索

  (1)find/-amin -10 #查找系统中最近10分钟内访问过的文件(访问时间)

  (2)find/-atime -2 #查找系统中最近48小时内访问过的文件

  (3)find/-empty #查找系统中的空文件或文件夹。

  (4)find/-group cat #查找系统中组为cat的文件。

  (5)find/-mmin -5 #在系统中查找最近5分钟的修改文件(修改时间)。

  (6)find/-mtime -1 #查找系统中最近24小时内修改过的文件。

  (7)find/-user fred #在系统中查找属于fred的文件。

  (8)find/-size 10000c #找出大于1000000字节的文件(C: byte,W: double word,k:KB,M:MB,G:GB)。

  (9)find /-size -1000k #找出小于1000KB的文件。

  3.使用混合搜索方法查找文件。

  参数是:-和(-a),-或(-o).

  (1)find/tmp-size 10000 c-and-mtime 2 #在/tmp目录中查找大小超过10000字节且在最近2分钟内修改过的文件。

  (2)Find/-user fred-or-user george #在/目录中查找用户为Fred或George的文件

  (3)查找/tmp!-user panda #在/tmp目录中查找不属于panda用户的所有文件。

  第二,grep命令

  基本格式:查找表达式

  1.主要参数

  [选项]主要参数:

  -C:只输出匹配行数。

  -I:不区分大小写

  -h:查询多个文件时不显示文件名。

  -l:查询多个文件时,只输出包含匹配字符的文件名。

  -n:显示匹配的行和行号。

  -s:不显示不存在或没有匹配文本的错误消息。

  -v:显示不包含匹配文本的所有行。

  模式表达式的主要参数:

  :忽略正则表达式中特殊字符的本义。

  :匹配正则表达式的起始行。

  $:匹配正则表达式的结束行。

  :从匹配正则表达式的行开始。

  :到匹配正则表达式的行尾。

  []:单个字符,如[A],表示A符合要求。

  [-]: Range,比如[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目录(不包括子目录)中的文件包含魔线。

  (5)grep -r magic /usr/src #显示/usr/src目录下的文件(包括子目录)中含有魔线。

  (6)grep -w模式文件:只匹配整个单词,不匹配字符串的一部分(如 magic 而不是 magic ),

  详情见http://www..com/end/archive/2012/02/21/2360965.html。

linux中find查找文件命令,linux使用grep查找文件