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 範圍內的...