/bin,/sbin,/usr/sbin,/usr/bin目錄之簡單區別
/bin,/sbin,/usr/sbin,/usr/bin 目錄
這些目錄都是存放命令的,首先區別下/sbin和/bin:
從命令功能來看,/sbin 下的命令屬於基本的系統命令,如shutdown,reboot,用於啟動系統,修復系統,/bin下存放一些普通的基本命令,如ls,chmod等,這些命令在Linux系統裡的配置文件腳本裡經常用到。
從用戶權限的角度看,/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