<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)

    時(shí)間:2024-07-25 05:16:09 Linux認(rèn)證 我要投稿
    • 相關(guān)推薦

    Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)

      Linux操作系統(tǒng)誕生于1991 年10 月5 日(這是第一次正式向外公布時(shí)間)。下面是小編收集的Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí),希望大家認(rèn)真閱讀!

    Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)

      一 、Linux文件結(jié)構(gòu)

      文件結(jié)構(gòu)是文件存放在磁盤(pán)等存貯設(shè)備上的組織方法。主要體現(xiàn)在對(duì)文件和目錄的組織上。

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

      Linux使用標(biāo)準(zhǔn)的目錄結(jié)構(gòu),在安裝的時(shí)候,安裝程序就已經(jīng)為用戶(hù)創(chuàng)建了文件系統(tǒng)和完整而固定的目錄組成形式,并指定了每個(gè)目錄的作用和其中的文件類(lèi)型。

      /根目錄

      ┃

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

      ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

      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采用的是樹(shù)型結(jié)構(gòu)。最上層是根目錄,其他的所有目錄都是從根目錄出發(fā)而生成的。微軟的DOS和windows也是采用樹(shù)型結(jié)構(gòu),但是在DOS和 windows中這樣的樹(shù)型結(jié)構(gòu)的根是磁盤(pán)分區(qū)的盤(pán)符,有幾個(gè)分區(qū)就有幾個(gè)樹(shù)型結(jié)構(gòu),他們之間的關(guān)系是并列的。但是在linux中,無(wú)論操作系統(tǒng)管理幾個(gè)磁盤(pán)分區(qū),這樣的目錄樹(shù)只有一個(gè)。從結(jié)構(gòu)上講,各個(gè)磁盤(pán)分區(qū)上的樹(shù)型目錄不一定是并列的。

      如果這樣講不好理解的話(huà),我來(lái)舉個(gè)例子:

      有一塊硬盤(pán),分成了4個(gè)分區(qū),分別是/;/boot;/usr和windows下的fat

      對(duì)于/和/boot或者/和/usr,它們是從屬關(guān)系;對(duì)于/boot和/usr,它們是并列關(guān)系。

      如果我把windows下的fat分區(qū)掛載到/mnt/winc下,(掛載??哦,別急,呵呵,一會(huì)就講,一會(huì)就講。)那么對(duì)于/mnt/winc和/usr或/mnt/winc和/boot來(lái)說(shuō),它們是從屬于目錄樹(shù)上沒(méi)有任何關(guān)系的兩個(gè)分支。

      因?yàn)閘inux是一個(gè)多用戶(hù)系統(tǒng),制定一個(gè)固定的目錄規(guī)劃有助于對(duì)系統(tǒng)文件和不同的用戶(hù)文件進(jìn)行統(tǒng)一管理。但就是這一點(diǎn)讓很多從windows轉(zhuǎn)到linux的初學(xué)者感到頭疼。下面列出了linux下一些主要目錄的功用。

      /bin 二進(jìn)制可執(zhí)行命令

      /dev 設(shè)備特殊文件

      /etc 系統(tǒng)管理和配置文件

      /etc/rc.d 啟動(dòng)的配置文件和腳本

      /home 用戶(hù)主目錄的基點(diǎn),比如用戶(hù)user的主目錄就是/home/user,可以用~user表示

      /lib 標(biāo)準(zhǔn)程序設(shè)計(jì)庫(kù),又叫動(dòng)態(tài)鏈接共享庫(kù),作用類(lèi)似windows里的.dll文件

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

      /tmp 公用的臨時(shí)文件存儲(chǔ)點(diǎn)

      /root 系統(tǒng)管理員的主目錄(呵呵,特權(quán)階級(jí))

      /mnt 系統(tǒng)提供這個(gè)目錄是讓用戶(hù)臨時(shí)掛載其他的文件系統(tǒng)。

      /lost+found 這個(gè)目錄平時(shí)是空的,系統(tǒng)非正常關(guān)機(jī)而留下“無(wú)家可歸”的文件(windows下叫什么.chk)就在這里

      /proc 虛擬的目錄,是系統(tǒng)內(nèi)存的映射?芍苯釉L(fǎng)問(wèn)這個(gè)目錄來(lái)獲取系統(tǒng)信  息。

      /var 某些大文件的溢出區(qū),比方說(shuō)各種服務(wù)的日志文件

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

      /usr/X11R6 存放X window的目錄

      /usr/bin 眾多的應(yīng)用程序

      /usr/sbin 超級(jí)用戶(hù)的一些管理程序

      /usr/doc linux文檔

      /usr/include linux下開(kāi)發(fā)和編譯應(yīng)用程序所需要的頭文件

      /usr/lib 常用的動(dòng)態(tài)鏈接庫(kù)和軟件包的配置文件

      /usr/man 幫助文檔

      /usr/src 源代碼,linux內(nèi)核的源代碼就放在/usr/src/linux里

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

      /usr/local/lib 本地增加的庫(kù)

      二 、linux文件系統(tǒng)

      文件系統(tǒng)指文件存在的物理空間,linux系統(tǒng)中每個(gè)分區(qū)都是一個(gè)文件系統(tǒng),都有自己的目錄層次結(jié)構(gòu)。linux會(huì)將這些分屬不同分區(qū)的、單獨(dú)的文件系統(tǒng)按一定的方式形成一個(gè)系統(tǒng)的總的目錄層次結(jié)構(gòu)。一個(gè)操作系統(tǒng)的運(yùn)行離不開(kāi)對(duì)文件的操作,因此必然要擁有并維護(hù)自己的文件系統(tǒng)。

      Llinux文件系統(tǒng)使用索引節(jié)點(diǎn)來(lái)記錄文件信息,作用像windows的文件分配表。

      索引節(jié)點(diǎn)是一個(gè)結(jié)構(gòu),它包含了一個(gè)文件的長(zhǎng)度、創(chuàng)建及修改時(shí)間、權(quán)限、所屬關(guān)系、磁盤(pán)中的位置等信息。一個(gè)文件系統(tǒng)維護(hù)了一個(gè)索引節(jié)點(diǎn)的數(shù)組,每個(gè)文件或目錄都與索引節(jié)點(diǎn)數(shù)組中的唯一一個(gè)元素對(duì)應(yīng)。系統(tǒng)給每個(gè)索引節(jié)點(diǎn)分配了一個(gè)號(hào)碼,也就是該節(jié)點(diǎn)在數(shù)組中的索引號(hào),稱(chēng)為索引節(jié)點(diǎn)號(hào)。

      linux文件系統(tǒng)將文件索引節(jié)點(diǎn)號(hào)和文件名同時(shí)保存在目錄中。所以,目錄只是將文件的名稱(chēng)和它的索引節(jié)點(diǎn)號(hào)結(jié)合在一起的一張表,目錄中每一對(duì)文件名稱(chēng)和索引節(jié)點(diǎn)號(hào)稱(chēng)為一個(gè)連接。

      對(duì)于一個(gè)文件來(lái)說(shuō)有唯一的索引節(jié)點(diǎn)號(hào)與之對(duì)應(yīng),對(duì)于一個(gè)索引節(jié)點(diǎn)號(hào),卻可以有多個(gè)文件名與之對(duì)應(yīng)。因此,在磁盤(pán)上的同一個(gè)文件可以通過(guò)不同的路徑去訪(fǎng)問(wèn)它。

      可以用ln命令對(duì)一個(gè)已經(jīng)存在的文件再建立一個(gè)新的連接,而不復(fù)制文件的內(nèi)容。連接有軟連接和硬連接之分,軟連接又叫符號(hào)連接。它們各自的特點(diǎn)是:

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

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

      文件在磁盤(pán)中只有一個(gè)拷貝,節(jié)省硬盤(pán)空間;

      由于刪除文件要在同一個(gè)索引節(jié)點(diǎn)屬于唯一的連接時(shí)才能成功,因此可以防止不必要的誤刪除。

      符號(hào)連接:用ln -s命令建立文件的符號(hào)連接符號(hào)連接是linux特殊文件的一種,作為一個(gè)文件,它的數(shù)據(jù)是它所連接的文件的路徑名。類(lèi)似windows下的快捷方式。

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

      這一段的的內(nèi)容過(guò)于抽象,又是節(jié)點(diǎn)又是數(shù)組的,我已經(jīng)盡量通俗再通俗了,又不好加例子作演示。大家如果還是云里霧里的話(huà),我也沒(méi)有什么辦法了,只有先記住,日后在實(shí)際應(yīng)用中慢慢體會(huì)、理解了。這也是我學(xué)習(xí)的一個(gè)方法吧。

      三 、掛載文件系統(tǒng)

      由上一節(jié)知道,linux系統(tǒng)中每個(gè)分區(qū)都是一個(gè)文件系統(tǒng),都有自己的目錄層次結(jié)構(gòu)。linux會(huì)將這些分屬不同分區(qū)的、單獨(dú)的文件系統(tǒng)按一定的方式形成一個(gè)系統(tǒng)的總的目錄層次結(jié)構(gòu)。這里所說(shuō)的“按一定方式”就是指的掛載。

      將一個(gè)文件系統(tǒng)的頂層目錄掛到另一個(gè)文件系統(tǒng)的子目錄上,使它們成為一個(gè)整體,稱(chēng)為掛載。把該子目錄稱(chēng)為掛載點(diǎn)。

      舉個(gè)例子吧:

      根分區(qū):

      /根目錄

      ┃

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

      ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃

      bin home dev etc lib sbin tmp usr var

      ┃

      ┏━┻━┓

      ┃ ┃

      rc.d cron.d

      ┃

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

      ┃ ┃ ┃ ┃ ┃

      init.d rc0.d rc1.d rc2.d ……

      /usr分區(qū) :

      usr

      ┃

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

      ┃ ┃ ┃ ┃ ┃ ┃

      X11R6 src lib local man bin

      ┃ ┃

      ┃ ┏━━━╋━━━┓

      ┃ ┃ ┃ ┃

      linux bin lib src

      掛載之后就形成了文章開(kāi)始時(shí)的那個(gè)圖。像不像掛上去的?

      注意:1、掛載點(diǎn)必須是一個(gè)目錄。

      2、一個(gè)分區(qū)掛載在一個(gè)已存在的目錄上,這個(gè)目錄可以不為空,但掛載后這個(gè)目錄下以前的內(nèi)容將不可用。

      對(duì)于其他操作系統(tǒng)建立的文件系統(tǒng)的掛載也是這樣。但是需要理解的是:光盤(pán)、軟盤(pán)、其他操作系統(tǒng)使用的文件系統(tǒng)的格式與linux使用的文件系統(tǒng)格式是不一樣的。光盤(pán)是ISO9660;軟盤(pán)是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。掛載前要了解linux是否支持所要掛載的文件系統(tǒng)格式。

      掛載時(shí)使用mount命令:

      格式:mount [-參數(shù)] [設(shè)備名稱(chēng)] [掛載點(diǎn)]

      其中常用的參數(shù)有

      -t 指定設(shè)備的文件系統(tǒng)類(lèi)型,常見(jiàn)的有:

      minix linux最早使用的文件系統(tǒng)

      ext2 linux目前常用的文件系統(tǒng)

      msdos MS-DOS的fat,就是fat16

      vfat windows98常用的fat32

      nfs 網(wǎng)絡(luò)文件系統(tǒng)

      iso9660 CD-ROM光盤(pán)標(biāo)準(zhǔn)文件系統(tǒng)

      ntfs windows NT 2000的文件系統(tǒng)

      hpfs OS/2文件系統(tǒng)

      auto 自動(dòng)檢測(cè)文件系統(tǒng)

      -o 指定掛載文件系統(tǒng)時(shí)的選項(xiàng)。有些也可用在/etc/fstab中。常用的  有

      codepage=XXX 代碼頁(yè)

      iocharset=XXX 字符集

      ro 以只讀方式掛載

      rw 以讀寫(xiě)方式掛載

      nouser 使一般用戶(hù)無(wú)法掛載

      user 可以讓一般用戶(hù)掛載設(shè)備

      提醒一下,mount命令沒(méi)有建立掛載點(diǎn)的功能,因此你應(yīng)該確保執(zhí)行mount命令時(shí),掛載點(diǎn)已經(jīng)存在。(不懂?說(shuō)白了點(diǎn)就是你要把文件系統(tǒng)掛載到哪,首先要先建上個(gè)目錄。這樣OK?)

      例子:windows98裝在hda1分區(qū),同時(shí)計(jì)算機(jī)上還有軟盤(pán)和光盤(pán)需要掛載。

      # mk /mnt/winc

      # mk /mnt/floppy

      # mk /mnt/cdrom

      # mount -t vfat /dev/hda1 /mnt/winc

      # mount -t msdos /dev/fd0 /mnt/floppy

      # mount -t iso9660 /dev/cdrom /mnt/cdrom

      現(xiàn)在就可以進(jìn)入/mnt/winc等目錄讀寫(xiě)這些文件系統(tǒng)了。

      要保證最后兩行的命令不出錯(cuò),要確保軟驅(qū)和光驅(qū)里有盤(pán)。(要是硬盤(pán)的磁盤(pán)片也可以經(jīng)常隨時(shí)更換的話(huà),我想就不會(huì)犯這樣的錯(cuò)誤了 :-> )

      如果你的windows98目錄里有中文文件名,使用上面的命令掛載后,顯示的是一堆亂碼。這就要用到 -o 參數(shù)里的codepage iocharset選項(xiàng)。codepage指定文件系統(tǒng)的代碼頁(yè),簡(jiǎn)體中文中文代碼是936;iocharset指定字符集,簡(jiǎn)體中文一般用cp936或 gb2312。

      當(dāng)掛載的文件系統(tǒng)linux不支持時(shí),mount一定報(bào)錯(cuò),如windows2000的ntfs文件系統(tǒng)?梢灾匦戮幾glinux內(nèi)核以獲得對(duì)該文件系統(tǒng)的支持。關(guān)于重新編譯linux內(nèi)核,就不在這里說(shuō)了。

      四 、自動(dòng)掛載

      每次開(kāi)機(jī)訪(fǎng)問(wèn)windows分區(qū)都要運(yùn)行mount命令顯然太煩瑣,為什么訪(fǎng)問(wèn)其他的linux分區(qū)不用使用mount命令呢?

      其實(shí),每次開(kāi)機(jī)時(shí),linux自動(dòng)將需要掛載的linux分區(qū)掛載上了。那么我們是不是可以設(shè)定讓linux在啟動(dòng)的時(shí)候也掛載我們希望掛載的分區(qū),如windows分區(qū),以實(shí)現(xiàn)文件系統(tǒng)的自動(dòng)掛載呢?

      這是完全可以的。在/etc目錄下有個(gè)fstab文件,它里面列出了linux開(kāi)機(jī)時(shí)自動(dòng)掛載的文件系統(tǒng)的列表。我的/etc/fstab文件如下:

      /dev/hda2 / ext3 defaults 1 1

      /dev/hda1 /boot ext3 defaults 1 2

      none /dev/pts devpts gid=5,mode=620 0 0

      none /proc proc defaults 0 0

      none /dev/shm tmpfs defaults 0 0

      /dev/hda3 swap swap defaults 0 0

      /dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0

      /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

      /dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0

      /dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0

      在/etc/fstab文件里,第一列是掛載的文件系統(tǒng)的設(shè)備名,第二列是掛載點(diǎn),第三列是掛載的文件系統(tǒng)類(lèi)型,第四列是掛載的選項(xiàng),選項(xiàng)間用逗號(hào)分隔。第五六列不知道是什么意思,還望高手指點(diǎn)。

      在最后兩行是我手工添加的windows下的C;D盤(pán),加了codepage=936和iocharset=cp936參數(shù)以支持中文文件名。參數(shù)defaults實(shí)際上包含了一組默認(rèn)參數(shù):

      rw 以可讀寫(xiě)模式掛載

      suid 開(kāi)啟用戶(hù)ID和群組ID設(shè)置位

      dev 可解讀文件系統(tǒng)上的字符或區(qū)塊設(shè)備

      exec 可執(zhí)行二進(jìn)制文件

      auto 自動(dòng)掛載

      nouser 使一般用戶(hù)無(wú)法掛載

      async 以非同步方式執(zhí)行文件系統(tǒng)的輸入輸出操作

    【Linux操作系統(tǒng)文件系統(tǒng)基礎(chǔ)知識(shí)】相關(guān)文章:

    linux文件系統(tǒng)基礎(chǔ)知識(shí)匯總03-09

    Linux認(rèn)證基礎(chǔ)知識(shí):linux操作系統(tǒng)目錄結(jié)構(gòu)03-08

    Linux文件系統(tǒng)簡(jiǎn)介02-27

    Linux btrfs文件系統(tǒng)及管理02-26

    Linux操作系統(tǒng)概述03-06

    Linux文件系統(tǒng)操作命令大全03-09

    linux操作系統(tǒng)目錄結(jié)構(gòu)詳解02-26

    Linux操作系統(tǒng)8個(gè)經(jīng)典技巧03-21

    Linux用戶(hù)/文件系統(tǒng)管理詳解02-27

    主站蜘蛛池模板: 国内精品久久久久影院免费| 成人一区二区三区精品| 国产精品一久久香蕉产线看| 国产精品无码国模私拍视频 | 久久www免费人成精品香蕉| 国产精品水嫩水嫩| 香蕉依依精品视频在线播放| 久久精品免费一区二区三区| 日韩人妻无码精品一专区| 精品伦精品一区二区三区视频| 国产精品电影在线观看| 久久亚洲欧美国产精品 | 久久精品国产亚洲av麻豆色欲| 久久久WWW成人免费精品| 国产精品影音先锋| 99久久精品午夜一区二区| 亚洲一区爱区精品无码| 欧美精品三区| 国产高清在线精品一区小说| 成人精品一区二区三区中文字幕| 亚洲欧美激情精品一区二区| 精品无码一级毛片免费视频观看| 97精品国产高清自在线看超 | 久久精品亚洲日本波多野结衣| 亚洲AV蜜桃永久无码精品| 国产一级精品高清一级毛片| 亚洲自偷自偷精品| 欧美日韩精品一区二区三区| 成人精品在线视频| 国产产无码乱码精品久久鸭| 久久精品亚洲日本波多野结衣| 无码日韩精品一区二区免费暖暖| 亚洲日韩国产AV无码无码精品| 欧美精品成人3d在线| 男女男精品视频网站在线观看| 国内精品久久久久久久影视麻豆 | 99久久精品国产高清一区二区| 久久亚洲私人国产精品| 国内精品久久人妻互换| 精品国产精品国产偷麻豆| 久久国产精品77777|