當(dāng)前位置: 首頁(yè)IT技術(shù)操作系統(tǒng) → Linux中的文件系統(tǒng)

Linux中的文件系統(tǒng)

更多

  Linux操作系統(tǒng)中的文件系統(tǒng)

   文件系統(tǒng)是對(duì)一個(gè)存儲(chǔ)設(shè)備上的數(shù)據(jù)和元數(shù)據(jù)進(jìn)行組織的機(jī)制。

   文件系統(tǒng)是Linux操作系統(tǒng)的重要組成部分,Linux文件具有強(qiáng)大的功功能。文件系統(tǒng)中的文件是數(shù)據(jù)的集合,文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所

  有Linux 用戶(hù)和程序看到的文件、目錄、軟連接及文件保護(hù)信息等都存儲(chǔ)在其中。

   Linux系統(tǒng)中常用的文件系統(tǒng):

   ext2;ext3;ext4;

   xfs;reiserfs;jfs(集群文件系統(tǒng));iso9660;swap;

   GFS2;OCFS2(oracle的文件系統(tǒng));NFS;SMBFS(cifs)

   VFAT;NTFS;

   一)相關(guān)知識(shí)

   1、文件的數(shù)據(jù)包括文件的元數(shù)據(jù)(相關(guān)屬性信息)和文件的內(nèi)容信息;

   2、inode表(inode Table)

  我們知道,一個(gè)文件除了數(shù)據(jù)需要存儲(chǔ)之外,一些描述信息也需要存儲(chǔ),例如文件類(lèi)型(常

  規(guī)、目錄、符號(hào)鏈接等),權(quán)限,文件大小,創(chuàng)建/修改/訪問(wèn)時(shí)間等,也就是ls -l命令看

  到的那些信息,這些信息存在inode中而不是數(shù)據(jù)塊中。每個(gè)文件都有一個(gè)inode,一個(gè)塊組

  中的所有inode組成了inode表。

   3、目錄--目錄也是一個(gè)文件,存放通過(guò)該目錄可以直接找到的文件名,和對(duì)應(yīng)的

  inode信息;

   4、塊位圖(Block Bitmap)就是用來(lái)描述整個(gè)塊組中哪些塊已用哪些塊空閑的,

  它本身占一個(gè)塊,其中的每個(gè)bit代表本塊組中的一個(gè)塊,這個(gè)bit為1表示該塊已用,這個(gè)

  bit為0表示該塊空閑可用。

   5、inode位圖(inode Bitmap)和塊位圖類(lèi)似,本身占一個(gè)塊,其中每個(gè)bit表示

  一個(gè)inode是否空閑可用。

   6、數(shù)據(jù)塊(Data Block)

   a、對(duì)于常規(guī)文件,文件的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)塊中。

   b、對(duì)于目錄,該目錄下的所有文件名和目錄名存儲(chǔ)在數(shù)據(jù)塊中,注意文

  件名保存在它所在目錄的數(shù)據(jù)塊中,除文件名之外,ls -l命令看到的其它信息都保存在該

  文件的inode中。注意這個(gè)概念:目錄也是一種文件,是一種特殊類(lèi)型的文件。

   c、對(duì)于符號(hào)鏈接,如果目標(biāo)路徑名較短則直接保存在inode中以便更快地

  查找,如果目標(biāo)路徑名較長(zhǎng)則分配一個(gè)數(shù)據(jù)塊來(lái)保存。

   d、設(shè)備文件、FIFO和socket等特殊文件沒(méi)有數(shù)據(jù)塊,設(shè)備文件的主設(shè)備

  號(hào)和次設(shè)備號(hào)保存在inode中。

   二)分區(qū)的創(chuàng)建

   #fdisk DEV_NAME

   p --顯示分區(qū)表

   n --增加一個(gè)分區(qū)

   e--新建擴(kuò)展分區(qū)

   p--新建主分區(qū)

   +#{K|M|G}--分配多少空間

   d --刪除一個(gè)分區(qū)

   t --改變分區(qū)的系統(tǒng)id

   l --列出磁盤(pán)分區(qū)的系統(tǒng)id

   w --保存修改并退出

   q --放棄修改并退出

   (注!。。┬陆ㄒ粋(gè)分區(qū)時(shí),系統(tǒng)可能沒(méi)有識(shí)別,這時(shí)需要命令:partprobe

  DEV_NAME --系統(tǒng)重新掃描磁盤(pán)

   sfdisk --

   -d /dev/sdb --顯示磁盤(pán)分區(qū)表;

   eg:sfdisk -d /dev/sdb > /root/sdb.partion.bak

   格式化:(高級(jí)格式化)

   #mkfs -t TYPE /dev/sdb1

   -L label --指定卷標(biāo)

   #e2label /dev/sdb1:顯示卷標(biāo);

   #e2label /dev/sdb1 LABEL :指定卷標(biāo);

   mkfs -t ext2=mkfs.ext2

   #mke2fs /dev/sdb1--格式化為ext2

   -j--ext3

   -L --指定卷標(biāo)

   -b --指定塊大小{1024|2048|4096},默認(rèn)為4096,4K(取決于頁(yè)

  框‘page frame’的大小)

   -c--創(chuàng)建文件系統(tǒng)前檢查分區(qū)是否有壞塊;

   -i--決定inode的個(gè)數(shù);指定字節(jié)/inode 的比例;

   -N--直接指定inode的個(gè)數(shù);

   -m--預(yù)留給超級(jí)用戶(hù)的磁盤(pán)塊的百分比(默認(rèn)為5%)

   #mount --顯示當(dāng)前系統(tǒng)上所有已掛載的文件系統(tǒng);(/etc/mtab--隨時(shí)記錄當(dāng)前系

  統(tǒng)上掛載的文件系統(tǒng))

   -t--指定文件系統(tǒng)類(lèi)型;

   -a--掛載所有文件系統(tǒng)(/etc/fstab)

   -n--掛載時(shí)不更新/etc/mtab文件;

   -r--只讀掛載;

   -w--讀寫(xiě)掛載;

   -L label --把卷標(biāo)為label的設(shè)備掛載到指定的掛載點(diǎn)

   -U uuid

   -o 指定掛載時(shí)的選項(xiàng);

   async --異步寫(xiě)入;

   atime --更新訪問(wèn)時(shí)間’

   auto -- 自動(dòng)掛載;

   defaults--

   exec--具有執(zhí)行權(quán)限的文件可自動(dòng)執(zhí)行;

   dev--允許在分區(qū)上創(chuàng)建設(shè)備文件;

   noatime--不更新訪問(wèn)時(shí)間;

   remount--重新掛載;mount -o remount,rw /mnt

   ro--只讀

   rw--讀寫(xiě)

   user--允許普通用戶(hù)掛載 ;

   loop--掛載回環(huán)設(shè)備(iso)

   --bind --將兩個(gè)目錄綁定起來(lái);

   mount DEV mount_point

   mount [-t fstype] [option] DEV MOUNT_POINT

  #umount DEV

  #umount mount_point

  #fuser -v MOUNT_POINT --查看那個(gè)用戶(hù)的那個(gè)進(jìn)程在訪問(wèn)掛載點(diǎn);

  #fuser -km MOUNT_POINT --將訪問(wèn)掛載點(diǎn)的進(jìn)程kill掉

  #blkid DEV--查看文件系統(tǒng)類(lèi)型;

   UUID--磁盤(pán)分區(qū)的編號(hào);

   三)文件管理相關(guān)命令

   #du --查看文件大小

   option:-h --以M為單位顯示;

   -s --顯示目錄及文件的總大;

   #df --顯示每一個(gè)分區(qū)的磁盤(pán)空間的使用情況

   -h --以M為單位顯示

   -i --顯示分區(qū)inode的個(gè)數(shù)

   文件壓縮/解壓縮的相關(guān)命令

   #gzip --只能壓縮文件,不能壓縮目錄

   -d --解壓

   -c --壓縮完成后不刪除原文件

   eg:gzip -c FILE > FLIE.gz

   -t --用于測(cè)試壓縮文件的完整性;

   -# --#(1-9)指定壓縮比(數(shù)值越大,壓縮比越大,速度越慢)

   與之對(duì)應(yīng)的解壓縮命令#gunzip FILE.gz(解壓后原文件被刪除。

   #zcat --在不解壓的情況下查看文件內(nèi)容

   格式:zcat FILE.gz

   #bzip2 --功能強(qiáng)大的文件壓縮工具

   -d --解壓

   -k --壓縮完成后不刪除原文件

   -t --用于測(cè)試壓縮文件的完整性;

   -# --#(1-9)指定壓縮比(數(shù)值越大,壓縮比越大,速度越慢)

   #bzcat FILE.bz2 --不解壓直接查看文件;

   #bunzip2 FILE.bz2

   #zip ZIPFILE FILE,...

   eg:zip inittab.zip inittab,message --先指定壓縮后的名稱(chēng),再指定

  需要壓縮的文件名

   #unzip ZIPFILE --解壓縮

 

   文件歸檔工具:

   #tar --打包多個(gè)文件,并不壓縮文件

   -c --創(chuàng)建歸檔文件

   -f --指定歸檔文件名

   -x --展開(kāi)歸檔文件

   -t -- 在不展開(kāi)歸檔文件的情況下,查看里面存在什么文件

   -v -- 顯示文件打包工程的詳細(xì)信息

   -z --使用gzip壓縮

   -j --使用bzip2壓縮

   -C --指定展開(kāi)的歸檔文件的目錄

   常用選項(xiàng)的組合

   eg:tar -zcf --既歸檔有壓縮文件

   tar -zxf --展開(kāi)既歸檔又壓縮的文件

   總結(jié):文件系統(tǒng)是操作系統(tǒng)用于明確磁盤(pán)或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤(pán)上組織文件的方法。了解文件系統(tǒng)的工作原理,有助于我們更好的利用磁盤(pán)空間,也不會(huì)出現(xiàn)一些誤操作,進(jìn)而保障文件系統(tǒng)的安全,穩(wěn)定。

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)