day14:磁盤管理df/du/fdisk/parted命令
總稱:report file system disk space usage
1、df:用來查看系統磁盤容量(總容量 已使用及剩余容量、)使用情況:默認是以KB為單位顯示:
語法:df [ 選項 ] 參數
選項如下:
-h:使用合適的單位顯示:
-i:查看inode的使用情況:
-k:以KB為單位顯示:
-m:以MB為單位顯示:
-a:顯示系統中在用的所有分區(不常用)
[root@localhost ~]# df #默認df時,以KB為單位顯示: 文件系統 1K-塊 已用 可用 已用% 掛載點 /dev/sda3 17814528 1123440 16691088 7% / devtmpfs 489980 0 489980 0% /dev tmpfs 499848 0 499848 0% /dev/shm tmpfs 499848 6884 492964 2% /run tmpfs 499848 0 499848 0% /sys/fs/cgroup /dev/sda1 1038336 121732 916604 12% /boot
註:重點關註已用%,當超過80%-90%時要註意了:
上述示例簡單說明:
第一列:該文件分區名稱:
第二列:該分區的總容量大小:
第三列:該分區的已使用容量:
第四列:該分區的剩余容量:
2、常用選項-h:以合適(更人性化的單位顯示)
[root@localhost ~]# df -h #顯示更直觀,更人性化 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 17G 1.1G 16G 7% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.8M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 1014M 119M 896M 12% /boot
3、常用選項還有-i:查看當前系統中inode的使用情況:
[root@localhost ~]# df -ih #則是以更人性化的單位來顯示inode的使用情況: 文件系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點 /dev/sda3 8.5M 32K 8.5M 1% / devtmpfs 120K 381 120K 1% /dev tmpfs 123K 1 123K 1% /dev/shm tmpfs 123K 474 122K 1% /run tmpfs 123K 16 123K 1% /sys/fs/cgroup /dev/sda1 512K 327 512K 1% /boot tmpfs 123K 1 123K 1% /run/user/0 tmpfs 123K 1 123K 1% /run/user/1000
4.2:du命令: 默認以4KB的大小單位
1、du:用來查看某個文件或目錄所占用空間的大小,默認顯示是KB:
語法:du [ 選項 ] 參數
選項如下:
-a:顯示當前目錄下所有子文件和目錄的大小:
-b:以byte為單位顯示:
-k:以KB為單位顯示:
-m:以MB為單位顯示:
-h:以合適的單位顯示:用法和df命令下h相同:
-c:顯示各個文件/目錄的大小,並列出總和:
-s:只顯示總和,一般結合du -sh 使用:
[root@localhost ~]# du #默認以KB為單位顯示: 16 ./.ssh 0 ./yuanhh/2 0 ./yuanhh/4 0 ./yuanhh 72 .
2、用法:sh:用於查看一個指定文件或目錄的大小:
[root@localhost ~]# du -sh /tmp/ #查看/tmp/目錄的大小,並只列出總和: 8.0K /tmp/
3、用法:分別用du和ls來查看某個文件,發現它倆的數值不一樣:
[root@localhost ~]# du -sh /etc/passwd 4.0K /etc/passwd [root@localhost ~]# ls -lh /etc/passwd -rw-r--r-- 1 root root 964 11月 2 01:27 /etc/passwd
註:du命令顯示的4KB(默認情況下不到4KB,也會以4KB顯示,以為一個塊是4KB).
ls命令是顯示的真實大小964byte。
4.3:磁盤分區fdisk/parted
1、fdisk:用來給系統磁盤來分區(小於2TB):
ptarted:給大於2TB的硬盤來分區:
語法:fdisk -l 分區名稱
選項:fdisk -l後不加分區名稱,則列出系統的所有分區表:
fdisk -l加上分區名稱,則只列出此設備分區的分區表:
[root@localhost ~]# fdisk -l /dev/sda #可以查看sda分區表的一些詳細信息:
磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x000cb780
設備 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 6293503 2097152 82 Linux swap / Solaris
/dev/sda3 6293504 41943039 17824768 83 Linux
2、使用fdisk來對磁盤進行分區,首先在虛擬機裏添加一塊虛擬磁盤,如下:
對添加的磁盤/dev/sdb進行分區,並用p打印當前磁盤的使用情況:
[root@localhost ~]# fdisk /dev/sdb #使用fdisk命令來格式化分區: 歡迎使用 fdisk (util-linux 2.23.2)。 Device does not contain a recognized partition table 使用磁盤標識符 0x46fecc49 創建新的 DOS 磁盤標簽。 命令(輸入 m 獲取幫助):m #分區的命令介紹: 命令操作 a toggle a bootable flag b edit bsd disklabel #磁盤標簽編輯 c toggle the dos compatibility flag d delete a partition #刪除一個分區,較常用 g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition #創建磁盤分區,較常用 o create a new empty DOS partition table p print the partition table #打印當前分區,較常用 q quit without saving changes #不保存並退出,較常用 s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit #保存後並退出 x extra functionality (experts only) 命令(輸入 m 獲取幫助):n #此時輸入n新建分區 Partition type: 主+邏輯分區=4 p primary (0 primary, 0 extended, 4 free) #主分區 e extended #擴展分區 Select (default p): p #輸入創建主分區 分區號 (1-4,默認 1):1 #默認是分區號1. 起始 扇區 (2048-10485759,默認為 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-10485759,默認為 10485759):+1.5G #可默認也可以手動設置。 分區 1 已設置為 Linux 類型,大小設為 1 GiB
此時我們按照如上步驟分別創建分區2 分區3 分區4:
創建完成後,我們用p命令來查看下:
命令(輸入 m 獲取幫助):p #使用p命令來查看
磁盤 /dev/sdb:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x41fc3f2d
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 6293503 1048576 83 Linux
/dev/sdb4 6293504 10485759 2096128 83 Linux
命令(輸入 m 獲取幫助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
如上:當我們創建四個分區後,再創建時,系提示如果要創建分區,你必須刪除一個分區才可以:
3、那我們如何刪除一個分區呢:如下:
命令(輸入 m 獲取幫助):d #輸入d命令則刪除。
分區號 (1-4,默認 4):3 #刪除第三個分區:
分區 3 已刪除
命令(輸入 m 獲取幫助):p
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb4 6293504 8390655 1048576 83 Linux
註意:如上列發現,雖然我們刪除的分區3,但是分區4不會向上頂替。
4、當需要創建多個磁盤時,則需要創建先創建擴展分區,再創建邏輯分區:如下:
註意:邏輯分區可以N個,沒有上限,主要依據容量大小:
命令(輸入 m 獲取幫助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e #選擇擴展分區:
已選擇分區 3
起始 扇區 (4196352-10485759,默認為 4196352):
Last 扇區, +扇區 or +size{K,M,G} (4196352-6293503,默認為 6293503):+500M
分區 3 已設置為 Extended 類型,大小設為 500 MiB
命令(輸入 m 獲取幫助):n
All primary partitions are in use
添加邏輯分區 5 #添加創建邏輯分區5
Last 扇區, +扇區 or +size{K,M,G} (4198400-5220351,默認為 5220351):+150M
分區 5 已設置為 Linux 類型,大小設為 150 MiB
命令(輸入 m 獲取幫助):N
添加邏輯分區 5 #添加創建邏輯分區6
起始 扇區 (4507648-5220351,默認為 4507648):
Last 扇區, +扇區 or +size{K,M,G} (4507648-5220351,默認為 5220351):
分區 6 已設置為 Linux 類型,大小設為 348 MiB
命令(輸入 m 獲取幫助):N
All primary partitions are in use
添加邏輯分區 7
No free sectors available
如上例:當磁盤沒有容量時,會提示沒有空間:
5、此時再使用p查看分區表信息:如下:
命令(輸入 m 獲取幫助):p #使用命令來查看:
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 5220351 512000 5 Extended
/dev/sdb5 4198400 4812799 307200 83 Linux
/dev/sdb6 4814848 5220351 202752 83 Linux
會發現,創建的邏輯分區是從/dev/sdb5開始的,並不會向向上移動,也就是說,邏輯分區一定是從sdb5開始的。
5、如果刪除一個邏輯分區的話,下面的分區會不會向上移動的邏輯分區號呢。如下:
我們刪除/dev/sdb5:
命令(輸入 m 獲取幫助):d #刪除一個分區:
分區號 (1-6,默認 6):5
分區 5 已刪除
命令(輸入 m 獲取幫助):p
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 4196351 1048576 83 Linux
/dev/sdb3 4196352 5220351 512000 5 Extended
/dev/sdb4 6293504 8390655 1048576 83 Linux
/dev/sdb5 4814848 5220351 202752 83 Linux
總結:如果我們刪除了其中一個邏輯分區的話,它的下一個邏輯分區號會頂替它的邏輯分區號,往前面排序:
註意:退出保存的話一個要按W才可以:
11:高級分區工具:parted
parted 用法
parted /dev/sdb mklable #創建分區表:
parted /dev/sdb mklable ext3 0 500000 #創建500G的分區sdb1:
mkfs.ext3 /dev/sdb1 #將分區/dev/sdb1格式化成ext3格式:
創建swap交換分區:
parted /dev/sdb mkpart swap 500000 504000 #創建4G的交換分區:
mkswap /dev/sdb2 #將deb/sdb2創建為交換分區:
swapon /dev/sdb2 #激活/dev/sdb2這個分區:
如果想讓系統掛載這個分區,需手工編輯/etc/fstab文件:
/dev/sdb1 / ext3 defaults 0 0
/dev/sdb2 swap ext3 defaults 0 0
註意:如果有分區被誤刪除,可以立即恢復:如下:
parted /dev/sdb rm 3 #刪除/dev/sdb3
parted /dev/sdb rescue 504000 514000 #然後依照顯示,輸入yes即可:
附記:以下內容來自於百度:
1、磁盤分區註意事項總結:
當我們在創建磁盤分區的時候,有三種分區可選,擴展分區(e),主分區(p),邏輯分區(l)。
我們最多只能創建4個分區(4個中不包括邏輯分區),如果想創建多個分區,可以是3個主分區和1個擴展分區組合。然後在擴展分區中,創建邏輯分區(可以創建無限個邏輯分區)。
需要註意的是,擴展分區相當於一個空殼子,是不可以格式化的(不可以使用),只有它的子分區才可以格式化。在fdisk中劃分分區的時候,使用d選項可以刪除你想要刪除的那個分區,需要註意的是,當擴展分區中有子分區(邏輯分區)的時候,刪除擴展分區會連同子分區一起刪除,所以當我們在刪除分區的時候,一定要謹慎,謹慎,謹慎!!!
2、擴展學習 parted分區gpt格式 http://www.apelearn.com/bbs/thread-7243-1-1.html
3、擴展分區parted
parted工具常用功能:
我們在課上講的fdisk分區工具,它的分區格式為MBR,特點是,最多分4個主分區,磁盤大小不能超過2T。而GPT分區格式,突破了這些限制,它沒有主分區、擴展分區、邏輯分區之分,在一塊磁盤上最多可以分128個分區出來,支持大於2T的分區,最大卷可達18EB。 相信,隨著存儲級別的升級,將來的分區格式逐漸會淘汰MBR,而GPT成為主流.
當在命令行輸入parted後,進入parted命令的交互模式。輸入help會顯示幫助信息,下面講一下常用功能:
check:簡單檢查文件系統。建議使用其他命令檢查文件系統,如fsck
help:顯示幫助信息
mklabel:創建分區表,即使用msdos(MBR)還是使用gpt,或者是其他方式分區表
mkfs:創建文件系統。該命令不支持ext3格式,因此建議不使用,最好使用parted分區完成之後,退出parted交互模式,用其他命令濟寧分區,eg:mkfs.ext3
mkpart:創建分區
語法:
mkpart PART-TYPE [FS-TYPE] START ENDPART-TYPE類型主要有primary(主分區), extended(擴展分區), logical(邏輯區). 擴展分區和邏輯分區只對msdos。
fs-type 文件系統類型,主要有fs32,NTFS,ext2,ext3等。
start end 分區的起始和結束位置。
mkpartfs: 建立分區及其文件系統。目前還不支持ext3文件系統,因此不建議使用該功能。最後是分好區後,退出parted,然後用其他命令建立文件系統。
print: 輸出分區信息。該功能有3個選項:
free: 顯示該盤的所有信息,並顯示磁盤剩余空間
number: 顯示指定的分區的信息
all: 顯示所有磁盤信息
resize: 調整指定的分區的大小。目前對ext3格式支持不是很好,所以不建議使用該功能。
rescue: 恢復不小心刪除的分區。如果不小心用parted的rm命令刪除了一個分區,那麽可以通過rescue功能進行恢復。恢復時需要給出分區的起始和結束的位置。然後parted就會在給定的範圍內去尋找,並提示恢復分區。
rm:刪除分區。命令格式 rm number 。如:rm 3 就是將編號為3的分區刪除。
select:選擇設備。當輸入parted命令後直接回車進入交互模式是,如果有多塊硬盤,需要用select 選擇要操作的硬盤。如:select /dev/sdb。
set:設置標記。更改指定分區編號的標誌。標誌通常有如下幾種:boot hidden raid lvm 等。 boot 為引導分區,hidden 為隱藏分區,raid 軟raid,lvm 為邏輯分區。eg:set 3 boot on 設置3分區為啟動分區。
註: 以上內容為parted常用的功能,由於該工具目前對ext3支持得不是很好,因此有些功能無法應用,比如move(移動分區)和resize等。
day14:磁盤管理df/du/fdisk/parted命令