2.其他搜索命令
(1) locate(快速搜索)
相当于windows上的everything软件,定位一个文件所在路径,对它实际上是建立了一个文件资料库,更新资料库updatedb
所在路径:/usr/bin/locate
执行权限:所有用户
语法:locate 文件名
功能描述:在文件资料库中查找文件
注:
a. 升级locate资料库:updatedb
当新建一个文件时,需要升级
b. 有些目录下的文件并不被搜录到文件资料库中
比如当找的文件存放在/tmp下面时,找不到,因为是存放临时文件的目录
范例:
例:touch /root/Teacher.Cang
update
locate teacher.cang
找不到,英文linux严格区分大小写
若想在查找时不区分大小写,可加-i选项即:locate -i teacher.cang
(2) which(精确搜索快速查找一个命令所在绝对路径和别名的方法)针对命令搜索
所在路径:/usr/bin/which
执行权限:所有用户
语法:which 命令
功能描述:搜索命令所在目录及别名信息
例:which ls
存放在/bin或/usr/bin下的文件是所有用户都可以使用的命令
存放在/sbin或/usr/sbin下的是只有root才可以使用的命令
(3) whereis(找一个目录所在路径)针对命令搜索
所在路径:/usr/bin/whereis
执行权限:所有用户
语法:whereis [命令名称]
功能描述:搜索命令所在目录及帮助文档路径
例:whereis ls
(3) grep(在文件内容中搜索)
所在路径:/bin/grep
执行权限:所有用户
语法:grep -iv [指定字串] [文件]
功能描述:在文件中搜寻字串匹配的行并输出
-i 不区分大小写
-v 排除指定字串
范例:
先看一个文件more /etc/inittab 在出现的很多行中只找和自己信息相关的行,比如和multiuser相关
grap multiuser /etc/inittab
不区分大小写-i:grap -i multiuser /etc/inittab
去掉注释行-v:grep -v ^# /etc/inittab 去掉所有以#开头的行