du/df命令與磁盤分區
[root@localhost ~]# df -h -h以容量單位形式查看容量大小 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 18G 1.4G 17G 8% / devtmpfs 487M 0 487M 0% /dev tmpfs 497M 0 497M 0% /dev/shm tmpfs 497M 6.6M 490M 2% /run tmpfs 497M 0 497M 0% /sys/fs/cgroup /dev/sda1 197M 108M 89M 55% /boot tmpfs 100M 0 100M 0% /run/user/0
df其他選項:
df直接執行時以kb容量單位顯示
-m 列出磁盤容量以MB容量單位顯示
-i 顯示inode節點使用情況,有inode節點耗盡,磁盤容量未使用完的情況,這種情況就需要清理磁盤中眾多的小文件,inode耗盡會導致磁盤有容量也會存不了數據
tmpfs的分區表示系統緩存分區,不能長久的保存數據,重啟後數據即消失
/dev/** 是硬盤的真實分區文件系統掛載點,可用的,用於系統運行和數據存儲
4.2 du命令
du 選項 目錄 du查看一個目錄的總大小,包括該目錄下所有的子文件和子目錄 [root@localhost ~]# du -sh /etc 30M /etc 如果du不加任何選項,則會列出該目錄下所有文件大小並以kb的容量單位顯示,如: [root@localhost ~]# du 12 /etc/latrace.d/headers/sysdeps/x86_64 12 /etc/latrace.d/headers/sysdeps 164 /etc/latrace.d/headers 168 /etc/latrace.d 30184 /etc du 只加-s是以kb顯示容量不加h不會顯示容量單位,只會顯示一個容量數字 [root@localhost ~]# du -s /etc/ 30184 /etc/ 單位是kb,30184是30MB大小
du 和 df 命令區別,查看了網上的說明個人理解如下:
du 是直接各各目錄的大小,而不是從硬盤獲得信息的
df 是通過硬盤信息進行計算的
所以有時候會遇到 du 的值與df 的值相差太遠,這是因為當一個應用程序正在寫入一個大的文件時,linux 操作系統允許rm 和mv ,應用程序會占有句柄,並根據句柄所指磁盤位置直接寫磁盤,而不會檢查該文件是否被刪除。
4.3 磁盤分區(上)
在虛擬機中添加了硬盤並重啟虛擬機,使用fdisk命令來查看新添加硬盤的信息
[root@localhost ~]# fdisk -l 磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x0002aadb 設備 Boot Start End Blocks Id System /dev/sda1 * 2048 411647 204800 83 Linux /dev/sda2 411648 4605951 2097152 82 Linux swap / Solaris /dev/sda3 4605952 41943039 18668544 83 Linux 磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節
[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0x1214d244 創建新的 DOS 磁盤標簽。
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x1214d244
設備 Boot Start End Blocks Id System
[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0x1214d244 創建新的 DOS 磁盤標簽。
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x1214d244
設備 Boot Start End Blocks Id System
[root@localhost ~]# fdisk /dev/sdb fdisk對/dev/sdb盤做分區
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0x1214d244 創建新的 DOS 磁盤標簽。
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0x1214d244
設備 Boot Start End Blocks Id System
命令(輸入 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 新建一個新分區
p primary創建一個主分區
e extended 創建擴展分區
d 刪除分配的分區
w 保存修改並退出
主分區最多分配四個,若想分配五個或五個以上分區,建議分配三個主分區一個邏輯分區,這樣才能分配更多分區來使用,2TB以下容量的分區使用MBR格式來格式化,2TB以上容量的分區需要使用GPT分區管理來格式化
我們來創建幾個新的分區
命令(輸入 m 獲取幫助):n #新建分區
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p #創建一個主分區1
分區號 (1-4,默認 1):1
起始 扇區 (2048-16777215,默認為 2048):+4G
Last 扇區, +扇區 or +size{K,M,G} (8388608-16777215,默認為 16777215):
將使用默認值 16777215
分區 1 已設置為 Linux 類型,大小設為 4 GiB
命令(輸入 m 獲取幫助):p # 查看分區
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0xcfca8dcc
設備 Boot Start End Blocks Id System
/dev/sdb1 8388608 16777215 4194304 83 Linux
命令(輸入 m 獲取幫助):n #新建分區
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p #創建一個主分區2
分區號 (2-4,默認 2):
起始 扇區 (2048-16777215,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-8388607,默認為 8388607):+2048M
分區 2 已設置為 Linux 類型,大小設為 2 GiB
命令(輸入 m 獲取幫助):p # 查看分區
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0xcfca8dcc
設備 Boot Start End Blocks Id System
/dev/sdb1 8388608 16777215 4194304 83 Linux #一個4GB分區
/dev/sdb2 2048 4196351 2097152 83 Linux #一個2GB分區
Partition table entries are not in disk order
命令(輸入 m 獲取幫助):n #創建新分區
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): e #創建一個擴展分區
分區號 (3,4,默認 3):
起始 扇區 (4196352-16777215,默認為 4196352): #默認全部回車分配所有容量
將使用默認值 4196352
Last 扇區, +扇區 or +size{K,M,G} (4196352-8388607,默認為 8388607):
將使用默認值 8388607
分區 3 已設置為 Extended 類型,大小設為 2 GiB
命令(輸入 m 獲取幫助):p #查看分配完的分區
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0xcfca8dcc
設備 Boot Start End Blocks Id System
/dev/sdb1 8388608 16777215 4194304 83 Linux
/dev/sdb2 2048 4196351 2097152 83 Linux
/dev/sdb3 4196352 8388607 2096128 5 Extended #一個擴展類型的分區
Partition table entries are not in disk order
命令(輸入 m 獲取幫助):w #w保存修改並退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
4.3 磁盤分區(下)
刪除分區表中的分配:
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0xcfca8dcc
設備 Boot Start End Blocks Id System
/dev/sdb1 8388608 16777215 4194304 83 Linux
/dev/sdb2 2048 4196351 2097152 83 Linux
/dev/sdb3 4196352 8388607 2096128 5 Extended
Partition table entries are not in disk order
命令(輸入 m 獲取幫助):d
分區號 (1-3,默認 3):1
分區 1 已刪除
命令(輸入 m 獲取幫助):d
分區號 (2,3,默認 3):2
分區 2 已刪除
命令(輸入 m 獲取幫助):d 只剩最後一個分區時會直接刪除,不詢問刪除哪個分區號了
已選擇分區 3
分區 3 已刪除
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區 分區表空
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0xcfca8dcc
設備 Boot Start End Blocks Id System
在邏輯分區中,刪除一個邏輯分區後,邏輯分區中的分區號是不會留空的,邏輯分區的分區號從5開始,1-4分區號只預留個主分區或擴展分區的,邏輯分區一定是從5開始,如:
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:8589 MB, 8589934592 字節,16777216 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標簽類型:dos
磁盤標識符:0xcfca8dcc
設備 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 5 Extended
/dev/sdb3 4196352 8390655 2097152 83 Linux
/dev/sdb5 4096 4196351 2096128 83 Linux 邏輯分區必定從5開始分配
4.5 磁盤格式化(上)
linux默認分區系統,centos6之前是使用的ext文件系統,centos7是xfs文件系統,使用mount查看/dev/的文件系統類型
文件系統格式化,文件系統格式可以是ext3、ext4或者xfs的類型,一個空的文件在文件系統中最低占用4kb的空間,這是系統中最小的存儲單位
```[root@localhost ~]# mke2fs -t ext4 /dev/sdb3 使用ext4文件系統格式化
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mkfs.ext4 /dev/sdb3
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
#使用xfs文件系統格式化
[root@localhost ~]# mkfs.xfs /dev/sdb3 出現這個信息表示此分區已經存在其他的文件系統,使用-f選項
mkfs.xfs: /dev/sdb3 appears to contain an existing filesystem (ext4).
mkfs.xfs: Use the -f option to force overwrite.
[root@localhost ~]# mkfs.xfs -f /dev/sdb3 使用-f選項,表示強制的重新格式化分區
meta-data=/dev/sdb3 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/sdb3 使用blkid查看分區的信息
/dev/sdb3: UUID="a83ce2e4-13a8-405e-b701-16da56a02b0d" TYPE="xfs"
# 4.6 磁盤格式化(下)
mke2fs 命令使用,支持ext3、ext4文件系統
mke2fs 選項 分區
-b 指定分區的最小的塊大小,如:mke2fs -b 8096 /dev/sdb3
-m 指定分區的預留空間,如:mke2fs -m 0.5 /dev/sdb3。支持浮點數的寫法
xfs文件系統使用mkfs.xfs格式化不支持-b\-m選項
[root@localhost ~]# mke2fs -b 4096 /dev/sdb3 指定最小塊大小
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在寫入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mke2fs -m 0.5 /dev/sdb3 指定預留空間百分比大小,這裏是0.5%
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
2621 blocks (0.50%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在寫入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
mke2fs -i 8192 /dev/sdb3 指定inode對應每個塊的數量,最低的是一個inode對應一個塊大小
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在寫入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
du/df命令與磁盤分區