- PATH环境变量,记录了所有可以直接执行的二进制命令的原件或者链接
harvey@ubuntu:/etc$ echo $PATH /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PATH这个作用域是可执行的二进制命令:which---搜索整个PATH路径,查找当前搜索的命令是否存在,或具体是那个路径下的文件(如find) ; type---有些命令虽然可以执行但是which搜索不到命令的位置,可以使用type查看是否是内置命令(如cd);whereis---可以搜索所有的包含的二进制文件的文件、文件夹和man手册,如果这里搜索不到man位置,那么肯定就不存在指定的man手册。
harvey@ubuntu:/etc$ which find #用which所有PATH找到位置 /usr/bin/find harvey@ubuntu:/etc$ which cd #内置命令没有返回结果 harvey@ubuntu:/etc$ type cd #type发现是内嵌命令 cd 是 shell 内嵌 harvey@ubuntu:/etc$ type find #type也有which的效果,但是关键还透露是被哈希 find 已被哈希 (/usr/bin/find) harvey@ubuntu:/etc$ whereis cd #whereis没有找到cd的man压缩文件 cd: harvey@ubuntu:/etc$ man cd #所以man手册提示没有页目 没有 cd 的手册页条目 harvey@ubuntu:/etc$ man find harvey@ubuntu:/etc$ whereis find #找到find位置和man压缩文件 find: /usr/bin/find /usr/bin/X11/find /usr/share/man/man1/find.1.gz harvey@ubuntu:/etc$ whereis init #找到所有有init二进制的文件 文件夹和man压缩文件 init: /usr/src/linux-headers-3.11.0-15/init /usr/src/linux-headers-3.11.0-15-generic/init /sbin/init /etc/init.d /etc/init /lib/init /usr/share/man/man8/init.8.gz /usr/share/man/man5/init.5.gz
- which type wheris都是和二进制的执行命令相关,还有两个全能的查找命令。find---查找磁盘 location,locate--所有/var/lib/locatedb数据库
- 。。。
参考资料:Linux的五个查找命令:find,locate,whereis,which,type