Linux下的文件查找——type whereis which find locate


1.type命令 

用途说明:

type命令用来显示指定命令的类型。一个命令的类型可以是如下之一

  • alias 别名
  • keyword 关键字,Shell保留字
  • function 函数,Shell函数
  • builtin 内建命令,Shell内建命令
  • file 文件,磁盘文件,外部命令
  • unfound 没有找到

它是Linux系统的一种自省机制,知道了是那种类型,我们就可以针对性的获取帮助。比如内建命令可以用help命令来获取帮助,外部命令用man或者info来获取帮助。

常用参数

type命令的基本使用方式就是直接跟上命令名字。

type -a可以显示所有可能的类型,比如有些命令如pwd是shell内建命令,也可以是外部命令。

type -p只返回外部命令的信息,相当于which命令。

type -f只返回shell函数的信息。

type -t 只返回指定类型的信息。

 

Type:类似于which,快,但是只能用用语bash环境 

2.whereis 

Whereis:找出可执行文档、程序等等(只能找系统规定的某些文件路径,找到的是系统命令和内建命令,man文档等等的位置)

whereis命令会在指定的目录中查找符合条件的文件,文件应的属性应属于原始代码,二进制文件,或是帮助文件。优点是快速,可以找到脚本和普通文件,因为是数据库存储的,但是往往能找到已经删掉的文件不能找到刚刚创建的文件。Find虽然准确,但是相对缓慢。另外locate命令也有相同的效果,不过也有同样的问题,可以使用updatedb来更新数据库。 

3.Find:查找并处理特定文件 

FindDIR(目录) EXP(搜索条件)ACTION(动作)

-namepattern找出名称、路径名称、符号

-typef|d|l|b|c|p|s只搜普通文件、目录、符号连接、块设备、字符设备、具名管道、或者socketl

Find / -name boot -type d:查找/下面boot文件夹

查找当前目录下面的最大文件:

find -type f -exec stat -c "%s %n" {} \; | sort -nr | head -1

注意:-exec选项的应用 

4.Locate 

5.Which:查找特定的可执行文件,指明它的位置(从PATH中寻找) 

Which

语  法:which[文件...]

补充说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。即查找的是二进制可执行文件。

 -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

 -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。

 -w 指定输出时栏位的宽度。

 -V 显示版本信息

我们在某个用户下面输入某个命令,如果出现“commandnot found”,那么一个很有可能的原因就是,该命令的二进制可执行文件不在该用户的环境变脸之内

相关内容