which-whereis-locate-grep查找命令
which-whereis-locate-grep find命令使用
查找文件一般有以下几个命令:
which 查看可执行文件的位置
whereis 查看可执行文件的位置及相关文件
locate 配合数据库缓存,快速查看文件位置
grep 过滤匹配,它是一个文件搜索工具
find 查找相关文件
举例:
[root@xuegod63 ~]# which cd
/usr/bin/cd
[root@xuegod63 ~]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/man1p/cd.1p.gz
[root@xuegod63 ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.g
locate
locate命令和find -name 功能差不多,是它的另外一种写法,但是这个要比find搜索快的多,因为find命令查找的是具体目录文件,而locate它搜索的是一个数据库/var/lib/mlocate/mlocate.db,这个数据库中存有本地所有的文件信息;这个数据库是Linux自动创建并每天自动更新维护。相关的配置信息在/etc/updatedb.conf,查看定时任务信息在/etc/cron.daily/mlocate
[root@xuegod63 mnt]# touch /opt/xuegod.txt
[root@xuegod63 mnt]# locate xuegod.txt #发现找不到
[root@xuegod63 mnt]# updatedb #如果对当天文件查找,需要手动更新数据库updatedb
[root@xuegod63 mnt]# locate xuegod
grep查找使用
作用:过滤,它能够使用正则表达式来搜索文本,并把结果打印出来
参数:
-v 取反
-i 忽略大小写
^# 以#开头
#$ 以#结尾
^$ 空行
-n 对过滤的内容加上行号
| 或者的意思
[root@xuegod63 ~]# ps -aux | grep sshd | grep -v grep
root 1089 0.0 0.2 105996 4088 ? Ss 20:19 0:00 /usr/sbin/sshd -D
[root@xuegod63 ~]# grep bash$ /etc/passwd #以bash结尾
[root@xuegod63 ~]# grep "nologin\|root" /etc/passwd | wc -l
36
注: \ 表示转义符
[root@xuegod63 ~]# egrep "nologin|root" /etc/passwd | wc -l #查看包括nologin或root的行
36
注:egrep 是 grep加强版本