linux下/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin的区别

注意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。

猜你喜欢

转载自blog.csdn.net/qq_38242534/article/details/121390684