用於查看已掛載磁盤的總容量、使用容量、屬於容量;不加參數以kb爲單位顯示;
實驗1:node
[root@jinkai01 ~]# df
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16558080 1337496 15220584 9% /
devtmpfs 485820 0 485820 0% /dev
tmpfs 497948 0 497948 0% /dev/shm
tmpfs 497948 7828 490120 2% /run
tmpfs 497948 0 497948 0% /sys/fs/cgroup
/dev/sda1 201380 112764 88616 56% /boot
tmpfs 99592 0 99592 0% /run/user/0linux
參數:
-i:表示查看inodes的使用狀況,若是使用已用100%,即便磁盤空間富餘,也會提示磁盤空間已滿;
-h:表示使用合適的單位顯示,例如GB/TB/MB;
-k、-m:分別表示已KB和MB爲單位顯示;
實驗1:查看inodes使用狀況,將tmpfs過濾掉;
grep -v 的做用是過濾掉包含tmpfs字符串的一行;vim
[root@jinkai01 ~]# df -i | grep -v tmpfs
文件系統 Inode 已用(I) 可用(I) 已用(I)% 掛載點
/dev/mapper/centos-root 8284160 31618 8252542 1% /
/dev/sda1 102400 326 102074 1% /bootcentos
實驗2:使用合適單位顯示磁盤空間 df -h安全
[root@jinkai01 ~]# df -h | grep -v tmpfs
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16G 1.3G 15G 9% /
/dev/sda1 197M 111M 87M 56% /bootapp
實驗3:用MB和KB來顯示磁盤空間;df -m | df -kasync
[root@jinkai01 ~]# df -m | grep -v tmpfs
文件系統 1M-塊 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16170 1307 14864 9% /
/dev/sda1 197 111 87 56% /boot
[root@jinkai01 ~]# df -k | grep -v tmpfs
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16558080 1337452 15220628 9% /
/dev/sda1 201380 112764 88616 56% /bootide
用來查看某個目錄或文件所佔空間的大小;
格式:
du [參數][文件或目錄名]
-a:表示所有文件和目錄的大小都列出來,默認單位爲kb;
-b:表示列出值爲B爲單位輸出;
-m:表示以M爲單位輸出;
-h:表示自動調節單位顯示,在數值後面加上單位表示;(推薦使用)
-s:表示只列出總和;例如du -s /root/ 只會列出root目錄的做用空間,不會顯示目錄下的子目錄文件;(推薦與-h一塊兒使用)工具
實驗1:查看/root/目錄佔用空間大小,自動調節實用單位顯示 du -sh;ui
[root@jinkai01 ~]# du -sh /root/
72K /root/
科普知識:主分區與擴展分區以及邏輯分區
假設Windows系統用一個硬盤劃分CDEF四個區
首先:劃分一個主分區C盤
C盤爲系統盤,那麼咱們就把它設置爲主分區開機引導系統啓動;
剩下的劃分爲一個擴展分區或多個擴展分區;
而後將擴展分區轉化爲邏輯分區纔是DEF盤;
DEF盤首先是邏輯分區才能使用,而邏輯分區是擴展分區轉化來的;首先咱們先增長一塊硬盤,20G左右;
虛擬機用戶步驟以下:
一、右鍵當前虛擬機選項卡,選「設置」;
二、點擊對話框中的「添加」按鈕,在彈出來的框框中選擇「硬盤」,下一步;
三、選擇新磁盤的大小20G,點擊下一步;
四、在後面的對話框中默認配置,直接下一步,直到完成爲止**;
這是一個磁盤分區工具,只能劃分小於2TB的分區;
格式:
fdisk [參數][設備名稱]
查看系統中磁盤設備以及分區狀況
第一步:查看模式
使用fdisk -l咱們會發現系統擁有兩塊硬盤,分別是21.5GB的sda與21.5GB的sdb;
[root@jinkai01 ~]# fdisk -l /dev/sd*
磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x000df39d設備 Boot Start End Blocks Id System
/dev/sda1 * 2048 411647 204800 83 Linux
/dev/sda2 411648 41943039 20765696 8e Linux LVM磁盤 /dev/sda1:209 MB, 209715200 字節,409600 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節磁盤 /dev/sda2:21.3 GB, 21264072704 字節,41531392 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
第二步:分區模式
使用fdisk命令不帶參數,進入分區模式;
fdisk /dev/sdb
[root@jinkai01 ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。Device does not contain a recognized partition table
使用磁盤標識符 0x6eda423e 建立新的 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)
其中命令參意思爲:
n:創建一個新的分區;
w:保存;
q:退出;
d:刪除一個分區;
p:表示打印當前磁盤的分區狀況
咱們先選擇n創建一個新分區
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended此時提示咱們兩個選項
p:主分區(最多4個,主分區+擴展分區=4)
e:擴展分區
根據提示咱們對新分區定義容量以及分區號Select (default p): p
分區號 (1-4,默認 1):1
起始 扇區 (2048-41943039,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039):+2G
分區 1 已設置爲 Linux 類型,大小設爲 2 GiB分區好後,咱們使用p來查看分區狀況;
咱們已經分好了4個區,3個主分區、一個擴展分區;
命令(輸入 m 獲取幫助):p磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x6eda423e設備 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 6244351 1024000 83 Linux
/dev/sdb3 6244352 8292351 1024000 83 Linux
/dev/sdb4 8292352 16680959 4194304 5 Extended命令(輸入 m 獲取幫助):
注意:擴展分區要設置成邏輯分區才能正常使用,也就是說劃分擴展分區後,還要將擴展分區劃分紅邏輯分區;
擴展分區劃分邏輯分區:
4爲擴展分區,123爲主分區;邏輯分區將4號擴展分區劃分爲5和6;劃分完1234後,再使用n新建會將4擴展分區轉化爲邏輯分區5和6(以及78910等)
命令(輸入 m 獲取幫助):n
All primary partitions are in use
添加邏輯分區 5
起始 扇區 (8294400-16680959,默認爲 8294400):
將使用默認值 8294400
Last 扇區, +扇區 or +size{K,M,G} (8294400-16680959,默認爲 16680959):+1000M
分區 5 已設置爲 Linux 類型,大小設爲 1000 MiB命令(輸入 m 獲取幫助):n
All primary partitions are in use
添加邏輯分區 6
起始 扇區 (10344448-16680959,默認爲 10344448):
將使用默認值 10344448
Last 扇區, +扇區 or +size{K,M,G} (10344448-16680959,默認爲 16680959):+1000M
分區 6 已設置爲 Linux 類型,大小設爲 1000 MiB命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x6eda423e設備 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 6244351 1024000 83 Linux
/dev/sdb3 6244352 8292351 1024000 83 Linux
/dev/sdb4 8292352 16680959 4194304 5 Extended
/dev/sdb5 8294400 10342399 1024000 83 Linux
/dev/sdb6 10344448 12392447 1024000 83 Linux命令(輸入 m 獲取幫助):
記得要用w保存好剛剛的分區;
命令(輸入 m 獲取幫助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盤
使用d選項來刪除分區;
首先必須加入分區界面,也就是fdisk /dev/sdb
在界面按d刪除,而後選中分區號,就能夠刪除分區了;
[root@jinkai01 ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。命令(輸入 m 獲取幫助):d
分區號 (1-6,默認 6):6
分區 6 已刪除命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x6eda423e設備 Boot Start End Blocks Id System
/dev/sdb1 2048 4196351 2097152 83 Linux
/dev/sdb2 4196352 6244351 1024000 83 Linux
/dev/sdb3 6244352 8292351 1024000 83 Linux
/dev/sdb4 8292352 16680959 4194304 5 Extended
/dev/sdb5 8294400 10342399 1024000 83 Linux
命令(輸入 m 獲取幫助):
[root@jinkai ~]# cat /etc/filesystems
xfs
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus
*
[root@jinkai ~]#
經常使用的磁盤格式
xfs:經常使用於centos7系統
ext4:經常使用與centos6系統
ext3:用於centos5系統
虛擬機添加新磁盤若是fdisk 沒法識別到,能夠重啓系統,或者echo "- - -" > /sys/class/scsi_host/host0/scan
mount
查看當前磁盤使用格式(後續會用到另一個命令blkid)
[root@jinkai01 tmp]# mount | grep "/dev/sd"
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
不支持xfs格式化
mke2fs [參數][設備]
參數:
-b:表示分區時設定每一個數據區塊佔用的空間大小。目前,每一個數據塊支持1024B、2048B以 及4096B,一旦超過4096B 將沒法實現掛載。
-i:表示設定inode的大小。
-N:表示設定inode的數量。有時默認的inode數不夠用,因此要自定義inode的數量。
-c:表示在格式化前先檢測一下磁盤是否有問題。加上這個選項後,運行速度會很是慢。
-L:表示預設該分區的標籤(label)。
-j:表示創建ext3格式的分區。若是使用mkfs.ext3格式,就不用加這個選項了。
-t:用來指定文件系統的類型,能夠是ext二、ext3 ,也能夠是 ext4。
-m:指定預留空間大小
-t 指定磁盤文件類型
實驗1:指定/dev/sdb2的文件類型爲ext4
[root@jinkai01 tmp]# mke2fs -t ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@jinkai01 tmp]# blkid /dev/sdb2
/dev/sdb2 UUID="2d5c5887-f777-46b9-b559-660b145e7365" TYPE="ext4"
指定磁盤LABEL名稱 -L
實驗2:指定/dev/sdb2的名稱或標籤爲test02
[root@jinkai01 tmp]# mke2fs -L test02 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
文件系統標籤=test02
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376Allocating group tables: 完成
正在寫入inode表: 完成
Writing superblocks and filesystem accounting information: 完成[root@jinkai01 tmp]# blkid /dev/sdb2
/dev/sdb2: LABEL="test02" UUID="deff6aba-d524-49e0-b99e-6e54fbcd298c" TYPE="ext2"
實驗3:調整塊和inode的比例以及預留空間的百分比
[root@jinkai01 /]# mke2fs -i 8192 -t ext4 /dev/sdb1
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 默認比例是1:4 一個inod 對應四個塊,一個塊是4KB,四個塊就是16KB
26214 blocks (5.00%) reserved for the super user[root@jinkai01 /]# mke2fs -m 1 -t ext4 /dev/sdb1
5242 blocks (1.00%) reserved for the super user
格式:
mkfs.[文件格式][參數][設備]
mkfs.xfs -f /dev/sdb3
參數:
-f:強制執行
-b:指定塊文件的大小,好比-b 2048 表明指定塊大小爲2048B也就是2KB
[root@jinkai01 tmp]# mkfs.xfs -f /dev/sdb3
meta-data=/dev/sdb3 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, 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
查看硬盤分區的格式與UUID
格式:
blkid [設備]
blkid /dev/sdb3
[root@jinkai01 tmp]# blkid /dev/sdb3
/dev/sdb3: UUID="64abf4be-acc2-4582-90db-6e6ea02f6ca7" TYPE="xfs"
掛載磁盤:建議你在掛載磁盤分區時,儘可能使用UUID或者LABEL這兩種方法
mount命令
-a 選項:從新掛載
-t選項:用來指定掛載的分區類型,默認不指定,會自動識別。
-o選項:用來指定掛載的分區有哪些特性,即/etc/fstab配置文件中第4列的那些
格式:
mount [設備][掛載點]
mount /dev/sdb2
實驗1:將sdb2掛載到/mnt/目錄下
[root@jinkai01 tmp]# mount /dev/sdb2 /mnt/
[root@jinkai01 tmp]# df -h | grep -v tmpfs
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16G 1.3G 15G 9% /
/dev/sda1 197M 111M 87M 56% /boot
/dev/sdb2 1008M 1.3M 956M 1% /mnt/etc/fstab
配置文件 /etc/fstab
開機自動掛載設備文件
先查看/etc/fstab文件
[root@jinkai01 tmp]# cat /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8d93bf04-faef-465d-9e2e-a2398218c404 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
第1列就是分區的標識,能夠寫分區的LABEL、分區的UUID,也能夠寫分區名(/dev/sda1)。
第2列是掛載點。
第3列是分區的格式。
第4列是mount的一些掛載參數。通常狀況下,直接寫defaults便可。
第5列的數字表示是否被dump備份。1表示備份,0表示不備份。
第6列的數字表示開機時是否自檢磁盤。1和2都表示檢測,0表示不檢測。自檢時,1比2優先級高,因此先檢測1,再檢測2。若是有多個分區須要開機檢測,就都設置成2,1檢測完後會同時檢測2。在CentOS 7系統裏,全部分區中該列的值都是0。
着重介紹第4列的經常使用選項。
async/sync:async表示與磁盤和內存不一樣步。系統每隔一段時間就會把內存數據寫入磁盤中,而sync則會時時同步內存和磁盤中的數據。
auto/noauto:表示開機自動掛載/不自動掛載。
default:表示按照大多數永久文件系統的默認值設置掛載定義,它包含了rw、suid、dev、exec、auto、nouser和async。
ro:表示按只讀權限掛載。
rw:表示按可讀可寫權限掛載。
exec/noexec:表示容許/不容許可執行文件執行,但千萬不要把根分區掛載爲noexec,不然將沒法使用系統,甚至連mount命令都沒法使用。
user/nouser:表示容許/不容許root外的其餘用戶掛載分區。爲了安全,請用nouser。
suid/nosuid:表示容許/不容許分區有suid屬性,通常設置nosuid。
usrquota:表示啓動用戶的磁盤配額模式。磁盤配額會針對用戶限定他們使用的磁盤額度。
grquota 表示啓動羣組的磁盤配額模式
從中咱們發現能夠在此文件中修改添加能夠添加自動掛載按格式在
文檔中添加
/dev/sdb2 /mnt xfs defaults 0 0
使用mount -a自動掛載
[root@jinkai01 ~]# mount -a (前提是先把須要掛載的磁盤寫到配置文件裏面才行,否則輸入命令也沒法完成自動掛載)
開機自動掛載的另一種方法,把掛載命令寫入到/etc/rc.d/rc.local 裏面,而後給予文件執行權限,chmod a+x /etc/rc.d/rc.local mount 命令最好使用絕對路徑 /usr/bin/mount
vim /etc/rc.d/rc.local
/usr/bin/mount UUID="92f01dbf-72b1-49e4-aac6-1485e7124dce" /mnt
[root@jinkai01 ~]# chmod a+x /etc/rc.d/rc.local
實驗:將sdb2卸載
[root@jinkai01 tmp]# df -h | grep -v tmpfs
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16G 1.3G 15G 9% /
/dev/sda1 197M 111M 87M 56% /boot
/dev/sdb2 1008M 1.3M 956M 1% /mnt
[root@jinkai01 tmp]# umount /dev/sdb2
[root@jinkai01 tmp]# df -h | grep -v tmpfs
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 16G 1.3G 15G 9% /
/dev/sda1 197M 111M 87M 56% /boot
swap相似於Windows的虛擬內存,分區時通常指定虛擬內存的大小是實際內存的2倍;
增長虛擬磁盤的思路爲:創建swapfile——>格式化爲swap格式——>啓用虛擬磁盤
創建swapfile
創建虛擬磁盤/tmp/newdisk,塊文件爲100M每一個,共1個,也就是100M;
[root@jinkai01 /]# dd if=/dev/zero of=/tmp/newdisk bs=100M count=1
記錄了1+0 的讀入
記錄了1+0 的寫出
104857600字節(105 MB)已複製,2.89392 秒,36.2 MB/秒
[root@jinkai01 /]# du -sh /tmp/newdisk
100M /tmp/newdisk
mkswap -f [虛擬磁盤路徑]
[root@jinkai01 /]# mkswap -f /tmp/newdisk
正在設置交換空間版本 1,大小 = 102396 KiB
無標籤,UUID=6e731cb1-8879-4847-902d-a8a85c02d1c1
[root@jinkai01 /]# free -m
total used free shared buff/cache available
Mem: 972 124 608 7 239 679
Swap: 4095 0 4095
[root@jinkai01 /]# swapon /tmp/newdisk
swapon: /tmp/newdisk:不安全的權限 0644,建議使用 0600。
[root@jinkai01 /]# free -m
total used free shared buff/cache available
Mem: 972 124 608 7 239 679
Swap: 4195 0 4195
swapoff [虛擬磁盤路徑]
swapoff /tmp/newdisk
[root@jinkai01 /]# swapoff /tmp/newdisk [root@jinkai01 /]# free -mtotal used free shared buff/cache availableMem: 972 124 608 7 239 679Swap: 4095 0 4095