locate
功能描述
locate 可以快速根据文件名快速的检索文件和目录,因为其内部维护的是一个文件资料库,所以每次查找的时候都是在这个文件库中查找,而不是像find一样去逐盘扫描。使用此命令唯一的缺点是有时候搜索可能吧不及时,但是每次使用之前可以使用updatedb
命令来更新文件库。
安装
根据yum的软件源不同,需要安装的软件名也不同,一般是 yum install locate
或 yum install mlocate
来安装locate命令。
使用
示例代码
[root@bogon tmp]# cd /home/qinxianyou
[root@bogon qinxianyou]# ls
duanbang vimrc
[root@bogon qinxianyou]# touch Duanbang
[root@bogon qinxianyou]# ls
duanbang Duanbang vimrc
[root@bogon qinxianyou]# locate duanbang
/home/qinxianyou/.duanbang.swp
/home/qinxianyou/duanbang
/root/duanbang
[root@bogon qinxianyou]# locate -i duanbang
/home/qinxianyou/.duanbang.swp
/home/qinxianyou/duanbang
/root/duanbang
[root@bogon qinxianyou]# updatedb
[root@bogon qinxianyou]# locate -i duanbang
/home/qinxianyou/.duanbang.swp
/home/qinxianyou/Duanbang
/home/qinxianyou/duanbang
/root/duanbang
[root@bogon qinxianyou]# locate -il 2 duanbang
/home/qinxianyou/.duanbang.swp
/home/qinxianyou/Duanbang
[root@bogon qinxianyou]#
[root@bogon qinxianyou]# locate duanbang
/home/qinxianyou/.duanbang.swp
/home/qinxianyou/duanbang
/root/duanbang
[root@bogon qinxianyou]#
相关命令
命令 | 解释 |
---|---|
locate duanbang | 一般搜索 |
locate -i duanbang | 不区分大小写搜索 |
locate -l [n] duanbang | 显示前n项搜索结果 |
需要注意的是,此命令并不会搜索出tmp下的文件,而且无需使用* ?之类的通配符就能实现模糊搜索,查找系统文件的时候比较实用
which和whereis
功能描述
whick搜索命令所在目录及别名信息;whereis搜索命令所在目录及帮助文档路径
关于别名的一点基础认识
别名就相当于给命令起了一个外号,执行一些额外的操作,这个以后的日志中会详细解释。
使用
示例代码
[root@bogon qinxianyou]# which ls
alias ls='ls --color=auto'
/bin/ls
[root@bogon qinxianyou]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
[root@bogon qinxianyou]#
相关命令
命令 | 解释 |
---|---|
which ls | 查找ls的别名信息和目录所在地 |
whereis ls | 查找ls所在路径和帮助文档路径 |
文件搜索命令 grep
功能描述
在文件中搜寻字符串匹配的行并输出
使用
示例代码
[root@bogon qinxianyou]# grep multiuser /etc/inittab
# 3 - Full multiuser mode
[root@bogon qinxianyou]# grep -i multiusEr /etc/inittab
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
[root@bogon qinxianyou]# grep -v ^# /etc/inittab
id:3:initdefault:
[root@bogon qinxianyou]#
相关命令
命令 | 解释 |
---|---|
grep multiuser /etc/inittab | 查找inittab文件中有multiuser字符串所在的行 |
grep -v ^# /etc/inittab | 排除所有开头是#号的注释行 |
grep -i multiusEr /etc/inittab | 不区分大小写搜索 |