新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux操作系統文件系統基礎知識詳解

        Linux操作系統文件系統基礎知識詳解

        作者: 時間:2016-10-08 來源:網絡 收藏

        一 、Linux文件結構

        本文引用地址:http://www.104case.com/article/201610/305601.htm

        文件結構是文件存放在磁盤等存貯設備上的組織方法。主要體現在對文件和目錄的組織上。

        目錄提供了管理文件的一個方便而有效的途徑。

        Linux使用標準的目錄結構,在安裝的時候,安裝程序就已經為用戶創建了文件系統和完整而固定的目錄組成形式,并指定了每個目錄的作用和其中的文件類型。

        /根目錄

        ┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓

        ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

        bin home dev etc lib sbin tmp usr var

        ┃ ┃

        ┏━┻━┓ ┏━━┳━━┳━━┳━┻━┳━━┓

        ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

        rc.d cron.d X11R6 src lib local man bin

        ┏━━━┳━━┳━┻━┳━━━┓

        ┃ ┃ ┃ ┃ ┃

        init.d rc0.d rc1.d rc2.d …… linux bin lib src

        Linux采用的是樹型結構。最上層是根目錄,其他的所有目錄都是從根目錄出發而生成的。微軟的DOS和windows也是采用樹型結構,但是在DOS和 windows中這樣的樹型結構的根是磁盤分區的盤符,有幾個分區就有幾個樹型結構,他們之間的關系是并列的。但是在linux中,無論操作系統管理幾個磁盤分區,這樣的目錄樹只有一個。從結構上講,各個磁盤分區上的樹型目錄不一定是并列的。

        如果這樣講不好理解的話,我來舉個例子:

        有一塊硬盤,分成了4個分區,分別是/;/boot;/usr和windows下的fat

        對于/和/boot或者/和/usr,它們是從屬關系;對于/boot和/usr,它們是并列關系。

        如果我把windows下的fat分區掛載到/mnt/winc下,(掛載??哦,別急,呵呵,一會就講,一會就講。)那么對于/mnt/winc和/usr或/mnt/winc和/boot來說,它們是從屬于目錄樹上沒有任何關系的兩個分支。

        因為linux是一個多用戶系統,制定一個固定的目錄規劃有助于對系統文件和不同的用戶文件進行統一管理。但就是這一點讓很多從windows轉到linux的初學者感到頭疼。下面列出了linux下一些主要目錄的功用。

        /bin 二進制可執行命令

        /dev 設備特殊文件

        /etc 系統管理和配置文件

        /etc/rc.d 啟動的配置文件和腳本

        /home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示

        /lib 標準程序設計庫,又叫動態鏈接共享庫,作用類似windows里的.dll文件

        /sbin 系統管理命令,這里存放的是系統管理員使用的管理程序

        /tmp 公用的臨時文件存儲點

        /root 系統管理員的主目錄(呵呵,特權階級)

        /mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統。

        /lost+found 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什么.chk)就在這里

        /proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信  息。

        /var 某些大文件的溢出區,比方說各種服務的日志文件

        /usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包  含:

        /usr/X11R6 存放X window的目錄

        /usr/bin 眾多的應用程序

        /usr/sbin 超級用戶的一些管理程序

        /usr/doc linux文檔

        /usr/include linux下開發和編譯應用程序所需要的頭文件

        /usr/lib 常用的動態鏈接庫和軟件包的配置文件

        /usr/man 幫助文檔

        /usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里

        /usr/local/bin 本地增加的命令

        /usr/local/lib 本地增加的庫

        二 、linux文件系統

        文件系統指文件存在的物理空間,linux系統中每個分區都是一個文件系統,都有自己的目錄層次結構。linux會將這些分屬不同分區的、單獨的文件系統按一定的方式形成一個系統的總的目錄層次結構。一個操作系統的運行離不開對文件的操作,因此必然要擁有并維護自己的文件系統。

        Llinux文件系統使用索引節點來記錄文件信息,作用像windows的文件分配表。

        索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、權限、所屬關系、磁盤中的位置等信息。一個文件系統維護了一個索引節點的數組,每個文件或目錄都與索引節點數組中的唯一一個元素對應。系統給每個索引節點分配了一個號碼,也就是該節點在數組中的索引號,稱為索引節點號。

        linux文件系統將文件索引節點號和文件名同時保存在目錄中。所以,目錄只是將文件的名稱和它的索引節點號結合在一起的一張表,目錄中每一對文件名稱和索引節點號稱為一個連接。

        對于一個文件來說有唯一的索引節點號與之對應,對于一個索引節點號,卻可以有多個文件名與之對應。因此,在磁盤上的同一個文件可以通過不同的路徑去訪問它。

        可以用ln命令對一個已經存在的文件再建立一個新的連接,而不復制文件的內容。連接有軟連接和硬連接之分,軟連接又叫符號連接。它們各自的特點是:

        硬連接:原文件名和連接文件名都指向相同的物理地址。

        目錄不能有硬連接;硬連接不能跨越文件系統(不能跨越不同的分區)

        文件在磁盤中只有一個拷貝,節省硬盤空間;

        由于刪除文件要在同一個索引節點屬于唯一的連接時才能成功,因此可以防止不必要的誤刪除。

        符號連接:用ln -s命令建立文件的符號連接符號連接是linux特殊文件的一種,作為一個文件,它的數據是它所連接的文件的路徑名。類似windows下的快捷方式。

        可以刪除原有的文件而保存連接文件,沒有防止誤刪除功能。

        這一段的的內容過于抽象,又是節點又是數組的,我已經盡量通俗再通俗了,又不好加例子作演示。大家如果還是云里霧里的話,我也沒有什么辦法了,只有先記住,日后在實際應用中慢慢體會、理解了。這也是我學習的一個方法吧。

        三 、掛載文件系統

        由上一節知道,linux系統中每個分區都是一個文件系統,都有自己的目錄層次結構。linux會將這些分屬不同分區的、單獨的文件系統按一定的方式形成一個系統的總的目錄層次結構。這里所說的“按一定方式”就是指的掛載。


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 大丰市| 沈阳市| 保山市| 临江市| 东宁县| 茌平县| 商洛市| 罗平县| 仪陇县| 津市市| 红安县| 黄山市| 四子王旗| 积石山| 西宁市| 蚌埠市| 阜平县| 济阳县| 博湖县| 江源县| 龙门县| 扎赉特旗| 彭州市| 集安市| 招远市| 灵山县| 韩城市| 格尔木市| 阜平县| 泰和县| 东至县| 丰城市| 句容市| 兰考县| 阜南县| 青龙| 合水县| 张家界市| 喀喇沁旗| 贡觉县| 黎川县|