Linux操作系統(tǒng) 文件系統(tǒng)課件_第1頁
Linux操作系統(tǒng) 文件系統(tǒng)課件_第2頁
Linux操作系統(tǒng) 文件系統(tǒng)課件_第3頁
Linux操作系統(tǒng) 文件系統(tǒng)課件_第4頁
Linux操作系統(tǒng) 文件系統(tǒng)課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

Linux操作系統(tǒng)

內(nèi)容提要1.Linux文件系統(tǒng)概況1.1Linux文件系統(tǒng)的結(jié)構(gòu)1.2Linux文件系統(tǒng)的類型1.2Linux文件系統(tǒng)的構(gòu)成2.Linux文件系統(tǒng)管理2.1建立文件系統(tǒng)fdiskmke2fsmkswap2.2掛裝和卸載硬盤分區(qū)2.3使用/etc/fstab文件2.4使用fsck工具程序進行文件系統(tǒng)恢復2.5文件系統(tǒng)配額管理1.Linux——文件系統(tǒng)Linux是建立在文件系統(tǒng)的基礎上的。文件系統(tǒng)是對磁盤進行組織,在扇區(qū)和磁道組成的物理基礎上提供抽象操作層面的機制。磁盤管理要處理以下任務建立硬盤分區(qū)、建立文件系統(tǒng)、引導系統(tǒng)時自動掛裝文件系統(tǒng)、以及發(fā)生系統(tǒng)崩潰之后如何對它們進行恢復等等。掛裝網(wǎng)絡文件系統(tǒng)、硬盤空間配額管理、自動掛裝(automounter)子系統(tǒng)等等。1.1Linux文件系統(tǒng)介紹(1)/bin:該目錄用于存放用戶命令。

目錄

/usr/bin

中也存放了一些用戶命令。

(2)/sbin:該目錄用于存放許多系統(tǒng)命令,例如

shutdown。目錄

/usr/bin

中也包括了許多系統(tǒng)命令。

(3)/root:該目錄用于存放根用戶(超級用戶)的主目錄。

(4)/mnt:該目錄主要用于存放系統(tǒng)引導后被掛載的文件系統(tǒng)的掛載點。(5)/boot:該目錄用于存放內(nèi)核和其它系統(tǒng)啟動時使用的文件。(6)/lost+found:該目錄被fsck用于存放零散文件(沒有名稱的文件)。(7)/lib:該目錄用于存放被

/bin

/sbin

中的程序使用的庫文件。

目錄

/usr/bin

中含有更多庫文件。

(8)/dev:該目錄用于存放設備文件。1.1Linux文件系統(tǒng)介紹(9)/etc:該目錄用于存放許多配置文件和目錄。

(10)/var:該目錄用于存放系統(tǒng)中不斷擴充、變化的文件,例如日志文件和鎖定文件。

(11)/usr:該目錄用于存放與系統(tǒng)用戶直接有關的文件和目錄。

(12)/proc:該目錄是一個虛擬的文件系統(tǒng)(不是實際貯存在磁盤上的),它包括被某些程序使用的系統(tǒng)信息。(13)/initrd:該目錄用于存放在計算機啟動時掛載

initrd.img

映像文件的目錄以及載入所需的設備模塊。

(14)/tmp:該目錄用于存放用戶程序運行時所產(chǎn)生或保存的一些臨時文件。

/tmp

有全局讀寫權(quán)。

(15)/home:該目錄用于存放用戶主目錄的位置。

1.2Linux文件類型普通文件

目錄文件

特殊文件

文件鏈接

1.3文件系統(tǒng)的構(gòu)成Linux的缺省文件系統(tǒng)ext2的全部抽象操作層面的構(gòu)成和管理操作。i-結(jié)點超級塊1.3文件系統(tǒng)的構(gòu)成:i-結(jié)點UNIX文件系統(tǒng)最基礎的材料是i-結(jié)點(i-node)i-結(jié)點是一個包含著指針的控制結(jié)構(gòu),其中的指針要么指向其他i-結(jié)點,要么指向數(shù)據(jù)塊。i-結(jié)點中的控制信息包括文件的所有者、訪問權(quán)限、長度、最后一次存取時間、建立時間、用戶分組GID號等等/usr/src/linux/include/linux/ext2-fs.h文件中可以查到完整的內(nèi)核數(shù)據(jù)結(jié)構(gòu)i-結(jié)點中沒有保存的東西就是文件名。子目錄本身就是文件的一種特殊形式。這就意味著每一個子目錄都有一個i-結(jié)點,i-結(jié)點指向的數(shù)據(jù)塊中包含子目錄所有文件的信息資料。1.3文件系統(tǒng)的構(gòu)成:i-結(jié)點ext2文件系統(tǒng)中i-結(jié)點和數(shù)據(jù)塊的組織結(jié)構(gòu)。2管理文件系統(tǒng)2.1建立文件系統(tǒng)fdiskmke2fsmkswap2.2掛裝和卸載硬盤分區(qū)2.3使用/etc/fstab文件2.4使用fsck工具程序進行文件系統(tǒng)恢復2.5文件系統(tǒng)配額管理2.1建立文件系統(tǒng)BlockDeviceNamingMostblockdevicesarelocatedin/devSCSIdisksDiskorlogicalvolume:sd[a-iv]Primarypartitions:sda[1-4]Logicalpartitions:sda[5-15]IDEdisksDiskorlogicalvolume:hd[a-t]Primarypartitions:hda[1-4]Logicalpartitions:hda[5-31]2.1建立文件系統(tǒng)分區(qū)檢查新設備,可以使用下列命令fdisk-l/proc/diskstats>dmesgfdisk命令對硬盤做分區(qū)#fdisk[device]fdisk里的常用命令atoggleabootableflagddeleteapartitionmprintthismenunaddanewpartitionpprintthepartitiontableqquitwithoutsavingchangestchangeapartition'ssystemid82LinuxSwap83LinuxwwritetabletodiskandexitCreatingLogicalPartitions#/sbin/fdisk/dev/sdeCommand(mforhelp):nCommandactionllogical(5orover)pprimarypartition(1-4)lFirstcylinder(1-1020,default1):Usingdefaultvalue1Lastcylinderor+sizeor+sizeMor+sizeK(1-1020,default1020):+5mCommand(mforhelp):pDisk/dev/sde:232heads,62sectors,1020cylindersUnits=cylindersof14384*512bytesDeviceBootStartEndBlocksIdSystem/dev/sde11102073358095Extended/dev/sde511713083LinuxListingPartitions#cat/proc/partitionsmajorminor#blocksnameriormerge…808281507sda…818281476sda1…8164192965sdb…8172048256sdb1…8182048287sdb2…8329430155sdc…8339430123sdc1…8489430155sdd…8494715046sdd1…8504715077sdd2… 220252290hdc…2.1建立文件系統(tǒng)/sbin/mkfs

格式化分區(qū)–t指定文件系統(tǒng)類型如:Ext2:

#mkfs–text2/dev/sdb1Ext3:

#mkfs–j/dev/sdb1或使用/sbin/mkfs.<fstype>代替mke2fs建立ext2/3文件系統(tǒng);#mke2fs/dev/hdb3#mke2fs-jext3/dev/hdb3Swap分區(qū)配置mkswap建立swap文件系統(tǒng)。使用mkswap命令設置swap空間也同樣簡明。唯一的參數(shù)是在其上建立swap空間的分區(qū)名稱。如果想在/dev/hdb2上建立swap空間,需要輸入下面的命令:#mks物理內(nèi)存的2倍,或大于2GB獲得swap分區(qū)信息:#/sbin/swapon-sTypeSizeUsedPriority/dev/sda5partition20964400-1/dev/sda6partition20964400-2/proc/procisavirtualProvidesaninstantaneousviewoftheoperationofthesystem/proc/meminfo,/proc/mounts,/proc/partitionsCanbeviewedwithcat,more,lessCanbeusedtoconfigurekernelparametersSettableparametersarebelow/proc/sysCanbesetwithechoorviasysctlshmfsMounttmpfson/dev/shmviafstabOption“size=8g”means8GBOption“size=??”canbelargerthanphysicalRAMRequiredbyOracleforVLMmodeOnlyusedforbuffercacheNeverusedinnon-VLMmode創(chuàng)建裸設備Createpartitionsoftype“Linux”(typeid=83)Use/sbin/rawtobindrawdevicewithapartitionExamples:#/sbin/raw/dev/raw/raw1/dev/sdc1#/sbin/raw/dev/raw/raw1833Giveoracleuserownershipofrawdevice:#chownoracle:dba/dev/raw/raw1BindingsarenotpersistentacrossrebootUse/etc/sysconfig/rawdevicesSystemVSharedMemoryUsedbyOraclefortheSGAMayhavemultiplesegmentsifshmmaxislowNormallyallsegmentsdeletedatshutdownIfinstancecrashes,segmentsmayhangaroundToviewexistingsegments:/usr/bin/ipcsTomanuallyremoveasegment:/usr/bin/ipcrmshm<shm_id>2.2使用mount命令One-timeMountsmount[options]devicedirectory用于mount選項:

-o命令的參數(shù)如下所示下面的mount命令把/dev/hda3分區(qū)以只讀屬性掛裝到/usr子目錄上:[root@ford/root]#mount-oro/dev/hda3/usr-a把/etc/fstab文件(本小節(jié)后面介紹)中列出的文件系統(tǒng)都掛裝上-tfstype定義掛裝的文件系統(tǒng)類型。mount命令通??梢宰约簷z測出這類信息,例外:OCFS-ooptions定義作用于掛裝過程的選項。它們通常是一些與文件系統(tǒng)類型有關的選項(掛裝網(wǎng)絡文件系統(tǒng)的選項不能夠用來掛裝本地文件系統(tǒng))/bin/mount/dev/sdb1/oracle2.2使用mount命令掛載光盤mount–tiso9660/dev/cdrom/dir掛載iso文件(LoopbackMounts)mount-oloop,ro[isofile]/[dir]mount–tiso9660–oloop/img/cd_1.iso/mnt/cdrom掛載samba文件mount-tsmbfs-ousername=usr,password=pwd//host/folder/[dir]Etc/fstab://host/folder/dirsmbfsusername=user,password=pwd12Mountdir掛載NFS文件mount[host]:/[dir]/[dir]2.2使用mount命令mount-o命令的參數(shù)說明ro以只讀屬性掛裝該分區(qū)rw以讀-寫屬性掛裝該分區(qū)(缺省值)exec允許二進制代碼的執(zhí)行(缺省值)noatime禁止刷新i-結(jié)點上的存取時間。用于存取時間不重要的分區(qū)(比如新聞隊列),可以提高性能noauto如果使用了-a參數(shù),禁止這個分區(qū)的自動掛裝(只作用于/etc/fstab文件)nosuid禁止setuid程序的應用程序?qū)Υ藪煅b分區(qū)置位sb=n告訴mount命令對一個ext2文件系統(tǒng)使用第n個數(shù)據(jù)塊作為超級塊2.2卸載文件系統(tǒng)如果想卸載一個文件系統(tǒng),使用umount命令。下面是這個命令的格式:umount[-f]directory其中的directory是準備卸載的子目錄名。如下所示:[root@test/root]#umount/usr把掛裝在/usr子目錄位置上的分區(qū)卸載下來。2.2卸載文件系統(tǒng)umount命令不足之處:如果文件系統(tǒng)正在使用中(也就是說有人在那個分區(qū)上打開了文件),就無法把這個文件系統(tǒng)卸載下來。有三種方法可以用來解決這個問題:使用lsof程序或者fuser程序檢查有哪些進程打開了文件,終止那些進程的運行或者讓進程的所有者停止操作。如果選擇終止那些進程的運行,一定要明白自己在做些什么。umount-f參數(shù)強制執(zhí)行卸載操作。任何在這個分區(qū)上打開的進程都將被掛起來,可能會造成數(shù)據(jù)丟失。最安全和適當?shù)霓k法是把系統(tǒng)調(diào)整為單用戶模式,然后再卸載這個文件系統(tǒng)。在現(xiàn)實生活里,你可能不會總有這個奢侈之舉。2.3/etc/fstab文件/etc/fstab是一個mount命令可以利用的配置文件。這個文件包含著一個系統(tǒng)中全部已知硬盤分區(qū)的清單。在引導過程中,這個清單被讀出,其中包含的各個分區(qū)都被自動掛裝到系統(tǒng)上。下面是/etc/fstab文件中數(shù)據(jù)項的格式,下表定義了/etc/fstab數(shù)據(jù)項的各組成元素。/dev/device/dir/to/mountfstypeparametersfs_freqfs_passno掛載命令:mount/oraclemount/dev/sdb12.3/etc/fstab文件/etc/fstab文件的數(shù)據(jù)項說明/dev/device將被掛裝的分區(qū)比如dev/hda3/dir/to/mount:分區(qū)掛裝到其上的子目錄(比如/usr)fstype:文件系統(tǒng)的類型(比如ext2/ext3)parameters:mount命令-o參數(shù)的附加參數(shù)mountoptiondefaults缺省值noauto

防止啟動時自動加載fs_freq:數(shù)值類型,告訴dump命令備份這個文件系統(tǒng)的頻率fs_passno:數(shù)值類型,告訴fsck程序在引導時確定文件系統(tǒng)的檢查順序(請注意所有文件系統(tǒng)在掛裝之前都要被檢查)2.3/etc/fstab文件swap分區(qū)是虛擬內(nèi)存駐留的地方。Linux的虛擬內(nèi)存可以保存在根分區(qū)以外的另一個分區(qū)上。swap分區(qū)遵守的規(guī)則不同于普通的文件系統(tǒng),所以這樣做可以提高性能。因為這個分區(qū)不需要備份或者在機器引導時由fsck程序檢查,所以最后的兩個參數(shù)都設置為0請注意swap還可以被保存為一個普通的磁盤文件。詳細資料請查閱mkswap命令的使用手冊頁.2.3/etc/fstab文件/proc文件系統(tǒng)和/proc聯(lián)系在一起的none數(shù)據(jù)項用來定義/proc文件系統(tǒng)。這是一個特殊的文件系統(tǒng),它提供了一個到內(nèi)核參數(shù)的接口,通過這個接口可以模擬任何其他的文件系統(tǒng)。雖然它看起來好像是保存在磁盤上的文件,其實它不是的—所有文件分別代表內(nèi)核中的某些東西。最引人注目的是/dev/kcore,它實際上就是抽取成文件的系統(tǒng)內(nèi)存映像。不熟悉/proc文件系統(tǒng)的人經(jīng)常把它誤認為是一個沒用的大文件,錯誤地刪除了它,從而引起系統(tǒng)發(fā)生許多明顯的故障。除非你確實知道自己在干什么,否則最好還是把/proc中的文件留在那里別動。/dev/pts文件系統(tǒng)數(shù)據(jù)項/dev/pts,是一個新的機制,用來完善網(wǎng)絡終端支持(ptys)的實現(xiàn)。如果你打算讓你的主機支持通過rsh、telnet、rlogin或者ssh的遠程登錄,這個數(shù)據(jù)項就是必不可少的。2.4使用fsck程序fsck工具程序的名字是ChecK(文件系統(tǒng)檢查)的縮寫,它被用來診斷和修復在日常操作中可能已經(jīng)損壞的文件系統(tǒng)。系統(tǒng)發(fā)生崩潰的時候,一般都來不及把內(nèi)部緩沖區(qū)中的全部數(shù)據(jù)轉(zhuǎn)存到磁盤上,所以類似的修復通常是十分必要的。如果確實發(fā)現(xiàn)某個文件系統(tǒng)的操作行為與其正常情況不一樣(log日志是這類情況的最佳提示),你可能會在一個運轉(zhuǎn)著的系統(tǒng)上運行fsck程序。唯一的不足之處是:為了執(zhí)行這個程序,需要診斷的文件系統(tǒng)必須先卸載下來。如果你選擇了這個方法,完成操作后別忘記把文件系統(tǒng)再掛裝上去。2.4使用fsck程序e2fsck注意fsck并不是ext2文件系統(tǒng)修復工具合適的名字;它實際上只是e2fsck的一個別名。fsck嘗試確定哪一個文件系統(tǒng)需要修復,然后再調(diào)用適當?shù)男迯凸ぞ叱绦?,把我們傳遞給fsck的參數(shù)都傳遞過去。對ext2文件系統(tǒng)來說,真正的工具叫做e2fsck。當發(fā)生系統(tǒng)崩潰的時候,與其依靠其他應用程序替你調(diào)用e2fsck,還不如自己直接來調(diào)用它。2.4e2fsck的可用參數(shù)如果想在/dev/hda3文件系統(tǒng)上運行e2fsck,需要輸入下面的命令:[root@test/root]#e2fsck/dev/hda3強制進行文件系統(tǒng)檢查并對出現(xiàn)的全部提示都回答“

Yes”,需要輸入下面的命令:[root@test]#e2fsck-f-y/dev/hda32.4e2fsck的可用參數(shù)e2fsck的參數(shù)說明-bsuperblock讓e2fsck讀取分區(qū)信息的超級塊編號。大多數(shù)情況下,e2fsck可以在第一個數(shù)據(jù)塊中找到它,但是如果那個塊損壞了,就需要指定另外一個號碼。超級塊每隔8192個出現(xiàn)一次,因此第二個超級塊在8193、然后是16385等等-c在運行e2fsck之前先執(zhí)行badblocks程序。它對整個硬盤按塊查找并校驗該塊的完整性。這是檢查硬盤最徹底的方法,但是花的時間比較多-f強制進行檢查,即使認為文件系統(tǒng)已經(jīng)沒有問題了-y告訴e2fsck對e2fsck提示的問題全部自動回答為“Yes”2.4lost+found子目錄另外一個比較少見的情況是e2fsck找到了一些文件碎片,但是沒有辦法把它們恢復到原始文件中去。這種情況下,它會把這些碎片放到該分區(qū)的lost+found子目錄里。這個子目錄就在該分區(qū)掛裝的位置,因此如果分區(qū)/dev/hda3被掛裝在子目錄/usr上,那么子目錄/usr/lost+found就對應于分區(qū)/dev/hda3。任何東西都可以放到lost+found子目錄里—文件碎片、子目錄、甚至一些特殊文件。如果在這里找到了普通文件,可以看出它的所有者,你可以與該所有者聯(lián)系看他們是否還需要這些文件(他們通常都不需要)。如果在lost+found中遇到了子目錄,與其試圖從lost+found中重新建立它的結(jié)構(gòu),還不如從最近的備份中來恢復。lost+found子目錄至少可以告訴你有一些東西失去了定位。但是,這種錯誤實在太少見了。2.5硬盤空間配額的管理實現(xiàn)配額管理的準備工作設置配額管理配額2.5實現(xiàn)配額管理的準備工作第一步是配置系統(tǒng)使用硬盤配額的一次性設置工作,通過這個設置把實行配額管理所必須的軟件安排就位,以后每次開機時就進入預備狀態(tài),第二步是在/etc/fstab文件中進行必要的設置,并在每個準備實行硬盤配額管理的分區(qū)里加上必須的文件。第二步的工作需要對每一個準備實行硬盤配額管理的分區(qū)分別進行設置操作。2.5設置引導過程大多數(shù)Linux發(fā)行版本(包括RedHat)都已經(jīng)把對配額管理的支持作為標準安裝的一個部分預先設置好了。因此不必再對引導過程進行什么改動了。如果想啟動配額管理程序,在用戶的引導腳本程序末尾(rc.local是個不錯的選擇)加上下面這幾行語句:2.5配置各個分區(qū)對每個準備實行硬盤配額管理的分區(qū),需要進行三項設置:usrquota參數(shù)、grpquota參數(shù)和配額數(shù)據(jù)庫。?usrquota參數(shù)編輯/etc/fstab文件,在每一個需要配額的硬盤分區(qū)的掛裝參數(shù)里加上usrquota參數(shù)。舉例來說,假設/dev/hda5掛裝到/home子目錄,現(xiàn)在準備對這個子目錄設置用戶配額,/etc/fstab文件中的對應數(shù)據(jù)項應該修改為如下所示的樣子:/dev/hda5/homeext2defaults,usrquota11?grpquota參數(shù)需要用戶分組配額支持的硬盤分區(qū)對應的/etc/fstab文件中的數(shù)據(jù)項應該有grpquota參數(shù),與剛才介紹的usrquota參數(shù)一樣(請注意同時設置這兩個參數(shù)是可以的)。?

配額數(shù)據(jù)庫建立相應的數(shù)據(jù)庫文件保存用戶和用戶分組配額信息。這些文件是空的,它們被放置在每一個實行配額的硬盤分區(qū)的根目錄下;只有根用戶才能讀取它們的內(nèi)容;而且必須給它們起名為quota.user和quota.group。2.5設置配額無論是對用戶還是對用戶分組,建立、修改和刪除配額的操作都是由edquota命令來完成的。首先學習幾個術語:軟限制:這個限制作用于用戶或者用戶分組。如果用戶的賬戶超過了軟限制,就開始進入限制期,也就是這個賬戶在超過軟限制后還能存在多長的時間。在這個期間,用戶會收到警告他們的賬戶超標的消息。硬限制:這個限制是由操作系統(tǒng)實行的,不允許超過。試圖在硬限制以外進行數(shù)據(jù)寫操作會被拒絕。限制期(時間限制):當用戶的賬戶超過軟限制的時候,時鐘開始計時。在限制期結(jié)束之前,用戶是無法再訪問這個賬戶的。這個限制期的長度因系統(tǒng)而異,通常會是一個星期。如果不想讓這個賬戶被禁用,用戶需要刪除或者壓縮文件,使自己的硬盤空間消耗量降低到軟限制以下。2.5edquota的命令行參數(shù)當管理單個用戶的配額時,edquota命令只有三個參數(shù),如下所示:#edquota[option][user]-ulogin為參數(shù)定義的用戶設置配額數(shù)據(jù)#edquota-uheidi-t為硬盤分區(qū)設置限制期。把它與-u或者-g參數(shù)聯(lián)合使用可以分別為用戶或者用戶分組全部設置好限制期。請注意:如果用戶/用戶分組在同一個分區(qū)上,它們就不能有不同的限制期-ggroup為參數(shù)定義的用戶分組設置配額數(shù)據(jù)-plogin允許把一個用戶的配額資料(用戶名為login)克隆給另外一個用戶。這個參數(shù)必須與-u參數(shù)合用#edquota-pjyomebosze臨時文件.edquota命令編輯這些信息時會給其臨時文件起一個唯一的名字。保存這個臨時文件—不要把這些信息寫到quota.user或者quota.group文件上!edquota命令會把這些信息自動調(diào)整到這兩個文件里去。2.5edquota命令示范各項限制的值都是0,表示此時在heidi的賬戶上還沒有設置任何配額。請注意:對i-結(jié)點和數(shù)據(jù)塊都可以進行限制。別忘了Linux中的數(shù)據(jù)塊的長度是1K字節(jié),而i-結(jié)點則是保存文件所必須的控制信息。每個文件一般

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論