Linux檔案系統四 檔案系統的建立流程與維護

2021-06-28 04:46:52 字數 4109 閱讀 5079

檔案系統管理

重新建立檔案系統會損壞原有檔案

mkfs:make file systetm

-t filesystem type

注:要對某乙個分割槽建立檔案系統不要對整個磁碟建立檔案系統

mkfs -t ext2 = mkfs.ext2

專門管理ext系列檔案:

mke2fs:

-j :jonourl

-b:block_size:d***ult 4096;use_block:1024,2048

-l:lable:指定分割槽卷標

-m #:指定留給超級使用者的塊數的百分比

-i :指定多少個位元組建立乙個inode,預設為8192

-n:指定inode的個數

-f:強制建立檔案系統

-e:用於指定額外的檔案系統屬性

blkid: 檢視磁碟裝置的相關屬性

blkid /dev/sda5

uuid:唯一標識磁碟裝置

type

e2lable :檢視定義卷標

e2lable /dev/sda3 "lable"

tune2fs:調整檔案系統屬性

-j:不損壞原有資料,將ext2公升級為ext3

-l:用於設定卷標

-m:調整預留百分比、

檢視系統支援檔案系統型別:cat /proc/filesystem

df -[ahikhtm][ 目錄或檔名]

選項與引數:

-a:列出所有的檔案系統,包括系統特有的/proc等檔案系統;

-k:以kbyte的容量顯示個檔案系統;

-m:一mbytes的容量顯示個檔案系統;

-h:一人們較易閱讀的gbytes,mbytes,kbytes等格式自行顯示;

-h:以m=1000k取代m=1024k的進為方式;

-t:連同2該partition的filesystem名稱(例如 ext3)也列出;

-i:不用硬碟容量,而已inode的數量來顯示

注:在使用-a這個引數時,系統會出現/proc這個掛載點,但是裡面的東西都是0,/proc的

東西都是linux系統所需要載入的系統資料,而且掛載在記憶體中,所以不占用任何硬碟空間。

/dev/shm目錄

其實是利用記憶體虛擬化出來的磁碟空間,由於是透過記憶體**出來的磁碟,

要掛載的裝置    掛載點    檔案系統型別    掛載選項    儲存頻率    檔案檢測次序

fuser:驗證程序正在使用的檔案套接字

-v:檢視誰使用哪個程序使用

-km /mnt/test;終止此掛載點的所有程序

新增乙個磁碟需要做哪些操作:

1.對磁碟進行分割,以建立可用的partition

2.對該partition進行格式化(format),已建立系統可用的filesystem;

3.若想要仔細一點,則可對剛剛建立好的filesystem進行檢驗;

4.在linux系統上,需要建立掛載點,並將他掛載上來;

操作環境說明:

以root的身份進行硬碟的partition時,最好是單人維護模式下比較安全些,此外,在進行fdisk的時候,如果

該硬碟的某個partition還在使用當中,那麼核心可能無法過載磁碟的partition table

,解決的方法是將該使用的分割槽卸除,然後重新進入fdisk一遍,重新寫入partition table。

注意事項:

fdisk只有root才能執行,而且分割槽是針對真個磁碟裝置,而不是某乙個分割槽,所以裝置名不能加數字

sata磁碟最多能支援到15號分割槽,而ide則可以支援到63號。

磁碟格式化(make filesystem,mkfs)

mkfs [-t檔案系統格式] 裝置檔名

mke2fs [-b block大小] [-i inode個數] [-l 標頭] [-cj]

-c:檢查磁碟錯誤,僅下達一次-c時,會進行快速測試,如果兩次-c -c的話,會測試讀寫,會很慢

-j:mke2fs是ext2,加上-j後,會主動加入journal而成為ext3.

磁碟檢驗:fsck,badblocks(在日常生產應用中經常使用,特別是對虛擬機器的修復)

fsck [-t 檔案系統] [-acay]裝置名稱

-t;指定檔案系統,但現在linux可以透過superblock去分辨檔案系統,因此通常可以不需要這個選項

-a: 依據/etc/fstab的內容,將需要的裝置掃瞄一次(開機過程中就會執行此命令)

-a: 自動修復檢查到的問題扇區

-y: 某些檔案系統僅支援-y這個引數

-f:強制檢查!一般來說,如果fsck沒有發現unclean的旗標,不會主動進入

細部檢查,如果想要強制進入細部檢查,就得加上-f旗標

-c: 可以在檢驗的過程當中,使用乙個直方圖來顯示進度

注意:由於fsck在掃瞄的時候,可能造成filesystem的損壞,所以執行fsck時,被檢查的分割槽務必不可以掛載到系統上個,以及需要在解除安裝的在狀態ext2/ext3檔案系統的最頂層(就是掛載點那個目錄底下)會存在乙個[lost+found]的目錄,該目錄就是的那個使用fsck檢查檔案系統後,若出現問題時,有問題的資料就會被放置在這個目錄中!所以理論上這個目錄不應該有任何資料,若系統自動產生資料在裡面,那麼就的注意一下檔案系統了。

-------我們系統時間執行fsck指令,其實是呼叫e2fsck這個軟體

badblocks:

-s:在螢幕上列出進度

-v:可以在螢幕上看到進度

-w:使用寫入方式測試,建議不要使用此一引數,尤其是待檢查的裝置已有檔案

作用:檢查磁碟後軟盤扇區有沒有壞軌的指令!由於這個指令其實可以透過[mke2fs -c 裝置名]

在進行格式化的時候出路磁碟表面的讀取測試。

重新掛載根目錄與掛載不特定目錄

問題:當你的掛載引數要改變,或者誰跟目錄出現唯讀狀態,需呀重新掛載

最有可能的處理防水就是重新啟動或者

mount -o remount,rw,auto /

重點是-o remount,xx的選項引數,尤其當你進入單使用者模式時,你的根目錄通常會被系統掛載為唯讀,這個時候這

指令就用處大了

我們可以利用mount將某個目錄掛載到另乙個個目錄去,並不是掛載檔案系統,而是額外掛程式載某乙個目錄的方法!

也可以使用符號鏈結,但某些不支援符號鏈結的程式,就必須使用這樣的方法。

如圖:2

使用lable name 掛載本地回環裝置

1.使用 dumpe2fs -h /dev/sda 查詢lable name

2.mount -l "lable name" /mnt/sds

mknod

在linux下所有裝置都已檔案來表示,那麼檔案時如何代表該裝置的?檔案是透過major與minor數值來代替的,

那個major與minor數值是有特殊含義的,不是隨意設定的,我們的核心認識裝置資料就是透過這兩個數值決定的。

mknod 裝置名[bcp][major][minor]

b:設定裝置名稱成為乙個周邊儲存檔案,例如磁碟

c:設定裝置名稱成為乙個周邊輸入裝置,例如鍵盤

p:設定裝置名稱成為乙個fifo檔案

boot sector與superblock   

block_size=1k:boot sector 在superblock前的乙個block,也就是0號blcok

block_size=4k:boot sector與superblock在同一block裡各站1024bit,其他儲存保留。

利用gun發parted進行分割:

由於fdisk無法支援高於2tb以上的分割槽,所以就需要parted來處理

parted [裝置][指令[引數]]

新增分割 mkpart [primary|logical|extend] [ext3|vfat]開始 結束

分割表:print

刪除分割:rm[partition]

parted /dev/sda mkpart logical ext3 19.2g 19.7g

實驗四 檔案系統

實驗四 檔案系統 一 實驗目的 1 熟悉linux檔案系統的檔案和目錄結構,掌握linux檔案系統的基本特徵 2 模擬實現linux檔案系統的簡單i o流操作 備份檔案。二 實驗內容 1 瀏覽linux系統根目錄下的子目錄,熟悉每個目錄的檔案和功能 2 設計程式模擬實現linux檔案系統的簡單i o...

linux檔案系統 ext2檔案系統

如何快速高效的尋到在硬碟儲存的資料,於是檔案系統就誕生了。檔案系統是邏輯層面的,那麼檔案系統是如何管理 件層提供的磁碟空間的?現在,大部分檔案系統採用索引分配方案 優點 1.能夠保持好大部分檔案的區域性性 2.滿足檔案插入,刪除的高效 3.隨機讀寫不需要沿著指標前行 缺點1.會有較多的磁碟尋道次數 ...

linux的虛擬檔案系統四(檔案系統理論)

1.linux檔案系統 檔案系統指檔案存在的物理空間,linux系統中每個分割槽都是乙個檔案系統,都有自己的目錄層次結構。linux會將這些分屬不同分割槽的 單獨的檔案系統按一定的方式形成乙個系統的總的目錄層次結構。乙個作業系統的執行離不開對檔案的操作,因此必然要擁有並維護自己的檔案系統。2.常見檔...