1. Linux 分區(qū)
1.1.原理介紹
? ? ?(1) Linux 無論有幾個分區(qū),分給哪一目錄使用,它歸根結(jié)底就只有一個根目錄,一個獨立且唯一? 的文件結(jié)構(gòu) 。
? ? ?Linux 中每個分區(qū)都是用來組成整個文件系統(tǒng)的一部分。
? ? ?(2) Linux 采用了一種叫“載入”的處理方法,它的整個文件系統(tǒng)中包含了一整套的文件和目錄,且將一個分區(qū)和一個目錄聯(lián)系起來。
? ? ?這時要載入的一個分區(qū)將使它的存儲空間在一個目錄下獲得。
(3)圖解:
硬盤上的一個分區(qū) 通過掛載mount機制 與文件系統(tǒng)中的某個目錄聯(lián)系起來
即分區(qū)掛載到目錄
訪問這個目錄即訪問這個分區(qū)
可以通過指令查看掛載情況,下面會說。
1.2.硬盤說明
(1)?? ?Linux 硬盤主要分為:
?? ? IDE 硬盤和 SCSI 硬盤
?? ? 目前基本上是 SCSI 硬盤
(2)?? ?對于 IDE 硬盤,驅(qū)動器標識符為“hdx~”
?? ?其中“hd”表明分區(qū)所在設(shè)備的類型,這里是指 IDE 硬盤
?? ?
?? ?“x”為盤號
?? ??? ?a 為基本盤 第一個硬盤
?? ??? ?b 為基本從屬盤 第二個硬盤
?? ??? ?c 為輔助主盤 第三個硬盤
?? ??? ?d 為輔助從屬盤 第四個硬盤
?? ??? ?
?? ?“~”代表分區(qū)
?? ??? ?前四個分區(qū)用數(shù)字 1 到 4 表示,它們是主分區(qū)或擴展分區(qū),從 5 開始就是邏輯分區(qū)
?? ?
?? ?例:hda3 表示為第一個 IDE 硬盤上的第三個主分區(qū)或擴展分區(qū)
?? ? ? ? hdb2 表示為第二個 IDE 硬盤上的第二個主分區(qū)或擴展分區(qū)
?? ? ? ??
(3)?? ?對于 SCSI 硬盤則標識為“sdx~”
?? ?SCSI 硬盤是用“sd”來表示分區(qū)所在設(shè)備的類型的,其余則和 IDE 硬盤的表示方法一樣
?
1.3.查看所有設(shè)備掛載情況
命令 :lsblk 或者 lsblk -f
lsblk:list block devices
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17G 0 part /
sr0 11:0 1 4.3G 0 rom
sda1分區(qū)掛載到/boot目錄
sda2分區(qū)掛載到swap目錄
sda3分區(qū)掛載到根目錄
lsblk -f (更加詳細的顯示)
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
└─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
第一列可以看到設(shè)備/硬盤分區(qū)情況
FSTYPE:文件系統(tǒng)類型
UUID:格式化之后,會給每一個分區(qū)分配一個 唯一的 不重復(fù)的 40位 的 字符串
MOUNTPOINT:掛載點
2.掛載的經(jīng)典案例
2.1.說明
下面我們以增加一塊硬盤為例來熟悉一下磁盤的相關(guān)指令和深入理解磁盤分區(qū)、掛載、卸載的概念。
2.2.如何增加一塊硬盤
1) 虛擬機添加硬盤
2) 分區(qū)
3) 格式化
4) 掛載
5) 設(shè)置可以自動掛載
2.3.虛擬機增加硬盤步驟 1-虛擬機添加硬盤
在【虛擬機】菜單中選擇【設(shè)置】
然后設(shè)備列表里添加硬盤
然后一路【下一步】
中間只有選擇磁盤大小的地方需要修改,至到完成
使用命令lsblk發(fā)現(xiàn)沒有新增的硬盤?
需要重啟系統(tǒng)(才能識別)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17G 0 part /
sdb 8:16 0 1G 0 disk
sr0 11:0 1 4.3G 0 rom
新增硬盤sdb,還未分區(qū)。
2.4 虛擬機增加硬盤步驟 2-分區(qū)
對sdb進行分區(qū):
分區(qū)命令:fdisk /dev/sdb (dev目錄下是一些設(shè)備)
步驟:
開始分區(qū)后輸入 n (新增分區(qū))
然后選擇 p (分區(qū)類型為主分區(qū))
兩次回車
最后輸入 w (寫入分區(qū)并退出)(若不保存并退出輸入 q,即上面步驟出錯了想重來就可以輸入q)
說明:
m 顯示命令列表
p 顯示磁盤分區(qū) (同 fdisk –l)
n 新增分區(qū)
d 刪除分區(qū)
w 寫入并退出
命令(輸入 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)
選擇分區(qū)類型:主分區(qū)/擴展分區(qū)
命令(輸入 m 獲取幫助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分區(qū)號 (1-4,默認 1): --->輸入2,硬盤就有2個分區(qū)
起始 扇區(qū) (2048-2097151,默認為 2048):
將使用默認值 2048
Last 扇區(qū), +扇區(qū) or +size{K,M,G} (2048-2097151,默認為 2097151):
將使用默認值 2097151
分區(qū) 1 已設(shè)置為 Linux 類型,大小設(shè)為 1023 MiB
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17G 0 part /
sdb 8:16 0 1G 0 disk
└─sdb1 8:17 0 1023M 0 part
sr0 11:0 1 4.3G 0 rom
分區(qū)成功
硬盤sdb中只有一個分區(qū)sdb1
2.5 虛擬機增加硬盤步驟 3-格式化
格式化磁盤
為什么要格式化?
給這個分區(qū)指定它的文件類型
[root@Edu01 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
└─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
sdb
└─sdb1
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
sdb1的UUID為空,說明還沒有格式化。
格式化命令:
mkfs -t ext4 /dev/sdb1 其中 ext4 是分區(qū)類型
2.6.虛擬機增加硬盤步驟 4-掛載
掛載: 將一個分區(qū)與一個目錄聯(lián)系起來,
命令:mount 設(shè)備名稱 掛載目錄
首先創(chuàng)建一個目錄newdisk (目錄位置隨便)
假如在根目錄下創(chuàng)建:mkdir newdisk
進行掛載:mount /dev/sdb1 /newdisk
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
└─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
sdb
└─sdb1 ext4 d1856552-dee4-4fbc-9953-f650231ecaac /newdisk
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
掛載點有了,掛載成功。
卸載(去除分區(qū)與目錄的聯(lián)系):
命令:umount 設(shè)備名稱 或者 掛載目錄
例如:umount /dev/sdb1 或者 umount /newdisk
注意: 用命令行掛載,重啟后會失效。
2.7.虛擬機增加硬盤步驟 5-設(shè)置可以自動掛載
解決 用命令行掛載,重啟后會失效 問題
永久掛載:
通過修改/etc/fstab 實現(xiàn)掛載
添加完成后 執(zhí)行 mount –a 即刻生效 或者 重啟系統(tǒng)reboot
步驟:
vim /etc/fstab
增加一行:UUID=上面sdb1的UUID /newdisk ext4 defaults 0 0
也可以是:/dev/sdb1 /newdisk ext4 defaults 0 0
要掛載的設(shè)備或偽文件系統(tǒng) 掛載點 文件系統(tǒng)類型 掛載選項 轉(zhuǎn)儲頻率 自檢次序
UUID=上面sdb1的UUID /newdisk ext4 defaults 0 0
要掛載的設(shè)備或偽文件系統(tǒng):
設(shè)備文件、LABEL(LABEL="")、UUID(UUID="")、偽文件系統(tǒng)名稱(proc, sysfs)
掛載點:指定的文件夾
掛載選項:defaults
轉(zhuǎn)儲頻率:
0:不做備份
1:每天轉(zhuǎn)儲
2:每隔一天轉(zhuǎn)儲
自檢次序:
0:不自檢
1:首先自檢;一般只有rootfs才用1;
3.磁盤情況查詢
3.1.查詢系統(tǒng)整體磁盤使用情況
基本語法:
?? ?df -h ? (disk free)
查詢系統(tǒng)整體磁盤使用情況
?
3.2.查詢指定目錄的磁盤占用情況
基本語法:
?? ?du -h ?指定目錄 ? ?(disk usage)
功能:查詢指定目錄的磁盤占用情況,默認為當(dāng)前目錄
?? ?-s 指定目錄占用大小匯總
?? ?-h 帶計量單位
?? ?-a 含文件
?? ?--max-depth=1?? ?子目錄深度
?? ?-c 列出明細的同時,增加匯總值
應(yīng)用實例
查詢 /opt 目錄的磁盤占用情況,深度為 1
?? ?du -hac --max-depth=1 /opt
?
4.磁盤情況-工作實用指令
1. 統(tǒng)計/opt 文件夾下文件的個數(shù)
?? ?ls -l /opt | grep "^-" | wc -l
?? ?說明:
?? ??? ?grep "^-" --->篩選出以-開頭的,因為以-開頭的都是文件
?? ??? ?wc (word count) 統(tǒng)計數(shù)量
?? ??? ??? ?wc -l 統(tǒng)計行數(shù) l即lines
?? ??? ??? ?統(tǒng)計grep篩選后的行數(shù)即文件個數(shù)
2. 統(tǒng)計/opt 文件夾下目錄的個數(shù)
?? ?ls -l /opt | grep "^d" | wc -l
3. 統(tǒng)計/opt 文件夾下文件的個數(shù),包括子文件夾里的
?? ?ls -lR /opt | grep "^-" | wc -l
?? ??? ?-R 遞歸列出遇到的子目錄
4. 統(tǒng)計/opt 文件夾下目錄的個數(shù),包括子文件夾里的
?? ?ls -lR /opt | grep "^d" | wc -l文章來源:http://www.zghlxwxcb.cn/news/detail-487684.html
5. 以樹狀顯示目錄結(jié)構(gòu)?
??? ?指令:tree 目錄?
??? ?默認情況下沒有tree指令
??? ?如果沒有 tree ,則使用 yum install tree 指令安裝
?文章來源地址http://www.zghlxwxcb.cn/news/detail-487684.html
到了這里,關(guān)于【LINUX】磁盤分區(qū)、掛載的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!