linux命令--查找命令(find、locate、whereis、which、type)

1.which命令

which命令是在PATH变量指定的路径中搜索指定的系统命令的位置。用echo $PATH可显示当前PATH变量的值。

 -a:将所有由PATH目录中可以找到的命令均列出来,而不是只列出第一个被找到的命令。

2.whereis命令

命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。

-b 只查找二进制格式的文件

-m 只查找在说明文件manual路径下的文件

-s 只招source源文件

-u 查找不在上述三个选项当中的其他特殊文件

3.find 命令

find是最常用也是最强大的查找命令,它可以查找任何类型的文件。

使用格式    find  [指定查找目录]  [查找规则]  [查找完后执行的action]

常见参数:

-name 按照名字查找

-perm 安装权限查找

-prune 不再当前指定的目录下查找

-user 文件属主来查找

-group 所属组来查找

-nogroup 查找无有效所属组的文件

-nouser 查找无有效属主的文件

-type 按照文件类型查找

举例

 //可使用正则表达式

在当前目录及子目录中,查找不是out开头的txt文件   
$ find . -name "out*" -prune -o -name "*.txt" -print 

查找2天内被更改过的文件 
$ find . -mtime -2 -type f -print

查找2天前被更改过的文件 
$ find . -mtime +2 -type f -print

查找一天内被访问的文件 
$ find . -atime -1 -type f -print

查找一天前被访问的文件 
$ find . -atime +1 -type f -print

查找一天内状态被改变的文件 
$ find . -ctime -1 -type f -print

查找一天前状态被改变的文件 
$ find . -ctime +1 -type f -print

查找10分钟以前状态被改变的文件 
$ find . -cmin +10 -type f -print

查找比aa.txt新的文件 
$ find . -newer "aa.txt" -type f -print

查找比aa.txt旧的文件 
$ find . ! -newer "aa.txt" -type f -print   
查找比aa.txt新,比bb.txt旧的文件 
$ find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print 

查找超过1M的文件 
$ find / -size +1M -type f -print

查找等于6字节的文件 
$ find . -size 6c -print   

      查找小于32k的文件 
      $ find . -size -32k -print

4.locate

locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同,它比find快得多。因为它不搜索具体目录,而是在一个数据库(/var/lib/locatedb)中搜索指定的文件。次数据库含有本地文件的所有信息,此数据库是linux系统自动创建的,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,默认情况下为每天更新一次,所以用locate命令你搜索不到最新更新的文件,除非你在用locate命令查找文件之前手动的用updatedb命令更新数据库。

注意:每次有新文件更新和删除之后,在updatedb之前数据库中保存的文件信息不会改变,即新添加一个文件之后,updatedb之前用locate搜索不到指定的文件。同样再删除一个文件信息已经在数据库中的文件时,updatedb之前用locate照样能搜索到该文件的信息,,尽管此时该文件已经不存在了。

5.type 命令

type命令主要用于区分一个命令到底是shell自带的还是外部独立的二进制文件提供的。如果是shell自带的则会提示此命令为shell buildin,否则会列出命令的位置。例如:cd为shell自带的命令,当用which查找时,which会按照PATH变量设置的路径进行搜索,结果显示no cd in...;用type cd则显示cd为shell buildin命令。ssh不是shell自带命令,用type时会显示ssh的路径。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值