搜索命令

2.1文件搜索命令——locate

#local 文件名  //在后台数据库中按文件名搜索,搜索速度快

/var/lib/mlocate   //locate命令所搜索的后台数据库

Updatedb   //更新数据库

/etc/updatedb.conf  配置文件

PRUNE_BIND_MOUNTS=“yes”——开启搜索限制

PRUNEFS=  ——搜索时,不搜索文件系统

PRUNENAMES=  ——搜索时,不搜索文件类型

PRUNEPATHS=  ——搜索时,不搜索路径

2.2命令搜索命令——whereis

#whereis  命令名  ——搜索系统命令所在路径及帮助文档所在位置

选项:

-b——只查找可执行文件

-m——只查找帮助文件

2.3命令搜索命令——which

#which 命令名——//搜索系统命令所在路径,如果有别名可以看到别名及可执行文件

cd命令是shell自带的,whereis与which看不到,他们只能查看外部的命令

#whatis   命令名  ——//用于查询命令有什么功能

#whoami  ——//查看当前用户是谁

2.4 PATH环境变量——定义系统搜索命令的路径

系统在执行脚本命令时需要绝对路径才能执行,定义PATH环境变量后就可以不用写绝对路径,系统自动到PATH环境变量中搜索命令的路径。如果是自己写的脚本,需要将脚本放到PATH环境变量下,这样,不需要写绝对路径就能能执行命令。否在,还是需要写绝对路径才能执行命令。

Echo   $?PATH

/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

2.5 Find命令——在系统当中搜索符合条件的文件名

#find [搜索范围] [搜索条件] ——搜索文件名

#find  /  -name  install.log

//避免大范围搜索,会非常耗费系统资源

//find是在系统当中搜索符合条件的文件名,完全匹配。如果需要匹配,使用通配符匹配,通配符是完全匹配。

 

如使用:#find  /root  -name  “install.log*”

-iname——不区分大小写搜索

-user——按照所有者搜索

-nouser——查找没有所有者的文件,一般是垃圾文件需要删除(内核产生 外来数据如U盘)

-atime——按照文件访问时间搜索

-ctime——按照改变文件属性搜索

-mtime——按照修改文件内容搜索

-size——按照文件大小搜索(k是小写,M是大写,必须加单位)

-inum——按照i节点大小搜索

#find  /var/log/  -mtime  +10 ——//查找10天前修改的文件

-10:10天内修改文件

10:10天当天修改的文件

+10:10天前修改的文件

#find  /var/log/  -size  25k ——//查找文件大小是25KB的文件

-25k:小于25KB的文件

25k:等于25KB的文件

+25k:大于25KB的文件

#find  /var/log/  -inum  262422——//查找i节点是262422的文件

#find  /etc  -size  +20k -a -size -50k——//查找/etc/目录下,大于20kB且小于50KB的文件

-a——and——逻辑与,两个条件都满足

-o——or——逻辑或,两个条件满足一个即可

#find  /etc  -size  +20k -a -size -50k  -exec  ls  -lh {} \;

——//查找/etc/目录下,大于20kB并且小于50KB的文件,并显示详细信息

-exec 命令  {} \;————该命令能处理前一个命令的结果

-exec/-ok 命令 {} \;————对搜索结果执行操作

2.7字符串搜索命令——grep

#grep [选项]  字符串  文件名——//在文件当中匹配符合条件的字符串

选项:

-i——忽略大小写

-v——取反,排除指定字符串

#grep "牛客" 文件名 | wc -l ——//统计一个文件中"牛客"出现的行数

wc -l——统计行数

wc -w——统计单词数量

Find命令与grep命令的区别

Find命令是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

Grep命令是在文件数据内容当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

猜你喜欢

转载自blog.csdn.net/weixin_42415578/article/details/85233676