linux之查找指令

Linux 常用的查找命令find、locate、whereis、which、type。

  • 对比
指令示例描述
findfind ./ -name httpclient.zip遍历查找任何类型文件
locatelocate ./ httpclient.zip类似“find -name”,但由于是在本地数据库搜索,要比find更快
whereiswhereis -b ps只能搜索二进制文件(-b)、源代码文件(-s)、说明文件(-m)
whichwhich ls只能在 PATH 变量指定的路径中搜索
typetype apt-get主要用于程序类型判断,shell内建程序,还是外部独立程序
  • find
eric@eric-PC:~$ find ./ -name httpclient.zip
./Documents/linux-c/httpclient.zip
  • locate

locate 是在本地数据库里面进行查找,所以会比find查找更快。但是由于本地数据库并不是实时更新,会导致新建的文件并不能用locate查找到,可以手动updatedb,进行更新数据库

eric@eric-PC:~$ sudo updatedb
/usr/bin/find: '/run/user/1000/gvfs': Permission denied
eric@eric-PC:~$ locate ./ httpclient.zip
/home/eric/Documents/linux-c/httpclient.zip

  • whereis

该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
-b  只查找二进制文件

eric@eric-PC:~$ whereis -b ps
ps: /bin/ps
eric@eric-PC:~$ 
eric@eric-PC:~$ whereis -b arm-linux-gcc
arm-linux-gcc: /usr/local/arm/arm-linux-gcc-4.3.2/bin/arm-linux-gcc
eric@eric-PC:~$ 

  • which

只能在系统PATH路径中查找,echo $PATH 可以查看系统PATH

eric@eric-PC:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin:/usr/sbin
eric@eric-PC:~$ which ls
/usr/bin/ls
  • type

主要用来区分是shell内建程序,还是外部独立程序。如果是外部独立程序,则会提示对应的路径。

eric@eric-PC:~$ type cd 
cd 是 shell 内建
eric@eric-PC:~$ type apt-get
apt-get 是 /usr/bin/apt-get
eric@eric-PC:~$ 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值