作用:
which 命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录, which 命令会在环境变量$PATH 设置的目录里查找符合条件的文件。也就是说,使用which命令就可以看到某个系统指令是否存在,以及执行的命令位置。
语法:
选项:which (选项)(参数)
-n : 文件名长度,指定文件名长度,指定的长度必须大于或等于文件中最长的文件名。-p : 文件名长度,与-n 参数相同,此处包含文件路径-w : 指定输出时栏位的宽度-v :显示版本信息实例:
查找文件、显示命令路径which pwd : /bin/pwdwhich adduser: /usr/sbin/adduserwhich 是根据使用者所配置的PATH变量内的目录去搜索可运行档的, 所以,不同的PATH配置内容找的的命令是不一样的。
二、type
作用:
用来显示指定命令的类型,判断出命令是内部命令还是外部命令。
命令类型:
语法:alias: 别名keyword:关键字, shell 保留字function:函数, shell函数builtin: 内置命令,shell内建命令file: 文件,磁盘文件,外部命令unfound: 没有找到
type (选项)(参数)选项:
-t: 输出file/alias/builtin ,分别表示给定命令为外部命令,命令别名,内部命令-p:如果给出的指令为外部命令,则显示绝对路径-a:在环境变量PATH指定的路径中,显示给定指令信息,包括命令别名。
实例:
type ls : ls is aliased to ‘ls --color = tty‘type cd : cd is a shell builtintype date : date is /bin/datetype mysql: mysql is /usr/bin/mysqltype nginx: -bash :type:nginx:notfoundtype if :if is a shell keywordtype which : which is aliased to ‘alias | /usr/bin/which --tty -only --read-alias --show -dot --show-title‘type -a cd : cd is a shell builtintype -t cd : builtintype -a grep: grep is /bin/grep
三、whereis
作用:
选项:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis 查找的速度非常快, 这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis 和locate 时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很快。但是该数据库文件并不是实时更新,默认情况下一周更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的文件, 或者刚刚建立的文件没有办法找到, 原因就是数据库文件没有更新。
-b 只查找二进制文件。-B <目录>只在设置的目录下查找二进制文件。-f 不显示文件名前的路径名称。-m 只查找说明文件。-M <目录>只在设置的目录下查找说明文件。
-s 定位源代码文件。-S <目录>只在设置的目录下查找源代码文件。-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
参数:
指令明: 要查找的二进制程序,源文件和man手册的指令名。实例:
whereis tomcat: tomcat: tomcat没有安装,查询不出whereis svn : svn:/usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gzwhereis -b svn: svn: /usr/bin/svn /usr/local/svnwhereis -m svn: svn: /usr/share/man/man1/svn.1.gzwhereis -s svn:svn :
作用:
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,是最近才建立或刚更名的数据,可能会找不到,执行updatedb则会更新数据库。
参数:
-i 忽略大小写
-e 将排除在寻找的范围之外。
-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。实际搜寻硬盘查询文件名称
-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。
-q 安静模式,不会显示任何错误讯息。
-n 至多显示 n个输出。
-r 使用正规运算式 做寻找的条件。
-o 指定资料库存的名称。
-d 指定资料库的路径
-h 显示辅助讯息
-V 显示程式的版本讯息
实例:
locate pwd: 查找和pwd 相关的所有文件locate /etc/sh : 查找etc文件下所有以sh 开头的文件locate -i ~/m : 查找用户主目录下所有以m/M开头的文件
原文:http://www.cnblogs.com/LinuxSuDa/p/4366574.html