電子發(fā)燒友App

硬聲App

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

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

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

Linux文件及文件系統(tǒng)分析

2017-10-18 | rar | 0.4 MB | 次下載 | 1積分

資料介紹

1.3 Linux文件及文件系統(tǒng)
  在安裝完Linux之后,下面先對Linux中一些非常重要的概念做一些介紹,以便進(jìn)一步學(xué)習(xí)使用Linux。
  1.3.1 文件類型及文件屬性
  1.文件類型
  Linux中的文件類型與Windows有顯著的區(qū)別,其中最顯著的區(qū)別在于Linux對目錄和設(shè)備都當(dāng)作文件來進(jìn)行處理,這樣就簡化了對各種不同類型設(shè)備的處理,提高了效率。Linux中主要的文件類型分為4種:普通文件、目錄文件、鏈接文件和設(shè)備文件。
  (1)普通文件。
  普通文件同Windows中的文件一樣,是用戶日常使用最多的文件。它包括文本文件、shell腳本(shell的概念在第2章會(huì)進(jìn)行講解)、二進(jìn)制的可執(zhí)行程序和各種類型的數(shù)據(jù)。
 ?。?)目錄文件。
  在Linux中,目錄也是文件,它們包含文件名和子目錄名以及指向那些文件和子目錄的指針。目錄文件是Linux中存儲(chǔ)文件名的惟一地方,當(dāng)把文件和目錄相對應(yīng)起來時(shí),也就是用指針將其鏈接起來之后,就構(gòu)成了目錄文件。因此,在對目錄文件進(jìn)行操作時(shí),一般不涉及對文件內(nèi)容的操作,而只是對目錄名和文件名的對應(yīng)關(guān)系進(jìn)行操作。
  另外,Linux系統(tǒng)中的每個(gè)文件都被賦予惟一的數(shù)值,而這個(gè)數(shù)值被稱作索引節(jié)點(diǎn)。索引節(jié)點(diǎn)存儲(chǔ)在一個(gè)稱作索引節(jié)點(diǎn)表(Inode Table)中,該表在磁盤格式化時(shí)被分配。每個(gè)實(shí)際的磁盤或分區(qū)都有自己的索引節(jié)點(diǎn)表。一個(gè)索引節(jié)點(diǎn)包含文件的所有信息,包括磁盤上數(shù)據(jù)的地址和文件類型。
  Linux文件系統(tǒng)把索引節(jié)點(diǎn)號1賦予根目錄,這也就是Linux的根目錄文件在磁盤上的地址。根目錄文件包括文件名、目錄名及它們各自的索引節(jié)點(diǎn)號的列表,Linux可以通過查找從根目錄開始的一個(gè)目錄鏈來找到系統(tǒng)中的任何文件。
  Linux通過目錄鏈接來實(shí)現(xiàn)對整個(gè)文件系統(tǒng)的操作。比如,把文件從一個(gè)磁盤目錄移到另一實(shí)際磁盤的目錄時(shí)(實(shí)際上是通過讀取索引節(jié)點(diǎn)表來檢測這種動(dòng)作的),這時(shí),原先文件的磁盤索引號被刪除,在新磁盤上建立相應(yīng)的索引節(jié)點(diǎn)。它們之間的相應(yīng)關(guān)系如圖1.5所示。
  Linux文件及文件系統(tǒng)分析
  圖1.5 目錄文件與索引節(jié)點(diǎn)關(guān)系
 ?。?)鏈接文件。
  鏈接文件有些類似于Windows中的“快捷方式”,但是它的功能更為強(qiáng)大。它可以實(shí)現(xiàn)對不同的目錄、文件系統(tǒng)甚至是不同的機(jī)器上的文件直接訪問,并且不必重新占用磁盤空間。
 ?。?)設(shè)備文件。
  Linux把設(shè)備都當(dāng)作文件一樣來進(jìn)行操作,這樣就大大方便了用戶的使用(在后面的Linux編程中可以更為明顯地看出)。在Linux下與設(shè)備相關(guān)的文件一般都在/dev目錄下,它包括兩種,一種是塊設(shè)備文件,另一種是字符設(shè)備文件。
  n 塊設(shè)備文件是指數(shù)據(jù)的讀寫,它們是以塊(如由柱面和扇區(qū)編址的塊)為單位的設(shè)備,最簡單的如硬盤(/dev/hda1)等。
  n 字符設(shè)備主要是指串行端口接口設(shè)備。
  2.文件屬性
  Linux中的文件屬性如圖1.6如示。
  Linux文件及文件系統(tǒng)分析
  圖1.6 Linux文件屬性表示方法
  首先,Linux中文件的擁有者可以把文件的訪問屬性設(shè)成3種不同的訪問權(quán)限:可讀(r)、可寫(w)和可執(zhí)行(x)。文件又有3個(gè)不同的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統(tǒng)里的其他用戶(o)。
  第一個(gè)字符顯示文件的類型。
  n “-”表示普通文件。
  n “d”表示目錄文件。
  n “l(fā)”表示鏈接文件。
  n “c”表示字符設(shè)備。
  n “b”表示塊設(shè)備。
  n “p”表示命名管道,比如FIFO文件(First In First Out,先進(jìn)先出)。
  n “f”表示堆棧文件,比如LIFO文件(Last In First Out,后進(jìn)先出)。
  n “s”表示套接字。
  第一個(gè)字符之后有三個(gè)三位字符組:
  n 第一個(gè)三位字符組表示文件擁有者(u)對該文件的權(quán)限。
  n 第二個(gè)三位字符組表示文件用戶組(g)對該文件的權(quán)限。
  n 第三個(gè)三位字符組表示系統(tǒng)其他用戶(o)對該文件的權(quán)限。
  n 若該用戶組對此沒有權(quán)限,一般顯示“-”字符。
  小知識(shí)目錄權(quán)限和文件權(quán)限有一定的區(qū)別。對于目錄而言,r代表允許列出該目錄下的文件和子目錄,w代表允許生成和刪除該目錄下的文件,x代表允許訪問該目錄。
  1.3.2 文件系統(tǒng)類型介紹
  1.ext2和ext3
  ext3是現(xiàn)在Linux(包括Red Hat,Mandrake下)常見的默認(rèn)的文件系統(tǒng),它是ext2的升級版本。正如Red Hat公司的首席核心開發(fā)人員Michael K.Johnson所說,從ext2轉(zhuǎn)換到ext3主要有以下4個(gè)理由:可用性、數(shù)據(jù)完整性、速度以及易于轉(zhuǎn)化。ext3中采用了日志式的管理機(jī)制,它使文件系統(tǒng)具有很強(qiáng)的快速恢復(fù)能力,并且由于從ext2轉(zhuǎn)換到ext3無須進(jìn)行格式化,因此,更加推進(jìn)了ext3文件系統(tǒng)的推廣。
  2.swap文件系統(tǒng)
  該文件系統(tǒng)是Linux中作為交換分區(qū)使用的。在安裝Linux的時(shí)候,交換分區(qū)是必須建立的,并且它所采用的文件系統(tǒng)類型必須是swap而沒有其他選擇。
  3.vfat文件系統(tǒng)
  Linux中把DOS中采用的FAT文件系統(tǒng)(包括FAT12、FAT16和FAT32)都稱為vfat文件系統(tǒng)。
  4.NFS文件系統(tǒng)
  NFS文件系統(tǒng)是指網(wǎng)絡(luò)文件系統(tǒng),這種文件系統(tǒng)也是Linux的獨(dú)到之處。它可以很方便地在局域網(wǎng)內(nèi)實(shí)現(xiàn)文件共享,并且使多臺(tái)主機(jī)共享同一主機(jī)上的文件系統(tǒng)。而且NFS文件系統(tǒng)訪問速度快、穩(wěn)定性高,已經(jīng)得到了廣泛的應(yīng)用,尤其在嵌入式領(lǐng)域,使用NFS文件系統(tǒng)可以很方便地實(shí)現(xiàn)文件本地修改,而免去了一次次讀寫Flash的憂慮。
  5.ISO9660文件系統(tǒng)
  這是光盤所使用的文件系統(tǒng),在Linux中對光盤已有了很好的支持,它不僅可以提供對光盤的讀寫,還可以實(shí)現(xiàn)對光盤的刻錄。
  1.3.3 Linux目錄結(jié)構(gòu)
  下面以Red Hat Enterprise 4 AS為例,詳細(xì)列出了Linux文件系統(tǒng)中各主要目錄的存放內(nèi)容,如表1.1所示。
  表1.1 Linux文件系統(tǒng)目錄結(jié)構(gòu)
  目 錄目 錄 內(nèi) 容
  /binbin就是二進(jìn)制(binary)的英文縮寫。在這里存放Linux常用操作命令的執(zhí)行文件,如mv、ls、mkdir等。有時(shí),這個(gè)目錄的內(nèi)容和/usr/bin里面的內(nèi)容一樣,它們都是放置一般用戶使用的執(zhí)行文件
  /boot這個(gè)目錄下存放操作系統(tǒng)啟動(dòng)時(shí)所要用到的程序。如啟動(dòng)grub就會(huì)用到其下的/boot/grub子目錄
  /dev該目錄中包含了所有Linux系統(tǒng)中使用的外部設(shè)備。要注意的是,這里并不是存放外部設(shè)備的驅(qū)動(dòng)程序,它實(shí)際上是一個(gè)訪問這些外部設(shè)備的端口。由于在Linux中,所有的設(shè)備被當(dāng)作文件進(jìn)行操作,比如:/dev/cdrom代表光驅(qū),用戶可以非常方便地像訪問文件、目錄一樣對其進(jìn)行訪問
  /etc該目錄下存放了系統(tǒng)管理時(shí)要用到的各種配置文件和子目錄。如網(wǎng)絡(luò)配置文件、文件系統(tǒng)、x系統(tǒng)配置文件、設(shè)備配置信息、設(shè)置用戶信息等都在這個(gè)目錄下。系統(tǒng)在啟動(dòng)過程中需要讀取其參數(shù)并進(jìn)行相應(yīng)的配置
  /etc/rc.d該目錄主要存放Linux啟動(dòng)和關(guān)閉時(shí)要用到的腳本文件,在后面的啟動(dòng)詳解中還會(huì)進(jìn)一步地講解
  /etc/rc.d/init該目錄存放所有Linux服務(wù)默認(rèn)的啟動(dòng)腳本(在新版本的Linux中還用到/etc/xinetd.d目錄下的內(nèi)容)
  /home該目錄是Linux系統(tǒng)中默認(rèn)的用戶工作根目錄。如前面在1.3.1節(jié)中所述,執(zhí)行adduser命令后系統(tǒng)會(huì)在/home目錄下為對應(yīng)賬號建立一個(gè)同名的主目錄
  /lib該目錄是用來存放系統(tǒng)動(dòng)態(tài)鏈接共享庫的。幾乎所有的應(yīng)用程序都會(huì)用到這個(gè)目錄下的共享庫。因此,千萬不要輕易對這個(gè)目錄進(jìn)行操作
  /lost+found該目錄在大多數(shù)情況下都是空的。只有當(dāng)系統(tǒng)產(chǎn)生異常時(shí),會(huì)將一些遺失的片段放在此目錄下
  /media該目錄下是光驅(qū)和軟驅(qū)的掛載點(diǎn),F(xiàn)edora Core 4已經(jīng)可以自動(dòng)掛載光驅(qū)和軟驅(qū)
  /misc該目錄下存放從DOS下進(jìn)行安裝的實(shí)用工具,一般為空
  /mnt該目錄是軟驅(qū)、光驅(qū)、硬盤的掛載點(diǎn),也可以臨時(shí)將別的文件系統(tǒng)掛載到此目錄下
  /proc該目錄是用于放置系統(tǒng)核心與執(zhí)行程序所需的一些信息。而這些信息是在內(nèi)存中由系統(tǒng)產(chǎn)生的,故不占用硬盤空間
  /root該目錄是超級用戶登錄時(shí)的主目錄
  /sbin該目錄用來存放系統(tǒng)管理員的常用的系統(tǒng)管理程序
  /tmp該目錄用來存放不同程序執(zhí)行時(shí)產(chǎn)生的臨時(shí)文件。一般Linux安裝軟件的默認(rèn)安裝路徑就是這里
  /usr這是一個(gè)非常重要的目錄,用戶的很多應(yīng)用程序和文件都存放在這個(gè)目錄下,類似于Windows下的Program Files的目錄
  /usr/bin系統(tǒng)用戶使用的應(yīng)用程序
  /usr/sbin超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序
  /usr/src內(nèi)核源代碼默認(rèn)的放置目錄
  /srv該目錄存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)
  /sys這是Linux 2.6內(nèi)核的一個(gè)很大的變化。該目錄下安裝了2.6內(nèi)核中新出現(xiàn)的一個(gè)文件系統(tǒng)sysfs。sysfs文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對進(jìn)程信息的proc文件系統(tǒng)、針對設(shè)備的devfs文件系統(tǒng)以及針對偽終端的devpts文件系統(tǒng)。該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個(gè)直觀反映。當(dāng)一個(gè)內(nèi)核對象被創(chuàng)建的時(shí)候,對應(yīng)的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建
  /var這也是一個(gè)非常重要的目錄,很多服務(wù)的日志信息都存放在這里
?
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1純電動(dòng)汽?的主要部件及?作原理
  2. 5.76 MB   |  11次下載  |  5 積分
  3. 2明偉電源模塊RSP-3000圖紙
  4. 0.30 MB   |  5次下載  |  免費(fèi)
  5. 3無鉛焊接的可靠性
  6. 1.03 MB   |  5次下載  |  1 積分
  7. 4800VA純正弦波逆變器的參考設(shè)計(jì)
  8. 2.96MB   |  4次下載  |  免費(fèi)
  9. 5PT500齒輪傳動(dòng)動(dòng)力學(xué)綜合測試實(shí)驗(yàn)臺(tái)
  10. 0.16 MB   |  3次下載  |  免費(fèi)
  11. 6GBT1094.11-2022電力變壓器第11部分:干式變壓器
  12. 14.12 MB   |  2次下載  |  免費(fèi)
  13. 7爬電距離和電氣間隙計(jì)算
  14. 0.75 MB   |  2次下載  |  1 積分
  15. 8卓顯-體視顯微鏡-ZEX-075M
  16. 1.89 MB  |  1次下載  |  免費(fèi)

本月

  1. 1ACDC變換器的原理圖免費(fèi)下載
  2. 0.26 MB   |  65次下載  |  免費(fèi)
  3. 2無刷電機(jī)控制方案設(shè)計(jì)合作
  4. 1.05 MB   |  22次下載  |  免費(fèi)
  5. 3美的超薄電磁爐TM-S1-09B主板原理圖
  6. 0.08 MB   |  20次下載  |  免費(fèi)
  7. 4純電動(dòng)汽?的主要部件及?作原理
  8. 5.76 MB   |  11次下載  |  5 積分
  9. 5GP328和GP88S對講機(jī)的維修實(shí)列資料合集免費(fèi)下載
  10. 0.03 MB   |  10次下載  |  10 積分
  11. 6舒爾SLX4無線話筒接收機(jī)原理圖:二次變頻超外差部分
  12. 0.27 MB   |  8次下載  |  免費(fèi)
  13. 7IP5385_DEMO開發(fā)資料
  14. 1.96 MB   |  7次下載  |  2 積分
  15. 8i.MX Linux開發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開發(fā)板
  16. 17.86 MB   |  6次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191363次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81580次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分