鳥哥的Linux私房菜——Linux目錄配置
在學習檔案相關命令之前,我們先來了解一些Linux目錄配置和檔案型別等基礎知識,以便我們更好的理解命令中出現的一些資訊。
一、Linux目錄配置標準:FHS
FHS(Filesystem Hierarchy Standard):規範每個特定目錄下應存放的資料內容,主要目的是希望使用者可以瞭解到已經安裝軟體通常放置於哪個目錄。 事實上,FHS針對目錄樹架構僅僅定義出三層目錄下應該存放的資料內容。
- /(root,根目錄)——與開機系統有關
- /usr(UNIX software resource)——與軟體安裝和執行有關
- /var(variable)——與系統運作過程有關
1、根目錄下的子目錄
根目錄是Linux系統中最重要的一個目錄,它與開機、還原、系統修復等操作有關。由於系統開機時需要特定的開機軟體、核心檔案、開機所需程式、函式庫等檔案資料,若系統出錯,根目錄必須要有能夠恢復檔案系統的程式,故根目錄特別重要,FHS希望根目錄不要放在非常大的分割槽裡。因為分割槽越大存放的資料越多,根目錄所在的分割槽出現錯誤的機會就會越大。
因此,FHS標準建議根目錄(/)所在分割槽應越小越好,且應用程式所安裝的軟體最好不要與根目錄存放在同一分割槽中。
FHS定義根目錄下應包含的子目錄:
- /bin——放置可執行二進位制檔案的目錄,包含單使用者維護模式下還能被操作的命令。主要有cat、chmod、chown、date、 mv、mkdir、cp、bash等常用命令。
- /boot——放置裝載開機會使用到檔案的目錄,包括Linux核心檔案以及開機所需的配置檔案等。Linux kernel 常用的檔名為 vmlinuz 。若使用grub引導裝載程式,則還會用到 /boot/grub這個目錄。
- /dev——放置裝置檔案的目錄,通過訪問目錄下的某個檔案,就等於訪問某個設配。比較重要的檔案 有:/dev/null,/dev/zero/,/dev/tty,/dev/sd*等。
- /etc——放置系統主要配置檔案的目錄,包括使用者的賬號密碼檔案(/etc/passwd存放賬號,/etc/shadow存放賬號的密碼信 息)、各種服務的起始檔案等。FHS建議
- /home——放置系統預設的使用者主資料夾的目錄,當建立新使用者時,預設的使用者主資料夾都放置在該目錄下。 注意:主檔案 件夾有兩種表示方式:(1)~:代表當前使用者的主檔案件(2)~buzi:代表buzi使用者的主資料夾
- /lib——放置系統開機時會用到的函式庫,以及在/bin或/sbin下面的命令會呼叫的函式庫。注意:/lib/modules目錄比較重 要, 存放核心相關的驅動程式。
- /media——放置可刪除的裝置檔案目錄,包括軟盤、光碟、DVD等裝置都臨時掛載於此目錄下。
- /mnt——放置暫時掛載某些額外裝置的檔案目錄
- /opt——放置第三方軟體檔案的目錄,第三方軟體指非原本的distribution提供的、自行安裝的額外軟體。比如:KDE桌面管理 系統。
- /srv——放置網路服務啟動後,所需取用的資料檔案目錄,比如:WWW服務需要的網頁資料可存放在/srv/www目錄下。
- /tmp——放置臨時檔案的目錄,任何人都可以訪問該目錄,需定期清理,重要資料請勿放在該目錄下。
2、/usr下的子目錄
首先注意usr是UNIX Software Resource的縮寫,而非user的縮寫。它是“UNIX 作業系統軟體資源”所放置的目錄,而不是使用者資料。/usr裡面放置的資料屬於可分享的和不可變的。FHS建議開發者應將他們的資料合理地放置到該目錄下的子目錄下。/usr目錄有點類似Windows下的“C:\Windows\”和“C:\Program files ”的綜合體,當Linux系統安裝完畢時,該目錄會佔用最多的硬碟容量。
一般來說,/usr目錄應具有以下的子目錄:
- /usr/bin——系統預裝的可執行程式,使用者可使用的絕大部分命令都放在這裡。
- /usr/include——C/C++等程式語言的標頭檔案與包含檔案
- /usr/lib——包含各應用軟體的函式庫、目標檔案以及不被一般使用者慣用的執行檔案或指令碼
- /usr/local——系統管理員在本機自行安裝自己下載的軟體,建議安裝到此目錄下
- /usr/sbin——非系統正常執行所需要的系統命令
- /usr/share——放置共享檔案。/usr/share/man:線上幫助檔案
- /usr/src——建議原始碼放置在該目錄下
3、/var目錄下的子目錄
var目錄主要針對常態性變動的檔案,包括快取、登入檔案、以及某些軟體執行所產生的檔案,還包括程式檔案MYSQL資料庫檔案等。
- /var/cache——應用程式本身執行時產生的一些暫存檔案
- /var/lib——程式正常執行過程中需使用到的資料檔案(可變的)
- /var/lock——鎖定檔案,某些資源一次只能被一個應用程式佔用,兩個程式同時使用該資源會發生錯誤。因此需要將該裝置上鎖,以確保該檔案只會被單一程式使用
- /var/log——放置登入檔案
- /var/run——某些程式或者服務啟動後,會將他們的PID放置在該目錄下
參考部落格的連結: