Linux查找文件

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:~# 

 

你可能感兴趣的:(linux)