which 可以查找可执行文件的位置
evilxr@IdeaPad:~$ which ping /bin/ping
whereis
whereis -m 可查询到命令的帮助文档在什么地方
evilxr@IdeaPad:~$ whereis -m ls ls: /usr/share/man/man1/ls.1.gz evilxr@IdeaPad:~$ whereis -m pwd pwd: /usr/share/man/man1/pwd.1.gz
evilxr@IdeaPad:~$ whereis pwd pwd: /bin/pwd /usr/include/pwd.h /usr/share/man/man1/pwd.1.gz
输出信息有三条
1.命令本身所在目录
2.其源文件所在目录
3.其帮助文档所在目录
locate 基于本地计算机数据库(计算机磁盘信息),速度比find快些。locate一般是在晚上更新数据库,但是也可以自己手动更新
root@IdeaPad:~# sudo updatedb
root@IdeaPad:~/test# ls 1.txt 2.txt aa.tar.gz ab.tar.bz2 ac.tar ac.tar.bz2 ac.tar.gz root@IdeaPad:~/test# locate aa.tar.gz /root/test/aa.tar.gz root@IdeaPad:~/test# cd /tmp root@IdeaPad:/tmp# locate aa.tar.gz /root/test/aa.tar.gz root@IdeaPad:/tmp#
创建一个新文件,用locate试试~ root@IdeaPad:~/test# touch aobama root@IdeaPad:~/test# ed aobama 0 a 我是新创建的文件, 看下locate命令能找到我么~ . w 63 q root@IdeaPad:~/test# locate aobama root@IdeaPad:~/test# 结果找不到~
更新数据库后看下: @IdeaPad:~/test# sudo updatedb root@IdeaPad:~/test# locate aobama /root/test/aobama root@IdeaPad:~/test#
find 命令 全盘扫描,类似windows的查找;速度比较慢
find可以基于文件名查找
root@IdeaPad:~# find ./ -name 'te*' ./test root@IdeaPad:~# find ./ -name '1*' ./test/1.txt ./1.txt root@IdeaPad:~#