檔案系統管理
重新建立檔案系統會損壞原有檔案
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.常見檔...