Linux下的文件管理系統

一、文件系統的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]

blob.png

七、軟鏈接(或符號鏈接)

    軟連接又叫符號鏈接,一個符號鏈接指向另一個文件,類似于Windows中的快捷方式。一個符號的連接內容就是他引用文件的名稱,可以對目錄進行引用。也可以跨分區引用,鏈接指向的是另一個文件的路徑,大小為路徑字符串的長度,并且不會對目標文件inode的引用計數。

    語法:ln -s filename [linkname]

blob.png

原創文章,作者:zhanghuanyu,如若轉載,請注明出處:http://www.www58058.com/26541

(0)
zhanghuanyuzhanghuanyu
上一篇 2016-08-02
下一篇 2016-08-02

相關推薦

  • 初入馬哥教育的感受

    記錄來馬哥教育的點滴記錄及感受。。

    Linux干貨 2018-03-26
  • 編譯內核

    ?編譯內核: 步驟: (1) 準備好開發環境 (2) 獲取目標主機上硬件設備的相關信息 (3) 獲取目標主機系統功能的相關信息 ? ? ? ? 例如:需要啟用相應的文件系統 (4) 獲取內核源代碼包 www.kernel.org  

    Linux干貨 2018-01-01
  • 馬哥教育首屆IT技術博客大賽–結果揭曉

    號外、號外!!馬哥教育首屆博客大賽已圓滿結束。感謝小伙伴們的積極參與! 噼里啪啦,小伙伴們掌聲響起來,啤酒烤鴨high起來~~咳咳,跑題了,小編好像忘了一件很重要的事: 馬幫博客大賽就是與眾不同,全銀河系也就僅此一家,為啥這么說呢,您看啊,咱就喜歡原創,鼓勵原創,酷愛原創,以原創博客作為技術交流的平臺供大家隨意圍觀和吐槽,您看看,除了馬哥這里,哪里還有這么自…

    Linux干貨 2016-06-22
  • rsyslog+mariadb+loganalyzer實現日志采集分析

    一、總述   Linux的日志記錄了用戶在系統上一切操作,這些日志是使用者了解服務器的情況最好的資料。Rsyslog 是系統的一部分,能夠實時的寫日志,并且還可以將日志選擇性的發送到遠程日志服務器。   rsyslog日志服務器的優勢:     1、日志統一,集中式管理     &nbsp…

    Linux干貨 2017-01-10
  • linux第五周小結

    不知不覺已經第五周了,好快?。∵@周我們主要講了讀命令,查找命令,壓縮,解壓縮,安裝等命令,今天我總結一下查找命令 查找命令主要有:locate和find命令,但我們經常用到的也最實用的當屬find,下面我重點總結一下find命令 有時可能需要在系統中查找具有某一特征的文件(例如文件權限、文件屬主、文件長度、文件類型等等)。這樣做可能有很多原因。可能出于安全性…

    2017-08-13
  • 系統自動化安裝

    本章內容 系統安裝過程配置anaconda自動化安裝系統 安裝程序 CentOS系統安裝 系統啟動流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init anaconda: 系統安裝程序 tui: 基于圖形庫curses的文本窗口 gui:圖形窗口 安裝程序啟動過程 MBR…

    Linux干貨 2016-09-19
欧美性久久久久