liunx 磁盤管理命令記錄,liunx磁盤命令記錄
liunx 磁盤管理命令記錄,liunx磁盤命令記錄
Linux磁盤管理好壞管理直接關系到整個系統的性能問題。
Linux磁盤管理常用三個命令為df、du和fdisk。
- df:列出文件系統的整體磁盤使用量
- du:檢查磁盤空間使用量
- fdisk:用於磁盤分區
今天我們來說一下如何使用fdisk和parted分區工具來進行硬盤分區,、下面我來說一下在Linux系統中這兩種硬盤分區工具的使用方法:
----------fdisk分區工具----------
在我的另一篇文章裡已經說過了在Linux系統中硬盤分區的概念了(http://blog.chinaunix.net/u3/112561/showart_2230401.html),所以在這裡我就不多說了,有不懂的可以看看那篇
一、.下面來介紹fdisk分區工具的命令格式:
fdisk是傳統的Linux硬盤分區工具,也是Linux系統中最常用的一種硬盤分區工具之一,它的命令格式如下:
740)this.width=740;" border=0>
其中常用命令選項的說明如下:
-b sectorsize: 定義磁盤扇區的大小,有效值包括512、1024和2048,這個選項只對老版本的Linux操作系統有效。
-C cyls: 定義磁盤的柱面數,一般情況不需要對它進行定義,使用默認的就好。
-H heads: 定義分區表所使用的磁盤的碰頭數,一般為255或16。
-S sects: 定義每條磁道的扇區數,一般為63。
-l :這是最常用到的一個命令選項,它是顯示指定磁盤設備的分區表信息,例如查看/dev/sdb1這個磁盤設備的分區表信息就是:fdisk -l /dev/sdb1
-u :在顯示分區表時,以扇區代替柱面作為顯示的單位
-s partition: 在標准輸出中以block為單位顯示分區的大小。
-v :顯示fdisk的版本信息。
device:就是磁盤的設備名稱,IDE類型的磁盤設備名為[dev/hd[a-h]];而SCSI或SATA類型的磁盤設備名為[dev/sd[a-p]]。
假如我要查看我電腦上的第一塊磁盤的分區表信息(呵呵,我就一塊硬盤)可以使用如下命令:fdisk -l /dev/sda(我的硬盤是SATA類型的)顯示信息如圖:
740)this.width=740;" border=0>
然後我們可以看一下它們各自對應磁盤設備文件:
使用命令:ll /dev/sda* 來查看如圖:
740)this.width=740;" border=0>
朋友們可以自己嘗試一下別的命令的作用,由於時間問題我在這裡就不一一說了~!下面我們來看看如何使用fdisk工具來對硬盤分區吧。
二、fdisk交互模式:
當我們使用了命令“fdisk+設備名”後,就可以進入fdisk程序的交互模式了,在交互模式中可以通過輸入fdisk程序所提供的指令來完成相應的操作,其結果如圖:
740)this.width=740;" border=0>
進入到這種模式時候,我們就可以通過輸入fdisk的指令來執行相應的磁盤分區管理操作了,輸入m可以獲取fdisk的指令幫助信息:如圖:
740)this.width=740;" border=0>
下面我們來看看各個指令的使用說明:
a :設置可引導標記
b :修改bsd的磁盤標簽
c :設置DOS操作系統兼容標記
d :刪除一個分區
l :顯示已知的分區類型,其中82為Linux swap分區,83為Linux分區
m :顯示幫助信息
n :增加一個新的分區
o :創建一個新的空白的DOS分區表
p :顯示磁盤當前的分區表
q :退出fdisk程序,不保存任何修改
s :創建一個新的空白的Sun磁盤標簽
t :改變一個分區的系統號碼(比如把Linux Swap分區改為Linux分區)
u :改變顯示記錄單位
v :對磁盤分區表進行驗證
w :保存修改結果並退出fdisk程序
x :特殊功能,不建議初學者使用
知道了上面這些命令的意義,可以說就會對一塊硬盤進行分區了。下面我來舉個例子來說明一下:
首先我拿虛擬機添加一塊硬盤,大小為170G,然後對其進行分區:
1.首先輸入“fdisk -l“命令來查看一下添加上硬盤沒有,然後輸入命令“fdisk /dev/sdb"來進入fdisk程序交互模式,如下圖:
740)this.width=740;" border=0>
2.輸入指令“n"來新建一個分區,這個時候系統會讓你輸入是新建主分區還是擴展分區,我選擇主分區(p),然後輸入分區號(因為我這是新的硬盤,還沒有分過區,所以輸入1代表第一個主分區),然後又是起始柱面,直接選擇默認即可。最後輸入你這塊分區的大小,我這裡是分的差不多50G吧!這樣一個分區就分好了,然後你可以輸入p指令來查看一下,如下圖:
740)this.width=740;" border=0>
3.這次我再建立一個擴展分區,首先輸入指令n來新建一個分區,然後輸入e來選擇擴展分區,再輸入分區號(2),然後下面的都選擇默認就OK了!建立好後使用指令 p來查看一下,如圖:
740)this.width=740;" border=0>
4.下面我再在擴展分區裡面建立兩個邏輯分區,首先輸入指令n,然後選擇分區類型為l(邏輯分區)起始柱面選擇默認,然後輸入此邏輯分區的大小,我就分40G了。最後輸入指令p來查看一下是否建立成功,如圖:
740)this.width=740;" border=0>
5.同樣的步驟建立另一個邏輯分區,這裡就不多說了。下面來看一下如何修改一個分區的類型。
6.輸入指令t來修改分區的類型(只需要輸入分區類型對應的ID號即可),然後輸入要修改的分區號,我這裡是修改的sdb5(也就是說輸入5就OK了)。最後輸入分區的類型的ID號,如果不知道分區的類型對應的ID號,你可以輸入“l"指令來查看分區類型所對應的ID號。如圖:
740)this.width=740;" border=0>
7.查到分區類型的ID號後,你就可以輸入對應的ID號來修改分區類型了,我這裡把Linux分區改為Linux swap類型,從上圖可知Linux swap類型所對應的ID為82,輸入82後回車就完成 了修改,可以使用指令p來查看一下,如圖:
740)this.width=740;" border=0>
8.上面這些就是整個使用fdisk分區工具對硬盤進行分區的過程,哦,別忘記最後一步了,你得輸入指令w來對你所做的操作進行保存,保存後你可以使用fdisk -l /dev/sdb來查看是否分區成功。如圖:
9.上面我們對硬盤進行了分區,硬盤分完區之後是不能直接使用的,得格式化後才能使用,下面我們就對硬盤進行格式化。輸入“mkfs.ext3"來把硬盤格式化成ext3類型的文件系統。具體mkfs命令的使用方法,可以自己使用man mkfs命令來查看,這裡就不詳細說明了。如圖:
10.輸入mkfs.ext3 /dev/sdb1命令來對硬盤格式化,一個一個分區都要格式化完成才可以,有一個特殊的分區就是swap,可以使用命令mkswap /dev/sdb5來對swap類型的分區進行格式化。如下圖:
740)this.width=740;" border=0>
740)this.width=740;" border=0>
11.格式化完文件系統後,你需要對磁盤進行掛載後才能夠正常使用,掛載命令為mount,使用格式如下:
mount [-t 文件系統類型 ] 存儲設備 掛載點(通常文件系統類型通常可以省略,系統會自動識別)
12.在掛載之前你需要新建一個掛載點,就是你想要把這塊磁盤掛載到哪,然後你就把掛載點建立在哪就OK了。例如,上面例子中,我要對/dev/sdb1分區掛載,那麼我先給它新建一個掛載點:mkdir /media/sdb1,然後執行:mount /dev/sdb1 /media/sdb1掛載點的名字可以隨便起,掛載後你就可以往磁盤裡寫東西了,如圖:
740)this.width=740;" border=0>
13.為了方便起見,我們還可以修改相關的配置文件,使得系統對某一個分區進行自動掛載,具體就是修改/etc/fstab配置文件來實現,我以上面例子把/dev/sdb1分區配置成每次系統啟動時自動掛載到/media/sdb1下面,可以如下修改配置文件,如圖:
740)this.width=740;" border=0>
14.按照上面所做當系統每次啟動時,就會自動把/dev/sdb1分區掛載到/media/sdb1裡,而不用我們每次進行手動掛載。
15.如果我們不想使用某一分區時,需要對它進行卸載,可以使用“umount + 設備掛載點”命令來進行卸載。如上例:umount /media/sdb1命令來進行卸載。
注意:有時候會遇到無法卸載的情況,遇到這種情況的原因是因為有其他用戶或進程正在訪問該文件系統導致的,在Linux系統中,是不允許對正在被訪問的文件系統進行卸載操作的,只有當該文件系統上所有訪問的用戶或進程完成操作並退出後,這個文件系統才能被正常卸載。我們有兩種方法來處理這種情況,一是用命令“lsof +掛載點”來查看到底是哪些進程正在訪問該文件系統,查找出來後,使用kill命令將進程殺死來進行卸載。二是使用命令“fuser -k +掛載點”。加-k選項是使用命令fuser找出正在訪問該文件系統的進程,加上-k選項就是找出來並殺死。通過以上兩種方法就可以對一些無法卸載的文件系統進行卸載了。
----------parted分區工具----------
parted是RHEL5下自帶的另外一種分區軟件,相對於fdisk,它的使用更加方便,同時它還提供了動態調整分區大小的功能。下面我來如何通過parted創建、刪除磁盤分區、查看分區表、更改分區大小、創建文件系統以及如何使用parted交互模式。
一、parted簡介:
parted是另一款在linux下常用的分區軟件,它支持的分區類型范圍非常廣,包括ext2、ext3、linux-swap、FAT、FAT32、reiserfs、HFS、jsf、ntfs、ufs和xfs等。它的命令格式如下:
parted [options] [device [command [options...]...]]
其中的命令選項說明如下:
-h :顯示幫助信息。
-i :交互模式。
-s :腳本模式。
-v :顯示parted的版本信息。
device :磁盤設備名稱,如/dev/sda.
command :parted指令,如果沒有設置指令,則parted將會進入交互模式。
二、parted交互模式:
與fdisk類似,parted可以使用命令“parted+設備名”進入交互模式。進入交互模式後,可以通過parted的各種指令來對磁盤分區進行管理,跟fdisk非常相似。我還以我電腦上的那塊硬盤為例,如圖是進入parted交互模式後又輸入“help“命令幫助的界面:
-_-!汗,這裡少了一張圖,可能沒復制上吧。。。你只要終端下輸入“parted /dev/某個設備”就可以進入parted交互模式。
parted的各種操作指令和詳細說明如下:
check NUMBER 檢查文件系統
cp [FROM-DEVICE]FROM-NUMBER TO-NUMBER 復制文件系統到另外一個分區
help[COMMAND] 顯示全部幫助信息或者指定命令的幫助信息
mklabel,mktable LABEL-TYPE 在分區表中創建一個新的磁盤標簽
mkfs NUMBER FS-TYPE 在分區上創建一個指定類型的文件系統
mkpart PART-TYPE[FS-TYPE]START END 創建一個分區
mkparts PART-TYPE[FS-TYPE]START END 創建一個分區,並在分區上創建指定的文件系統
move NUMBER START END 移動分區
name NUMBER NAME 以指定的名字命名分區號
print [free|NUMBER|all] 顯示分區表、指定的分區或者所有設備
quit 退出parted程序
rescue START END 修復丟失的分區
resize NUMBER START END 更改分區的大小
rm NUMBER 刪除分區
select DEVICE 選擇需要更改的設備
set NUMBER FLAG STATE 更改分區的標記
toggle [NUMBER[FLAG]] 設置或取消分區的標記
unit UNIT 設置默認單位
version 顯示parted的版本信息
三、分區管理
1.查看分區
在parted交互模式下輸入print指令來查看分區(相當於fdisk的p指令),如圖:
740)this.width=740;" border=0>
2.創建分區
在parted交互模式下輸入mkpart指令來創建磁盤分區,假如要創建一個開始位置為50G、結束位置為100G、文件系統類型為ext3的邏輯分區,可以使用如下指令來創建:
mkpart logical ext3 50G 100G 如圖:
740)this.width=740;" border=0>
當然也可以只輸入mkpart指令而不帶任何參數,parted會一步步提示用戶輸入相關信息並最終完成分區創建,如圖:
740)this.width=740;" border=0>
3.創建文件系統
創建分區後,可以使用mkfs指令在分區上創建文件系統(也就是格式化),parted目前只支持ext2文件系統,還不支持ext3,如圖:
740)this.width=740;" border=0>
4.更改分區大小
使用resize指令可以更改指定分區的大小。需要更改大小的分區上面必須是已經創建了文件系統,否則會提示:Error:Could not detect file system.下面我以dev/sdb6為例來縮小22G,因為我現在磁盤已經用完了,所以不能加了!就減少吧!如圖:
740)this.width=740;" border=0>
5.刪除分區
使用rm指令可以刪除指定的磁盤分區,在進行刪除操作前必須先把分區卸載,例如我要刪除/dev/sdb6就是在parted交互模式下輸入“rm“指令,然後輸入要刪除的分區號。如圖:
740)this.width=740;" border=0>
。。。。。。Shit!終於寫完了,不容易啊,累死我了。都快1點多了-_-!趕緊睡覺去了!朋友們有什麼不明白的給我留言,我閃。。。。。。
~~~~~~~~~~~~~~~~~
7.2.1 硬盤分區
過去,PC機硬盤一直使用32位PC-BIOS分區表和主引導記錄(MBR),因此分區大小最大不能超過2TB,並且每個硬盤最多只能包含4個主分區。使用擴展分區可以打破4個主分區的限制。為解決2TB的限制,目前正逐步采用GPT(GUID Partition Tables,GUID分區表)替代PC-BIOS分區表。
fdisk曾是操作磁盤分區的標准命令。不過由於fdisk無法操作GPT分區,所以已慢慢棄之不用了。取而代之的是parted命令,更加強大,支持也更積極。
注意 如果偏愛使用圖形界面工具劃分硬盤分區、調整分區大小及其他硬盤操作,不妨試試gparted或qtparted分區工具。這兩個工具的命令與軟件包同名。
1. 用fdisk修改磁盤分區
fdisk命令可以列出和修改磁盤分區。記住,修改或刪除分區可能會一並移除重要數據,寫入磁盤前對自己所做的修改一定要心知肚明。以root權限鍵入下面的命令可以列出硬盤分區的相關信息:
從命令輸出可知,這個80GB的硬盤共劃分為3個分區。第一個(/dev/sda1)為較小的/boot分區,配置成Linuxext3文件系統(Id 83)。注意,其中的星號(*)表明這個分區為可引導分區。第二個分區為根文件系統分區,同樣采用ext3文件系統。最後一個分區為交換分區(Linux swap)。
注意 在Fedora 7及後繼版本中,IDE和SCSI磁盤都采用/dev/sd?設備名,其中?代表一個字母(a、b或c等)。在RHEL5和較早版本的Fedora中,只有SCSI磁盤和U盤才使用/dev/sd?,IDE硬盤則使用/dev/hd?。
如有多個磁盤,fdisk -l會列出全部磁盤,除非明確指定要查看的磁盤:
使用fdisk命令時,直接指定某個磁盤且不帶其他選項,即可操作指定磁盤:
顯示提示符之後,即可使用上面列出的命令操作硬盤。具體來說,你可以使用p(顯示結果與fdisk -l相同)、n(創建新分區)、d(刪除現有分區)、l(列出已知文件系統類型)或t(更改分區文件系統類型)。下面舉例說明幾個fdisk命令:
除非明確指定,否則新分區默認使用Linux ext3文件系統(83)。L命令與l命令等效,都能顯示文件系統類型和十六進制代碼。如上所示,鍵入82將分區指定為swap。其他比較常見的Linux分區包括Linux擴展(85)、Linux LVM(8e)、Linux軟件raid(fd)和EFI/GTP(ee)。
Windows分區可以指定為HPFS/NTFS(7)、Windows 95 FAT32(b)、FAT16(6)或Windows 95 FAT32 LBA(c)。其他Unix類文件系統包括Minix(be或bf)、BSD/OS(e4)、FreeBSD(ee)、OpenBSD(ef)、NeXTSTEP(f0)、Darwin UFS(f1)和NetBSD(f4)。這些文件系統都有可能派上用場,比如需要恢復采用上述文件系統的備份存儲介質時。
至此,分區表實際上並未做任何改動。如果十分確定之前的設置正確無誤,只需鍵入w將上述改動寫入分區表。准備放棄所有改動(或寫入分區表之後退出)的話,可以直接鍵入q退出fdisk會話。
2. 用sfdisk復制分區表
使用sfdisk可以備份或復制磁盤分區表:
3. 用parted修改磁盤分區
和fdisk一樣,parted也能列出或修改磁盤分區。此外,parted還具備其他一些實用功能。下面的示例使用parted列出分區:
從命令輸出可以看出磁盤采用的傳統msdos磁盤標簽(分區表)還是gpt標簽。這裡是msdos分區表。
鍵入parted,後面跟上要操作的存儲設備名(如/dev/sda),便會以交互方式運行parted。只有一個存儲設備的話,可以直接鍵入parted:
交互方式使用parted時,可以鍵入整個命令,也可以只鍵入開頭部分字符,並用Tab鍵補全整個命令(和bash shell裡的做法相同)。這些命令一旦爛熟於心,只需鍵入一定數量的字母,能讓parted猜到輸入哪個命令即可。與CiscoiOS的用法一樣:p代表print,mkl代表mklabel,不一而足。
警告 與fdisk不同,使用parted對分區所做的改動會立即生效,不用另行寫入磁盤。總之,不要誤以為直接退出parted就能撤銷所有改動。
對於parted會話裡的各個命令,既可以選擇在輸入命令時一起鍵入所有參數(例如mkpart logical ext3 10.7GB 17.0GB),也可以只輸入命令本身(mkpart),parted會以交互方式指導隨後的操作:
盡量不要使用mkpartfs,該命令無法正確創建ext3分區。可以用mkpart替代,創建一個ext3分區(如上所示),退出parted後用mkfs.ext3命令格式化分區。為創建新分區騰空間時,往往需要調整常見Linux分區的大小,示例如下:
警告 如果用的不是LVM,上述命令會破壞整個文件系統。
使用ntfsresize命令可以調整NTFS分區大小。在Fedora中,該命令隸屬於ntfsprogs軟件包。這個軟件包還包含創建(mkfs.ntfs)、修復(ntfsfix)和獲取NTFS分區相關信息(ntfsinfo)等命令
http://xxxxxx/Linuxjc/1185375.html TechArticle