注意usr 指 Unix System Resource,而不是User
/bin 主要存放所有用户(包括超级用户及一般用户)都可以用的系统程序,即普通的基本命令,如:cat, mkdir,touch,ls
/sbin 主要存放超级用户才能使用的系统程序,即基本的系统命令,如:poweroff,reboot
usr/bin 存放所有用户都可用的应用程序,包括系统安装时自带的一些可执行程序,即系统程序,会随着系统升级而改变,轻易不要去动里面的东西,容易出错。一般是已安装软件的运行脚本,如:free、make、wget
/usr/sbin 存放超级用户才能使用的应用程序 ,一般是与服务器软件程序命令相关的,如:dhcpd、 httpd、samba等。
/usr/local/bin 是给所有用户放置自己的可执行程序的地方如都第三方软件程序,推荐放在这里,不会被系统升级而覆盖同名文件。如mysql
/usr/local/sbin 存放超级用户才能使用的第三方软件,如nginx
所以一般我们下载的第三方软件可以放在/usr/local/bin/里面,就不用设置环境变量了,在任何路径都可以运行。
如果目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响。
比如PATH变量为:
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin
那这里的/usr/local/bin优先于/usr/bin。