一、文件系統的FHS標準
因為Linux的屬于開源系統,開發人員多,為了統一開發標準,Linux有一個文件系統標準,也就是FHS(Filesystem HierarchyStandard)標準。有了這個標準,那些獨立的軟件開發商、系統開發人員以及系統的使用者就能方便的在系統上操作。
二、文件系統
在FHS中,不管文件和目錄是否存儲在一個物理設備中,都會出現在根目錄“/”下,顯示成一個單根倒置的目錄樹,以.開頭的文件為隱藏文件,表示文件時,不同級別的路徑用“/”分割。每一個文件的數據分為兩類:元數據(metadata)和數據(data),元數據表示該文件的屬性數據,包括文件類別、權限、大小等;數據則是文件中保存的內容數據。目前文件系統廣泛使用的標準文件格式為ext4,對文件的大小寫敏感。
三、目錄結構
/:第一層次結構的根、整個文件的根目錄。
/bin/:需要在單用戶模式可用的必要命令(可執行文件),面向所有用戶不能關聯到獨立分區。
/boot/:引導程序文件的存放目錄,如內核文件等
/dev/:設備文件
/etc/:配置文件目錄
/home/:用戶家目錄,包括用戶保存的文件、個人設置等。
/lib/:啟動程序也就是/bin/和/sbin/中二進制必要的基本共享庫文件,以及內核模塊文件
/lib64/:專用于存放x86_64系統上的輔助共享庫文件
/media/:便攜式設備掛載點。例如CD-ROM
/mnt/:臨時文件的掛載點
/opt/:可選的應用軟件包安裝位置
/proc/:虛擬文件系統,將內核與進程狀態歸為文本文檔輸出,對應Procfs格式掛載
/root/:超級用戶root的家目錄
/sbin/:管理類的基本命令
/srv/:存儲系統上運行的服務用到的數據
/tmp/:臨時文件臨時文件存儲位置
/usr/:用于存儲只讀數據的第二層次;包含絕大多數的用戶工具和應用程序
/var/:存儲系統正常運行是內容不斷變化的文件,如日志,脫機文件和臨時電子郵件文件。
/sys/用于輸出當前系統上硬件設備相關信息虛擬文件系統
/selinux/:Security Enhanced Linux,相關的安全策略等信息的存儲位置
四、Linux下的文件類型
-:普通文件
d:目錄文件
b:塊設備
c:字符設備
l:符號鏈接文件
p:管道文件
s:套接字文件
五、索引節點inode(index node)
Linux文件系統使用索引節點來記錄文件信息作用類似于Windows下的文件分配表。inde表中包括文件系統中的所有文件列表,每個文件或目錄都與索引數組中的惟一一個元素對應,一個節點是一個表項,包含文件的元數據,包括:
1)文件類型
2)權限
3)文件屬主UID、文件屬組GID
4)鏈接數(指向這個文件名路徑的名稱個數)
5)文件大小與時間戳
6)指向磁盤上文件的數據塊指針
7)有關文件的其他數據(不包括文件名或數據內容)
使用cp命令復制文件時,會分配一個空閑的inode號,在inode中生成新的條目,在目錄中創建一個新的目錄項,然后名稱與inode編號關聯拷貝數據生成新的文件
使用rm命令時,鏈接數遞減,從而釋放inode號可以被重新使用,數據塊放在空閑列表中,刪除目錄項,數據不會被馬上刪除,但當另一文件使用數據塊時,會將文件覆蓋。
如果mv命令的目標和源在相同的文件系統,移動文件時,用新的文件名創建對應新的目錄項,刪除就目錄條目對應的舊的文件名,不影響ionde表(除時間戳)或磁盤上的數據位置,也就是說沒有數據被移動。如果目標和源位于不同的文件系統,mv相當于cp和rm一起使用。
六、硬鏈接
硬鏈接(hard link),就是一個文件的一個文件的一個或多個文件名。創建硬鏈接會增加額外的記錄項以引用文件,他們都對應同一個文件系統上的物理文件,每個目錄都引用相同的inode號,創建時連接數遞增。刪除文件時:rm命令會刪除遞減計數的鏈接,文件要是存在,至少要有一個鏈接數,當鏈接數為零時,該文件就被刪除了。硬鏈接不能跨越驅動器或分區
語法:ln filename [linkname]
七、軟鏈接(或符號鏈接)
軟連接又叫符號鏈接,一個符號鏈接指向另一個文件,類似于Windows中的快捷方式。一個符號的連接內容就是他引用文件的名稱,可以對目錄進行引用。也可以跨分區引用,鏈接指向的是另一個文件的路徑,大小為路徑字符串的長度,并且不會對目標文件inode的引用計數。
語法:ln -s filename [linkname]
原創文章,作者:zhanghuanyu,如若轉載,請注明出處:http://www.www58058.com/26541