4.1:df指令:
總稱:report file system disk space usage
1、df:用來檢視系統磁盤容量(總容量 已使用及剩餘容量、)使用情況:預設是以KB為機關顯示:
文法:df [ 選項 ] 參數
選項如下:
-h:使用合适的機關顯示:
-i:檢視inode的使用情況:
-k:以KB為機關顯示:
-m:以MB為機關顯示:
-a:顯示系統中在用的所有分區(不常用)
1
2
3
4
5
6
7
8
<code>[root@localhost ~]</code><code># df #預設df時,以KB為機關顯示:</code>
<code>檔案系統 1K-塊 已用 可用 已用% 挂載點</code>
<code>/dev/sda3</code> <code>17814528 1123440 16691088 7% /</code>
<code>devtmpfs 489980 0 489980 0% </code><code>/dev</code>
<code>tmpfs 499848 0 499848 0% </code><code>/dev/shm</code>
<code>tmpfs 499848 6884 492964 2% </code><code>/run</code>
<code>tmpfs 499848 0 499848 0% </code><code>/sys/fs/cgroup</code>
<code>/dev/sda1</code> <code>1038336 121732 916604 12% </code><code>/boot</code>
注:重點關注已用%,當超過80%-90%時要注意了:
上述示例簡單說明:
第一列:該檔案分區名稱:
第二列:該分區的總容量大小:
第三列:該分區的已使用容量:
第四列:該分區的剩餘容量:
2、常用選項-h:以合适(更人性化的機關顯示)
<code>[root@localhost ~]</code><code># df -h #顯示更直覺,更人性化</code>
<code>檔案系統 容量 已用 可用 已用% 挂載點</code>
<code>/dev/sda3</code> <code>17G 1.1G 16G 7% /</code>
<code>devtmpfs 479M 0 479M 0% </code><code>/dev</code>
<code>tmpfs 489M 0 489M 0% </code><code>/dev/shm</code>
<code>tmpfs 489M 6.8M 482M 2% </code><code>/run</code>
<code>tmpfs 489M 0 489M 0% </code><code>/sys/fs/cgroup</code>
<code>/dev/sda1</code> <code>1014M 119M 896M 12% </code><code>/boot</code>
3、常用選項還有-i:檢視目前系統中inode的使用情況:
9
10
<code>[root@localhost ~]</code><code># df -ih #則是以更人性化的機關來顯示inode的使用情況:</code>
<code>檔案系統 Inode 已用(I) 可用(I) 已用(I)% 挂載點</code>
<code>/dev/sda3</code> <code>8.5M 32K 8.5M 1% /</code>
<code>devtmpfs 120K 381 120K 1% </code><code>/dev</code>
<code>tmpfs 123K 1 123K 1% </code><code>/dev/shm</code>
<code>tmpfs 123K 474 122K 1% </code><code>/run</code>
<code>tmpfs 123K 16 123K 1% </code><code>/sys/fs/cgroup</code>
<code>/dev/sda1</code> <code>512K 327 512K 1% </code><code>/boot</code>
<code>tmpfs 123K 1 123K 1% </code><code>/run/user/0</code>
<code>tmpfs 123K 1 123K 1% </code><code>/run/user/1000</code>
4.2:du指令: 預設以4KB的大小機關
1、du:用來檢視某個檔案或目錄所占用空間的大小,預設顯示是KB:
文法:du [ 選項 ] 參數
-a:顯示目前目錄下所有子檔案和目錄的大小:
-b:以byte為機關顯示:
-h:以合适的機關顯示:用法和df指令下h相同:
-c:顯示各個檔案/目錄的大小,并列出總和:
-s:隻顯示總和,一般結合du -sh 使用:
<code>[root@localhost ~]</code><code># du #預設以KB為機關顯示:</code>
<code>16 ./.</code><code>ssh</code>
<code>0 .</code><code>/yuanhh/2</code>
<code>0 .</code><code>/yuanhh/4</code>
<code>0 .</code><code>/yuanhh</code>
<code>72 .</code>
2、用法:sh:用于檢視一個指定檔案或目錄的大小:
<code>[root@localhost ~]</code><code># du -sh /tmp/ #檢視/tmp/目錄的大小,并隻列出總和:</code>
<code>8.0K </code><code>/tmp/</code>
3、用法:分别用du和ls來檢視某個檔案,發現它倆的數值不一樣:
<code>[root@localhost ~]</code><code># du -sh /etc/passwd</code>
<code>4.0K </code><code>/etc/passwd</code>
<code>[root@localhost ~]</code><code># ls -lh /etc/passwd</code>
<code>-rw-r--r-- 1 root root 964 11月 2 01:27 </code><code>/etc/passwd</code>
注: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列印目前磁盤的使用情況:
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<code>[root@localhost ~]</code><code># fdisk /dev/sdb #使用fdisk指令來格式化分區:</code>
<code>歡迎使用 </code><code>fdisk</code> <code>(util-linux 2.23.2)。</code>
<code>Device does not contain a recognized partition table</code>
<code>使用磁盤辨別符 0x46fecc49 建立新的 DOS 磁盤标簽。</code>
<code>指令(輸入 m 擷取幫助):m </code><code>#分區的指令介紹:</code>
<code>指令操作</code>
<code> </code><code>a toggle a bootable flag</code>
<code> </code><code>b edit bsd disklabel </code><code>#磁盤标簽編輯</code>
<code> </code><code>c toggle the dos compatibility flag</code>
<code> </code><code>d delete a partition </code><code>#删除一個分區,較常用</code>
<code> </code><code>g create a new empty GPT partition table</code>
<code> </code><code>G create an IRIX (SGI) partition table</code>
<code> </code><code>l list known partition types</code>
<code> </code><code>m print this menu</code>
<code> </code><code>n add a new partition </code><code>#建立磁盤分區,較常用</code>
<code> </code><code>o create a new empty DOS partition table</code>
<code> </code><code>p print the partition table </code><code>#列印目前分區,較常用</code>
<code> </code><code>q quit without saving changes </code><code>#不儲存并退出,較常用</code>
<code> </code><code>s create a new empty Sun disklabel</code>
<code> </code><code>t change a partition's system </code><code>id</code>
<code> </code><code>u change display</code><code>/entry</code> <code>units</code>
<code> </code><code>v</code> <code>verify the partition table</code>
<code> </code><code>w write table to disk and </code><code>exit</code> <code>#儲存後并退出</code>
<code> </code><code>x extra functionality (experts only)</code>
<code>指令(輸入 m 擷取幫助):n </code><code>#此時輸入n建立分區</code>
<code>Partition </code><code>type</code><code>: 主+邏輯分區=4</code>
<code> </code><code>p primary (0 primary, 0 extended, 4 </code><code>free</code><code>) </code><code>#主分區</code>
<code> </code><code>e extended </code><code>#擴充分區</code>
<code>Select (default p): p </code><code>#輸入建立主分區</code>
<code>分區号 (1-4,預設 1):1 </code><code>#預設是分區号1.</code>
<code>起始 扇區 (2048-10485759,預設為 2048):</code>
<code>将使用預設值 2048</code>
<code>Last 扇區, +扇區 or +size{K,M,G} (2048-10485759,預設為 10485759):+1.5G </code><code>#可預設也可以手動設定。</code>
<code>分區 1 已設定為 Linux 類型,大小設為 1 GiB</code>
此時我們按照如上步驟分别建立分區2 分區3 分區4:
建立完成後,我們用p指令來檢視下:
指令(輸入 m 擷取幫助):p #使用p指令來檢視
磁盤 /dev/sdb:5368 MB, 5368709120 位元組,10485760 個扇區
磁盤辨別符: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.
如上:當我們建立四個分區後,再建立時,系提示如果要建立分區,你必須删除一個分區才可以:
<b>3、那我們如何删除一個分區呢:如下:</b>
指令(輸入 m 擷取幫助):d #輸入d指令則删除。
分區号 (1-4,預設 4):3 #删除第三個分區:
分區 3 已删除
指令(輸入 m 擷取幫助):p
裝置 Boot Start End Blocks Id System
/dev/sdb4 6293504 8390655 1048576 83 Linux
注意:如上列發現,雖然我們删除的分區3,但是分區4不會向上頂替。
4、當需要建立多個磁盤時,則需要建立先建立擴充分區,再建立邏輯分區:如下:
注意:邏輯分區可以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
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
添加邏輯分區 7
No free sectors available
如上例:當磁盤沒有容量時,會提示沒有空間:
5、此時再使用p檢視分區表資訊:如下:
指令(輸入 m 擷取幫助):p #使用指令來檢視:
/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 已删除
/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選項可以删除你想要删除的那個分區,需要注意的是,當擴充分區中有子分區(邏輯分區)的時候,删除擴充分區會連同子分區一起删除,是以當我們在删除分區的時候,一定要謹慎,謹慎,謹慎!!!
3、擴充分區parted
當在指令行輸入parted後,進入parted指令的互動模式。輸入help會顯示幫助資訊,下面講一下常用功能:
check:簡單檢查檔案系統。建議使用其他指令檢查檔案系統,如fsck
help:顯示幫助資訊
mklabel:建立分區表,即使用msdos(MBR)還是使用gpt,或者是其他方式分區表
mkfs:建立檔案系統。該指令不支援ext3格式,是以建議不使用,最好使用parted分區完成之後,退出parted互動模式,用其他指令濟甯分區,eg:mkfs.ext3
mkpart:建立分區
文法:
mkpart PART-TYPE [FS-TYPE] START END
PART-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等。
本文轉自 芬野 51CTO部落格,原文連結:http://blog.51cto.com/yuanhaohao/1978599,如需轉載請自行聯系原作者