在windows中我们会如果想要找到一个文件,一般都会通过鼠标光标点击找到所在路径下对应的文件,在Linux系统中,我们也可以通过find命令去找到符合自己要求的文件,find命令可以让我们在指定目录下寻找文件;而grep是Linux中最常用的”文本处理工具”之一,grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。那下面我们一起来学习一下怎么使用这两个命令吧!
1. find的基本用法
1)常见的查找条件表示:
- -name 文档名称
- -type 文档类型【f、d、l、b、c】
- -size +|- 文档大小
- -mtime +|- 修改时间
- -user 所属用户
- -group 所属组
例1:通过文件名为“res*.conf”查找包含该名字的文件,如下图
例2:通过文件类型为b(块设备)在目录/dev下寻找文件
例3:按照文件大小寻找文件,这里注意文件找过5M的要用大写字母“M”,但是如果是找kb的话就用小写“k”
例4:若要查找大于5K的文件同时文件名称是“name”,如下图输入命令 ,-a的意义是“and”
2)-exec 命令行 { } \; //这个命令可以处理find文件结果,其中“{}”的意义是将find到的结果嵌入{ }
例1:找出/etc目录下超过5MB的文件,并将其副本放入/root/files目录。这里要注意-exec的参数,正确的格式是find /etc -size +5M -type f -exec cp -p {} /root/files/ \;
2.grep
1) 基本用法
- grep ‘关键词’ 文件
- grep ‘正则表达式’ 文件
2)常见的选项:
- -v: 将条件取反
- --color :突出显示结果
- -w:单词匹配
- -c:统计匹配行数
- -i:忽略大小写
- -o:以列展示
3)简单正则表达式:
- ^word:查找以“word”开头
- word$:查找以“word”结尾
- ^$:查找空行
- -E:支持使用扩展正则表达式(egrep)
例1:例如我们查看网卡时,概述信息太多了,如图1 ,如果我们像只查看inet的信息,可以输入以下命令“ifconfig ens160 | grep "inet ”,如图二
图一
图二
例2:在/etc/hosts目录查找包含“127”和“localhost”的行,这个时候就用-E参数。
例3:完成如下题目:
我们可以通过grep命令找到包含sbin的如果,并重定向到文件root/out.txt中。
今天的内容到这里就结束啦,祝大家周末愉快!!!我去打羽毛球咯!