這些目錄都是存放指令的,首先差別下/sbin和/bin:
從使用者權限的角度看,/sbin目錄下的指令通常隻有管理者才可以運作,/bin下的指令管理者和一般的使用者都可以使用。
從可運作時間角度看,/sbin,/bin能夠在挂載其他檔案系統前就可以使用。
而/usr/bin,/usr/sbin與/sbin /bin目錄的差別在于:
/bin,/sbin目錄是在系統啟動後挂載到根檔案系統中的,是以/sbin,/bin目錄必須和根檔案系統在同一分區;
/usr/bin,usr/sbin可以和根檔案系統不在一個分區。
/usr/sbin存放的一些非必須的系統指令;/usr/bin存放一些使用者指令,如led(控制LED燈的)。
轉下一位網友的解讀,個人認為诠釋得很到位:
/bin是系統的一些指令。bin為binary的簡寫主要放置一些系統的必備執行檔例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。
/sbin一般是指超級使用者指令。主要放置一些系統管理的必備程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
/usr/bin 是你在後期安裝的一些軟體的運作腳本。主要放置一些應用軟體工具的必備執行檔例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。
/usr/sbin 放置一些使用者安裝的系統管理的必備程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。
如果新裝的系統,運作一些很正常的諸如:shutdown,fdisk的指令時,悍然提示:bash:command not found。那麼
首先就要考慮root 的$PATH裡是否已經包含了這些環境變量。
可以檢視PATH,如果是:PATH=$PATH:$HOME/bin則需要添加成如下:
PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
本文轉自 zfno11 51CTO部落格,原文連結:http://blog.51cto.com/zfno111/1891401