linux 8 Linux磁碟與檔案系統的管理

2021-06-20 07:28:52 字數 2568 閱讀 6075

linux最傳統的磁碟檔案系統file system ext2,

1.磁碟的組成與分割槽

整塊磁碟的組成:

圓形的碟片,主要記錄資料的部分

機械手臂與機械手臂上的磁頭(可讀寫碟片上的資料)

主軸馬達,可以轉動碟片,讓機械手臂的磁頭可以碟片上讀取資料。

扇區(sector),最小的物理儲存單位,每個扇區為512bytes

將扇區圍成乙個圓,那就是柱面(cylinder),柱面是分割槽(partition)的最小單位。

第乙個扇區比較重要,裡面有硬碟主引導程式(masterbootrecord),以及分割槽表(partition table)。其中mbr佔446bytes,partition table則佔64bytes

各種介面在linux中的檔名為:

/dev/sd[a-p][1-15] :為scsi,sata,usb,flash等介面的磁碟檔名

/dev/hd[a-d][1-63]:為ide介面的磁碟檔名

磁碟的分割槽可以訪問的區域就是a柱面到b柱面之間的塊

因為分割槽表只有64bytes,所以最多只能記錄四條分割槽的記錄,這四條記錄我們成為主分割槽(primary)和擴充套件分割槽(extended),擴充套件分割槽還可以再分出邏輯分割槽(logical)

,能被格式化的只有主分割槽和邏輯分割槽。

主分割槽和擴充套件分割槽最多可以有四個

擴充套件分割槽最多只能有乙個

邏輯分割槽時擴充套件分割槽持續分出來的分割槽

能被格式化作為資料訪問的分割槽為主要分割槽和邏輯分割槽,擴充套件分割槽無法格式化

邏輯分割槽的數量依作業系統而不同,在linux系統中,ide硬碟最多有59個邏輯分割槽(5號-63號),sata硬碟則有最多11個邏輯分割槽(5號-15號)

linux的正規檔案系統則為ext2(linux second extended file system ext2fs)

乙個可被掛載的資料為乙個檔案系統,而不是乙個分割槽

檔案系統通常會把這兩部分的資料分別放到2個不同的塊,許可權和屬性放到inode中,而資料放到data block中,還有乙個超級快(super block)記錄整個檔案系統的整體資訊,包括inode和block的總量,剩餘量,使用量

檔案系統型別:索引式檔案系統(indexed allocation),譬如硬碟,還有fat格式的檔案系統,譬如u盤

碎片整理,就是將同乙個檔案所屬的block匯合在一起,這樣讀取資料會比較容易。

日誌檔案的功能:

日誌檔案系統(journaling file system)

預備:當系統要寫入乙個檔案時,會先在日誌檔案中記錄某個檔案準備要寫入的資訊

實際寫入:開始寫入檔案的許可權和資料,開始更新meta data的資料

結束:完成資料和meta data的資料更新後,在日誌記錄中完成該檔案的記錄。

這樣只需要檢查日誌記錄塊就知道那塊資料出現了問題

ext2轉換到ext3的原因是:資料的可利用性,資料的完整性,速度和易於轉換

掛載:檔案系統與目錄樹結合的過程我們叫掛載

檔案系統只有掛載到目錄才能使用

linux支援的檔案系統:

傳統檔案系統 ext2deng

日誌檔案系統:ext3等

網路檔案系統:nfs/smbfs

整個linux系統是通過乙個名為virtual filesystem switch(虛擬檔案系統vfs)進行管理的,我們使用者並不知道每個分割槽上頭的檔案系統是什麼,vfs會主動幫助我們做好讀取的操作

檔案系統的簡單操作:

磁碟與目錄的容量:df,du

df:列出檔案系統的整體磁碟使用量,以易讀的方式顯示出來 df -h

du:評估檔案系統的磁碟使用量(常用於評估目錄所佔容量,)

連線檔案ln

1.類似window下的快捷方式,成為符號連線,symbolic link

2.hard link-硬連線

hard link就是在某個目錄下新建一條檔名連線到某個inode下。

hard link是有限制的:不能跨檔案系統,不能連線到目錄。

新建hard link ,ln 原始檔  目標檔案   

symbolic link :ln -s  原始檔  目標檔案

開機掛載

/etc/fstab 和 /etc/mtab

根目錄是優先掛載的

如若進行掛載,您必須將工作目錄移動到掛載點之外。

特殊檔案loop掛載(映象檔案不燒錄就能直接使用)

ll -h /root/centos 5.2_x_86_64.iso

mkdir /mnt/cebtos_***

mount -o loop /root/centos 5.2_x_86_64.iso /mnt/centos_***

dfll /mnt/centos_***

解除安裝:umount /mnt/centos_***

建立大型檔案:

dd if=/dev/zero of=/home/loopdev bs=1m count=512

ll -h /home/loopdev

格式化:

mkfs -t ext3 /home/loopdev

掛載:mount -o loop /home/loopdev /media/cdrom/

linux(8)Linux 檢視埠占用情況

平常使用linux,我們經常需要檢視哪個服務占用了哪個埠,接下來就為大家介紹了2種 linux 檢視埠占用情況可以使用 lsof 和 netstat 命令。需要注意的是,centos系統預設是沒有安裝lsof list open files 的,需要手動安裝 yum install lsof檢視伺服...

初學Linux 8 Linux的目錄裡都裝些啥

搞電腦的人總想知道自己的系統裡到底有些什麼東西,於是我就在linux的根目錄下執行ls l 列目錄命令 哇,一大串,這許多目錄都放些什麼呢?我硬著頭皮往裡鑽,功夫不負有心人,終於將這迷宮的秘密揭開了。在此公布天下 bin bin是binary的縮寫。這個目錄沿襲了unix系統的結構,存放著使用者最經...

Linux 磁碟與硬體管理

本人認為不錯的文章 特轉 磁碟分割 partition 在了解了硬碟的物理元件之後,再接著下來介紹的就是硬碟的分割 partition 囉!為什麼要進行硬碟分割啊?因為我們必須要告訴作業系統 我這塊硬碟可以訪問的區域是由 a 磁柱到 b 磁柱 如此一來,作業系統才能夠控制硬碟磁頭去 a b 範圍內的...