電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開(kāi)發(fā)>linux文件系統(tǒng)基礎(chǔ)

linux文件系統(tǒng)基礎(chǔ)

2017-11-07 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

 一 、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)。
  linux文件系統(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)格式。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1TC358743XBG評(píng)估板參考手冊(cè)
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)