微信公众号:51码农网
专业编程问答社区
www.51manong.com

用ls命令举例,在linux中,执行ls命令,会经过几个查找过程寻找到ls程序。
alias中查找alias可以用来设置命令别名,例如

alias la='ls -lrt'alias ls='ls  --color=auto'

如果在这里找到了,就会执行下去。如果没有找到,就会继续寻找下去

内置命令中查找
在shell中,如果是内置命令,则会直接执行,否则还会继续寻找下去。用help命令看有哪些内置命令。

[root@iz2ze720onwdpm0gqiky35z ~]# help....type [-afptP] name [name ...]pwd [-LP]echo [-neE] [arg ...]....

通过type命令查看命令类型

[root@iz2ze720onwdpm0gqiky35z ~]# type pwdpwd is a shell builtin

PATH中查找
shell中输入ls命令,首先它会从PATH环境变量中查找。看看PATH的内容:

[root@iz2ze720onwdpm0gqiky35z ~]# echo $PATH/otyu/java/jdk1.7.0_75/bin:/otyu/java/jdk1.7.0_75/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

它会在这些路径下寻找ls程序,按照路径找到的第一个ls程序会被执行。我们在看一下ls命令的位置:

[root@iz2ze720onwdpm0gqiky35z ~]# whereis lsls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

可以看出ls是在/usr/bin/目录下的。如果将ls命令移到其他目录,执行ls命令,就提提示你没有安装这个程序或者没找到命令。