Linux目錄配置及文件名種類與擴展名
一、FHS目錄配置標準
在FHS標準誕生之前,由于有很多公司為Linux開發產品,而又各自有各自的存放路徑,所以導致管理困難,因此誕生了FHS標準。
FHS 依據文件系統使用的頻繁與否與是否允許用戶隨意更改,將目錄定義成四種交互作用的形態。如下圖
可分享的:可以分享給其他系統掛載使用。
不可分享:自己機器上面運行的設備文件或者是與程序有關的socket文件等。
不變的:有些數據不會經常變動,跟隨著發行版本而不變動。 可變動的:經常改變的數據。
由上圖可知,Linux文件系統就是一個倒狀的樹狀結構,而根目錄就是一切目錄的起點,正所謂普天之下莫非王土。這證明了根目錄的重要性。
以下內容為直譯和借鑒網上文檔翻譯的FHS 2.3 版本,具體英文版本請查看FHS官網
/ (根目錄):根據FHS英文文檔意思,希望根目錄所再分區越小越好,而且應用程序或者其他數據盡量不要放在根目錄,這樣的話,性能較好,而且不易出現問題。
/bin 存放二進制命令目錄,這些命令能被管理員和用戶使用,而且放置的這些命令是在單用戶模式(關于單用戶模式,請見后續博客)下還能夠被使用的操作命令。還包含一些被腳本間接使用的命令
/boot 這個目錄主要在放置開機會使用到的文件,包括Linux核心文件以及開機菜單與開機所需配置文件等等
/dev 在Linux系統上,任何設備與周邊設備都是以文件的型態存在于這個目錄當中的。 你只要通過存取這個目錄下面的某 個文件,就等于存取某個設備 比較重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd*等等> b: block device,隨機訪問
c: character device,線性訪問/etc 系統主要的配置文件幾乎都放置在這個目錄內,例如人員的帳號密碼文件、 各種服務的啟始文件等等。一般來說,這個目 錄下的各文件屬性是可以讓一般使用者查閱的, 但是只有root有權力修改。FHS建議不要放置可可執行文件 在這個目錄中。比較重要的文件有: /etc/modprobe.d/, /etc/passwd, /etc/fstab, /etc/issue 等等。另外 FHS 還規范幾個重要的目錄最好要存在 /etc/ 目錄下: /etc/opt(必要):這個目錄在放置第三方協力軟件 /opt 的相關配置文件
/etc/X11/(建議):與 X Window 有關的各種配置文件都在這里,尤其是 xorg.conf 這個 X Server 的配置文件。
/etc/sgml/(建議):與 SGML 格式有關的各項配置文件
/etc/xml/(建議):與 XML 格式有關的各項配置文件/這是系統默認的用戶主文件夾(home directory)。在你新增一個一般使用者帳號時, 默認的用戶文件夾都會規范到這里來。比較重要的是,主文件夾有兩種代號:
~:代表目前這個使用者的主文件夾
~mageedu :則代表 mageedu 的主文件夾/run 這個目錄在CentOS 6系列發行版中是/var/run ,它的作用是某些程序或者是服務啟動后,會將他們的PID放置在這個目錄下。
/sbin 系統管理才能夠使用的命令,包含一些開機,修復,還原系統所需要的命令,里面有很多被用來設置系統環境的。
/tmp 這是讓一般使用者或者是正在執行的程序暫時放置文件的地方。 這個目錄是任何人都能夠存取的,所以你需要定期的清理一下。當然,重要數據不可放置在此目錄??! 因為FHS甚至建議在開機時,應該要將/tmp下的數據都刪除
/lib:啟動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules) > /lib64:專用于x86_64系統上的輔助共享庫文件存放位置
/opt:FHS建議第三方應用程序的安裝位置
/srv:系統上運行的服務用到的數據
/media:便攜式移動設備掛載點
/mnt:臨時文件系統掛載點/proc: 用于輸出內核與進程信息相關的虛擬文件系統
/sys:用于輸出當前系統上硬件設備相關信息虛擬文件系統
/selinux: security enhanced Linux, selinux相關的安全策 略等信息的存儲位置
/usr 這是一個層級結構目錄,與軟件安裝/執行有關。下面包含上述所有的目錄。根據FHS定義,這里面主要放置可分享的與不可變動的數據。
/var 這也是一個層級機構目錄,與系統運作有關。這個目錄主要是針對常變動的文件,例如緩存、登陸文件、以及某些程序運行產生的文件。隨著系統的運行逐漸占用系統硬盤。
二、文件種類及擴展名
文件種類
普通文件(-),就是一般我們在進行訪問的文件類型,根據文件種類分為三種:
1.純文本文件(ASCII):這是Linux操作系統中最多的一種文件類型,文件內容為我們可以直接讀取的數據,例如:數字,字母等
2.二進制文件(binary):以0.1 二進制形式存放的文件
3.數據格式文件(date):某些特定格式的文件,e.g./var/log/wtmp
目錄(d):文件夾的意思
鏈接文件(link):類似windows下面的快捷方式,不過這里分為硬鏈接和軟鏈接,具體區別,請看本博客中的關于《硬軟鏈接的區別》的博文
設備與設備文件(device):與系統外設有關的文件,都集中在這里面,在這又分為兩種
1.塊設備文件(block):存儲數據及提供系統隨機訪問的借口設備。e.g.硬盤、光盤
2.字符設備文件(character):串行端口的接口設備,例如鼠標、鍵盤等
3.套接字(socket):是有ip:port 構成,常見于網絡通信中
4.管道(pipe):一言兩句說不清,請自行man fifo。
Linux文件擴展名
Linux中沒有硬性規定文件格式,當時為了方便日常管理、使用某一類文件,對文件進行了一定的定義,不按照這種格式也能運行。
.sh 腳本或批處理文件(script)
.Z .tar .tar.gz .zip .tgz 打包壓縮文件
.html .php 網頁相關文件
Linux文件長度
1.不能使用/作為文件名,但是也建議不要用特殊字符來設置文件名,因為這些特殊字符在Linux中有特殊含義。
2.單一文件或者目錄最長為255個字符。
原創文章,作者:fighter,如若轉載,請注明出處:http://www.www58058.com/26939