4-4 Linux中 grep命令
搜索字符串命令grep
grep [选项] 字符串 文件名
在指定文件中搜索符合条件的字符串
选项:-i 忽略大小写
-v 排除指定字符串
例:grep "size" anaconda-ks.cfg
查找 anaconda-ks.cfg文件中包含字符size的行
grep -v "size" anaconda-ks.cfg
查找指定文件中不包含字符串size的行
find命令和grep命令的区别:
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配
4-3 Linux中 find命令
文件搜索命令find(功能强大)
命令格式:find [搜索范围] [搜索条件]
例:find / -name install.log(搜索整个根,按文件名搜索,搜索的文件名为 install.log,搜索的文件名必须和命令给的文件名一模一样)
常见的find参数:
Linux中的通配符:通配符是完全匹配的
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
*例子:find /root -name "install.log*"
搜索root目录下,文件名包含install.log的所有文件
find /root -name "*"
搜索root目录下的所有文件
[]例子:find /root -name "ab[cd]"
搜索root目录下名字为abc或者abd的所有文件
find /root -name "*[cd]"
搜索root目录下名字以c或者d结尾的所有文件
其它命令举例:find /root -iname instsll.log
不区分大小写搜索
find /root -user root
按照所有者搜索
find /root -nouser
搜索没有所有者的文件,很可能是垃圾文件(也可能是外来文件或是内核产生的文件)
find /var/log/ -mtime +10
查找十天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
按文件大小进行搜索: find . -size 25k
搜索当前目录下文件大小是25KB的文件
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find /etc -size +2M(这里注意单位M是大写,k为小写)
搜索etc目录下大小大于2M的文件
按照i节点搜索文件:find . -inum 262422(ls -i是知道文件名查i节点)
查找当前目录下i节点是262422的文件
复杂条件:find /etc -size +20k -a -size -50k
查找etc目录下文件大小大于20k且小于50k的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,满足其中一个条件即可
find/etc -size +20k -a -size -50k -exec ls -lh {} \;
查找etc目录下大于20kb小于50kb的文件,并显示详细信息
-exec 其他能够处理搜索结果的命令 {} \配套的,一起使用!
将找到的结果用此命令再处理
4-2 Linux中命令搜索命令
命令的搜索命令:whereis和which
whereis:搜索命令所在路径及帮助文档所在位置(不可搜普通文件)
-b:只查找可执行文件
-m:只查找帮助文件
例:whereis ls命令执行后出现ls命令所在位置和它的帮助文档所在位置
whatis:显示命令作用
例:whatis ls
which:显示命令执行文件所在位置,若命令还有其他别名,则显示这条命令的别名
注意:cd命令不可以通过whereis和which命令找到,因为它是Linux shell的内置命令
PATH环境变量:定义了系统搜索命令的路径
作用:在此路径的命令可以不用打绝对路径就可直接执行
总结:whereis可以看到命令的帮助文档,which可以看到命令的别名,whereis和which搜索命令的路径是依赖path所定义的路径。
举报

