Linux 系统中,命令行下查找文件是基本功,我们来看看常用的 find,grep 命令;
测试文件准备:
我们在 /tmp 中建立两个文本文件:
文本内容:
一,find 命令
1,按照文件名 find:
find /目录 -name 文件名/通配符
例:find ./ -name 'ali*.*'
2,按照文件属性 find:
了解参数:
- -a 访问;
- -m 修改;
- -group 所属组;
- -user 所属用户;
- -size 文件大小;
- -perm 文件权限;
了解时间相关:
- min 分钟;
- time 天数;
了解数字,例子:
- 5:5分钟/天
- -5:5分钟/天内
- +5:5分钟/天前
命令举例:
find ./ -mmin -5 (先vim一下文件,然后查找5分钟内修改过的文件)
- find ./ -amin -10 # 查找当前文件夹,10分钟内访问过的文件;
- find ./ -atime -2 # 查找当前文件夹,2天内访问过的文件;
- find ./ -empty # 查找当前文件夹,为空的文件或者文件夹;
- find ./ -group g1 # 查找当前文件夹,属组为 g1 的文件;
- find ./ -mmin -5 # 查找当前文件夹,5分钟内修改过的文件;
- find ./ -mtime -1 # 查找当前文件夹,1天内修改过的文件;
- find ./ -user root # 查找当前文件夹,属于用户 root 的文件;
- find ./ -size +27c #查找当前文件夹,大于27字节的文件
c:字节byte,w:双字,k:KB,M:MB,G:GB
3,使用混合查找: !,-and(-a),-or(-o);
- find ./ -size +30c -and -mmin -5
- # 查找大于30字节,并且5分钟内修改过的文件;
grep 命令:数据内容查找
1,主要参数
- -n:显示匹配行及行号;
- -s:不显示错误信息;
- -i:不区分大小写;
- -c:只输出匹配行的计数;
- -h:不显示文件名;
- -l: 只输出文件名;
- -v:反转显示;
2,正则表达式
- \: 转义字符;
- ^:开始;
- $:结束;
- \
- \>:到匹配正则表达式的行结束;
- [ ]:单个字符;
- [ - ]:范围,如[a-z],即a到z小写字符都符合要求;
- .:所有的单个字符;
- * :所有字符,长度可以为0;
查找,在ali开头文件中的,查询连续出现4个a到c字母的情况;
| 管道输出的再过滤
netstat -tlnp | grep 192.168
ifconfig | grep 192.168
今天先到这里,该吃午饭了;
个人头条链接:
閱讀更多 你永遠得不到的小老弟 的文章