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。