在使用Linux(xshell)时,经常需要进行文件查找,其中查找命令主要有find和grep。
区别:
(1)、find命令是根据文件的属性进行查找文件。文件属性如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
find命令
基本格式:find path expression
1、按照文件名查找
find / -name PowerManagerService.java
表示在根目录下查找PowerManagerService.java文件,也就是在整个硬盘查找。查找结果如下:
find frameworks/ -name PowerManagerService.java
表示在frameworks目录下查找PowerManagerService.java文件。
find frameworks/ -name ‘PowerManager*’
表示使用通配符*(0个或任意多个),在frameworks目录下查找文件名开头是字符串‘PowerManager’的文件。
find . -name ‘PowerManager*’
表示在当前目录下(包含子目录)查找文件名开头是字符串‘PowerManager’的文件。
2、按照文件特征查找
这里使用比较少,只举一个例子。
find frameworks/ -amin -10
表示在frameworks目录下查找最后10分钟访问的文件。
grep命令
基本格式:grep expression
1、 主要参数
-i:不区分大小写;
-n:显示匹配行及行号;
-r:包含子目录;
-c:只输出匹配行的计数;
-w:匹配整个单词;
2、 实例
grep ‘test’ abc*
显示所有以abc开头的文件中包含test的行。
grep test frameworks/
显示frameworks目录下(不包含子目录)的文件包含test的行。
grep –r test frameworks/
显示frameworks目录下(包含子目录)的文件包含test的行。
grep –w test 文件名/目录
只匹配整个单词,而不是字符串的一部分。