微信公众号:爱问CTO
专业编程问答社区
www.askcto.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 pwd
pwd 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 ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
可以看出ls是在/usr/bin/目录下的。如果将ls命令移到其他目录,执行ls命令,就提提示你没有安装这个程序或者没找到命令。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。