1.which:查看可执行文件的位置,通过PATH这个环境变量所规范的路径去查询“执行文件”的文件名,如果是是bash内置的命令则查询不到。which后接完整的文件名。

常用参数:-a 将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令。语法:which -a command

2.whereis :查看文件位置,会在指定的目录中查找符合条件的文件,文件的属性一般为原始代码或者二进制文件。

常用选项: 
-b 只查找二进制文件 
-f 不显示文件名前的路径名称 
-m 只查找说明文件 
-M 只在设置的目录下查找说明文件 
-s 只查找原始代码文件 
-S 只在设置的目录下查找原始代码文件 
-u 查找不包含指定类型的文件 

3.locate 查找文件,首先数据库中必须存在;语法:locate  文件或目录名

常见参数:-i 忽略大小写的差异   

              -r后面可接正则表达式的显示方式

如:locate passwd  此时系统中所有与passwd有关的文件名均会被找出。

4.find  在硬盘上遍历查找,其查找功能很强大,查找精确,但是非常消耗硬盘的资源。语法:find [起始目录] [查找标准] [ 执行动作] 

文件名称查找:

-name   :文件名精确匹配,严格区分大小写 如:find  /etc  -name "passwd"
-iname   :忽略名字大小写

-group  :以文件的属主来查找 

-gid n      :寻找群组ID为n的文件
-uid n       :寻找拥有者ID为n的文件
-user name   :寻找用户者名称为name的文件 如:find /home -user student
-type:  文件类型查找 (常见文件类型:d 表示目录; - 表示文件;l表示链接文件;b块设备,表示设备文件里面的可供存储的接口设备;c字符设备) 如:find  /home -type d

文件权限查找:-perm

-perm mode:精确匹配

-perm +mode:有任何一个用户的权限满足即可 如:find -perm +764 查看文件权限为764的文件,此时如果文件的权限为777 070 444 均匹配,都可以显示出来

-perm -mode:所有类别的用户权限都要满足才可以 如:find -perm -764 查看文件权限为764的文件,此时如果文件的权限为777 070 444时,只有777可以匹配,但 070  444 不匹配。

文件大小查找:find -size  +10M 表示查找大于10M的文件

find -size -10M 表示查找小于10M的文件

find -size 10M 表示查找10M的文件

注意:find -size 1M 表示凡是小于1M的文件也可以匹配查找

时间查找:
以天为单位:

-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
 

如:find  /tmp -atime +3 查找/tmp目录下超过3天的文件

find  /tmp -atime -3 查找/tmp目录下3天以内的文件

 

以分钟为单位:

-amin :find / -amin n 最后n分钟
-cmin :find / -cmin n 最后n分钟改变状态