三周第四次課(2月8日)
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日)