1. 程式人生 > >三周第四次課(2月8日)

三周第四次課(2月8日)

spa pat ebo 保存 partition type 工具 4.0 分區命令

4.1 df命令
4.2 du命令
4.3/4.4 磁盤分區


4.1 df命令


df查看文件系統的實際情況

#df

文件系統 1K-塊 已用 可用 已用% 掛載點

/dev/sda3 29150304 1026564 28123740 4% /

devtmpfs 494220 0 494220 0% /dev

tmpfs 504076 0 504076 0% /dev/shm

tmpfs 504076 6856 497220 2% /run

tmpfs 504076 0 504076 0% /sys/fs/cgroup

/dev/sda1 191140 98636 92504 52% /boot

tmpfs 100816 0 100816 0% /run/user/0


第一列,文件系統,磁盤分區的名字。

第二列,磁盤總大小,單位是k,kb

第三列,已用了多少容量,kb

第四列,還有多少容量可用,kb

*第五列,已用%,磁盤使用情況,常用,80%-90%就要警惕關註了。

第六列 掛載點,系統一個目錄(相當於windows系統的c:/windows)


#df -h

文件系統 容量 已用 可用 已用% 掛載點

/dev/sda3 28G 1003M 27G 4% /

devtmpfs 483M 0 483M 0% /dev

tmpfs 493M 0 493M 0% /dev/shm

tmpfs 493M 6.7M 486M 2% /run

tmpfs 493M 0 493M 0% /sys/fs/cgroup

/dev/sda1 187M 97M 91M 52% /boot

tmpfs 99M 0 99M 0% /run/user/0


加了-h會根據磁盤大小,適當顯示單位。

裝機之前,我們分了幾個區,分別是:/boot swap /


文件系統

tmpfs 臨時文件系統 ,在此文件系統的掛載點裏寫入、編輯了文件進去,電腦重啟之後,也會自動消失。

/dev/shm 內存,在內存裏寫東西,文件被寫入/dev/shm裏,這文件的處理速度會很快。大小,是物理內存的一半。

*一般tmpfs的文件不需要太關註,需要關註的是/dev/sda這種文件系統。


查看swap分區

#free

total used free shared buff/cache available

Mem: 1008152 114560 762896 6856 130696 738944

Swap: 2097148 0 2097148

這裏可以看到swap的分區容量是2G(當時裝centos7的時候是1G,swap的分區是內存的2倍,所以這裏設2G)


查看分區有多少個inode,以及inode的使用情況。

[root@centos7 ~]# df -i

文件系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點

/dev/sda3 14582272 26001 14556271 1% /

devtmpfs 123555 376 123179 1% /dev

tmpfs 126019 1 126018 1% /dev/shm

tmpfs 126019 447 125572 1% /run

tmpfs 126019 16 126003 1% /sys/fs/cgroup

/dev/sda1 97280 327 96953 1% /boot

tmpfs 126019 1 126018 1% /run/user/0


創建完分區之後,需要格式化分區。

inode有多少,是跟磁盤大小有關系。

只要inode的已用量打到100%,即使磁盤空間還有富裕的容量 也是寫不進東西的



#df -h 以適當單位顯示,常用

#df -m 以單位M顯示




4.2 du命令


du命令 查看文件、目錄大小

#du -sh /root 查看/root目錄的大小

# du -sh /root

76K/root


# du -sh /etc/passwd查看passwd文件大小

4.0K/etc/passwd


# ls -lh /etc/passwd

-rw-r--r--. 1 root root 969 2月 7 18:18 /etc/passwd


*為什麽同一個文件,du比ls的結果不同容量顯示。

磁盤分區格式化,涉及到“塊”,當文件<4kb的時候,這個文件也會顯示4k,因為磁盤會劃分成多個無數個小塊,每個小塊都是4kb,文件寫入小塊後,即使文件不夠4k 也算是4k大小,占用一個塊,一個塊只有一個文件,不能多個文件占用一個塊。所以 passwd的實際大小,以ls -lh的結果為準。


du一個目錄 會把目錄下面所有文件都列出來,不過不夠仔細,不建議使用此方法。

# du /root

12/root/.ssh

76/root


常用的搭配是,#du -s ,#du -sh



4.3 磁盤分區(上)


日常工作中,常接觸給一個系統增加一塊磁盤,再劃分分區,再掛載。


虛擬機添加硬盤

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片


#fdisk -l把目前系統裏面有的磁盤給列出來。

# fdisk -l


磁盤 /dev/sda:32.2 GB, 32212254720 字節,62914560 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x000ba6b3


設備 Boot Start End Blocks Id System

/dev/sda1 * 2048 391167 194560 83 Linux

/dev/sda2 391168 4585471 2097152 82 Linux swap / Solaris

/dev/sda3 4585472 62914559 29164544 83 Linux


發現沒有識別到新磁盤,重啟查看

#reboot 重啟


識別到新硬盤

# fdisk -l


磁盤 /dev/sda:32.2 GB, 32212254720 字節,62914560 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x000ba6b3


設備 Boot Start End Blocks Id System

/dev/sda1 * 2048 391167 194560 83 Linux

/dev/sda2 391168 4585471 2097152 82 Linux swap / Solaris

/dev/sda3 4585472 62914559 29164544 83 Linux


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節


分區命令:#fdisk 磁盤

#fidisk /dev/sdb

歡迎使用 fdisk (util-linux 2.23.2)。


更改將停留在內存中,直到您決定將更改寫入磁盤。

使用寫入命令前請三思。


Device does not contain a recognized partition table

使用磁盤標識符 0x3e1c1a2f 創建新的 DOS 磁盤標簽。


命令(輸入 m 獲取幫助):m

(常用:n=new p=print w=write+exit d=刪除分區)

命令操作

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)


p查看分區列表,下列結果為沒有分區內容

命令(輸入 m 獲取幫助): p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x3e1c1a2f


設備 Boot Start End Blocks Id System



輸入n,建立分區,p為主分區,e為擴展分區。我們用的fdisk工具分區,用到了一個MBR分區格式,MBR最高支持2T,>2T不能使用fdisk去分區,這個分區最多只有4個主分區(primary),如果想劃分多個分區怎麽辦。先劃分3個主分區,剩下一個劃分擴展分區(extended),然後再在擴展分區裏繼續劃分邏輯分區。


命令(輸入 m 獲取幫助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p):


分區格式:主+擴展小於等於4。擴展分區可以為0。



主分區劃分2G

命令(輸入 m 獲取幫助):n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p): p

分區號 (1-4,默認 1):1

起始 扇區 (2048-20971519,默認為 2048):2048

Last 扇區, +扇區 or +size{K,M,G} (2048-20971519,默認為 20971519):+2G

分區 1 已設置為 Linux 類型,大小設為 2 GiB


P檢查一下分區表,多了個分區。


命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x10adc22a


設備 Boot Start End Blocks Id System

/dev/sdb1 2048 4196351 2097152 83 Linux


建立了3個主分區,此處省去步驟,p查看分區表


命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x10adc22a


設備 Boot Start End Blocks Id System

/dev/sdb1 2048 4196351 2097152 83 Linux

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux


建立新分區,只有1個空閑分區,要麽分e要麽分p,如果分p的話,下一次會提示沒有多余的分區可以分。

命令(輸入 m 獲取幫助):n

命令(輸入 m 獲取幫助):n

Partition type:

p primary (3 primary, 0 extended, 1 free)

e extended

Select (default e): p

已選擇分區 4

起始 扇區 (10487808-20971519,默認為 10487808):

將使用默認值 10487808

Last 扇區, +扇區 or +size{K,M,G} (10487808-20971519,默認為 20971519):+1G

分區 4 已設置為 Linux 類型,大小設為 1 GiB


命令(輸入 m 獲取幫助):n

If you want to create more than four partitions, you must replace a

primary partition with an extended partition first.


刪除一個p分區,建立一個e分區,4號分區從p改成e

命令(輸入 m 獲取幫助):n

Partition type:

p primary (3 primary, 0 extended, 1 free)

e extended

Select (default e): e

已選擇分區 4

起始 扇區 (10487808-20971519,默認為 10487808):

將使用默認值 10487808

Last 扇區, +扇區 or +size{K,M,G} (10487808-20971519,默認為 20971519):+4G

分區 4 已設置為 Extended 類型,大小設為 4 GiB


命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x10adc22a


設備 Boot Start End Blocks Id System

/dev/sdb1 2048 4196351 2097152 83 Linux

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux

/dev/sdb4 10487808 18876415 4194304 5 Extended


blocks是容量

id號,分區類型:83是linux,5擴展分區。


再次創建新分區,會提示直接進入劃分邏輯分區,


命令(輸入 m 獲取幫助):n

All primary partitions are in use

添加邏輯分區 5

起始 扇區 (10489856-18876415,默認為 10489856):

將使用默認值 10489856

Last 扇區, +扇區 or +size{K,M,G} (10489856-18876415,默認為 18876415):+1G

分區 5 已設置為 Linux 類型,大小設為 1 GiB


命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區

Units = 扇區 of 1 * 512 = 512 bytes

扇區大小(邏輯/物理):512 字節 / 512 字節

I/O 大小(最小/最佳):512 字節 / 512 字節

磁盤標簽類型:dos

磁盤標識符:0x10adc22a


設備 Boot Start End Blocks Id System

/dev/sdb1 2048 4196351 2097152 83 Linux

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux

/dev/sdb4 10487808 18876415 4194304 5 Extended

/dev/sdb5 10489856 12587007 1048576 83 Linux


再次建立邏輯分區


設備 Boot Start End Blocks Id System

/dev/sdb1 2048 4196351 2097152 83 Linux

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux

/dev/sdb4 10487808 18876415 4194304 5 Extended

/dev/sdb5 10489856 12587007 1048576 83 Linux

/dev/sdb6 12589056 14686207 1048576 83 Linux



4.4 磁盤分區(下)


/dev/sdb1 的1 代表分區號

刪除1號分區

命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區


設備 Boot Start End Blocks Id System

/dev/sdb1 2048 4196351 2097152 83 Linux

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux

/dev/sdb4 10487808 18876415 4194304 5 Extended

/dev/sdb5 10489856 12587007 1048576 83 Linux

/dev/sdb6 12589056 14686207 1048576 83 Linux


命令(輸入 m 獲取幫助):d

分區號 (1-6,默認 6):1

分區 1 已刪除


命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區



設備 Boot Start End Blocks Id System

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux

/dev/sdb4 10487808 18876415 4194304 5 Extended

/dev/sdb5 10489856 12587007 1048576 83 Linux

/dev/sdb6 12589056 14686207 1048576 83 Linux


主分區sdb1被刪除後,發現 分區表是從主分區sdb2開始


下面 再刪除一個5號分區,查看變化,發現5號被刪除了 ,不過少了6號,其實分區號是從後面遞減上來了,也就是說,刪除之前的5號跟刪除後的5號是不一樣,可以從start end看出。


命令(輸入 m 獲取幫助):d

分區號 (2-6,默認 6):5

分區 5 已刪除


命令(輸入 m 獲取幫助):p


磁盤 /dev/sdb:10.7 GB, 10737418240 字節,20971520 個扇區



設備 Boot Start End Blocks Id System

/dev/sdb2 4196352 8390655 2097152 83 Linux

/dev/sdb3 8390656 10487807 1048576 83 Linux

/dev/sdb4 10487808 18876415 4194304 5 Extended

/dev/sdb5 12589056 14686207 1048576 83 Linux



取消剛才的操作,原意就是不保存,q退出。


分一個擴展分區,3G。此處發現,多了一個邏輯分區選項,其實是首先建立了擴展分區,所以有此項。



設備 Boot Start End Blocks Id System

/dev/sdb1 2048 6293503 3145728 5 Extended


命令(輸入 m 獲取幫助):n

Partition type:

p primary (0 primary, 1 extended, 3 free)

l logical (numbered from 5)


n主分區 3號 1G。

設備 Boot Start End Blocks Id System

/dev/sdb1 2048 6293503 3145728 5 Extended

/dev/sdb3 6293504 8390655 1048576 83 Linux


n邏輯分區5號 1G

設備 Boot Start End Blocks Id System

/dev/sdb1 2048 6293503 3145728 5 Extended

/dev/sdb3 6293504 8390655 1048576 83 Linux

/dev/sdb5 4096 2101247 1048576 83 Linux


邏輯分區 6 7 8 +100M

設備 Boot Start End Blocks Id System

/dev/sdb1 2048 6293503 3145728 5 Extended

/dev/sdb3 6293504 8390655 1048576 83 Linux

/dev/sdb5 4096 2101247 1048576 83 Linux


把6號刪掉,少了8。(邏輯分區是連續順序排序,但是主分區跟擴展分區可以不連續排序)

設備 Boot Start End Blocks Id System

/dev/sdb1 2048 6293503 3145728 5 Extended

/dev/sdb3 6293504 8390655 1048576 83 Linux

/dev/sdb5 4096 2101247 1048576 83 Linux

/dev/sdb6 2310144 2514943 102400 83 Linux

/dev/sdb7 2516992 2721791 102400 83 Linux



總結:

主分區+擴展分區小於等於4

邏輯分區,從第5個開始,而且是連續排序


三周第四次課(2月8日)