linux系統磁盤
df -h
查看文件系統的磁盤的空間占用情況,常用于快速檢查磁盤使用率:df -h
-h是說把磁盤空間以G位單位,如果直接用df也是可以的,只不過單位是塊,看的不明顯
du -sh /home/
查看/home目錄下總共占用了多大的空間:du -sh /home/
du
是 disk usage 的縮寫,用于查看目錄或文件占用的磁盤空間。-s
是 summarize 的意思,表示只顯示指定目錄的總大小,而不是列出每個子目錄的大小。-h
是 human-readable 的意思,表示以人類可讀的方式顯示大小(例如 KB、MB、GB)、
lsblk
lsblk:“快速查看本機所有磁盤、分區、掛載關系”
是 “list block devices” 的縮寫,用來以樹形方式列出系統上所有(或指定)塊設備的信息。
“塊設備”通常指磁盤、分區、回環設備、光驅、LVM 邏輯卷、加密卷、NVMe、SD 卡等——只要是 /dev
下以“塊”方式讀寫的設備都會顯示。
典型輸出列說明
NAME:設備名;樹形縮進表示父子關系。
MAJ:MIN:主/次設備號。
RM:是否可移動(1=可移動,0=固定)。
SIZE:設備容量。
RO:是否只讀。
TYPE:disk、part(分區)、rom、lvm、crypt、loop…
MOUNTPOINT:當前掛載到的目錄;未掛載則為空。
lsblk ? ? ? ? ? ? ? ? ? ?# 默認輸出:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ?
lsblk -a ? ? ? ? ? ? ? ? # 同時打印空設備(無介質的光驅等) ?
lsblk -f ? ? ? ? ? ? ? ? # 額外顯示文件系統、UUID、LABEL、掛載點 ?
lsblk -p ? ? ? ? ? ? ? ? # 輸出完整設備路徑(/dev/sda1 而非 sda1) ?
lsblk -o +UUID,MODEL ? ? # 自定義列:在默認列后追加 UUID 與磁盤型號 ?
lsblk -t ? ? ? ? ? ? ? ? # 顯示拓撲(alignment、物理/邏輯扇區大小等) ?
lsblk -J ? ? ? ? ? ? ? ? # JSON 格式,方便腳本解析 ?
lsblk --help ? ? ? ? ? ? # 查看全部列字段與選項 ?
示例
$ lsblk -pf
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
├─/dev/sda1 vfat 7C33-4EF0 /boot/efi
├─/dev/sda2 ext4 4f3a2c77-77c2-4e3c-8b71-9a15c6606e98 /boot
└─/dev/sda3 LVM2_m b0L1Xz-YbVL-... ├─/dev/mapper/vg-root │ ext4 1e3d45bc-... / └─/dev/mapper/vg-swap swap 5f6a7890-...
創建新分區
- 首先關閉虛擬機,點擊虛擬機--右鍵---設置--添加--選擇磁盤
- 選擇分區類型:在創建分區時,首先需要確定是創建主分區還是擴展分區,以及是否使用邏輯分區。
- 分區大小規劃:根據實際需求規劃分區大小,合理分配空間,避免資源浪費或不足。
- 文件系統格式化:?選擇合適的文件系統進行格式化,如ext4,XFS等,確保分區能夠被系統正確識別和使用。
fdisk
使用fdisk給磁盤做一個分區:
經典的交互式磁盤分區表管理工具,名字源自 “fixed disk”。
它只能處理 MBR 和 GPT 兩種分區表,不能管理 LVM、不能格式化、不能掛載,只能做“分區”這件事:創建、刪除、查看、改類型、改標志等。
sudo fdisk -l ? ? ? ? ? ? ? ? ? ?# 列出所有磁盤及分區信息(只讀)
sudo fdisk -l /dev/sdb ? ? ? ? ? # 只看指定磁盤
sudo fdisk /dev/sdb ? ? ? ? ? ? ?# 進入交互界面,對該磁盤進行分區操作
交互界面常用單鍵命令
進入 fdisk /dev/sdb
后,按單字母即可:
m
幫助菜單p
打印當前分區表n
新建分區(會依次問主/擴展/邏輯、起始扇區、結束扇區)d
刪除分區t
改分區類型(輸入 L 查看 2 位十六進制代碼列表)a
開關 MBR 可啟動標志(僅 MBR)g
創建新的空 GPT 分區表o
創建新的空 MBR 分區表w
把修改寫入磁盤并退出(真正生效)q
放棄修改直接退出
創建好一個分區后,需要格式化文件發布系統:mkfs.ext4 /dev/sdb1
補充:
GPT 時代的增強版: ?
- fdisk?早已支持 GPT,也能管理大于 2 TB 的磁盤。 ?
- 如果只想 GPT 場景,也可以用更現代化的 `gdisk`(GPTfdisk 套件)。 ?
- 對于超大容量、4K 扇區、NVMe,內核與 fdisk 都會自動對齊,一般無需手工算扇區。
一個完整極簡示例 ?
把全新 8 TB 盤 /dev/sdb?做成一個 GPT 分區,類型默認 Linux: ?
sudo fdisk /dev/sdbg ? ? ? ? ?# 新建空 GPT 表n ? ? ? ? ?# 新分區,一路回車用默認值w ? ? ? ? ?# 寫入退出
隨后就能看到 /dev/sdb1,接著 mkfs.ext4 /dev/sdb1格式化即可。
mkfs.ext4 /dev/sdb1
這條命令干的事情非常簡單粗暴——把 /dev/sdb1
這個分區格式化成 ext4 文件系統,相當于 Windows 里“右鍵 → 格式化 → 選 NTFS”。
一、執行前務必確認
設備號別打錯:/dev/sdb1 不是整個盤,也不是別的分區。
里面數據全會被清空,不可恢復。
分區必須先存在(可用
lsblk
/fdisk -l
確認)。
注意事項 ?
1. 對有數據的盤操作前務必備份,w 一旦寫入無法撤銷。 ?
2. 正在使用中的分區(已掛載、LVM、SWAP)不能刪除/resize,需先停用。 ?
3. fdisk?不支持“無損調整”分區大小,需要 parted/gparted或專用工具。 ?
4. 新分區創建后,若內核未立即更新(少見),可 partprobe/partx -u或重啟。
一句話總結 ?
fdisk就是 Linux 上最常用、最輕量的“磁盤分區表編輯”命令行工具:查看、新建、刪除、改類型,保存后退出才真正寫入。
如果分區后,格式化后還是不能使用,通過df -h 查看發現并沒有sdb的信息,這就需要將其掛載到目錄
掛載分區
如何掛載?
- 選擇合適的文件系統:在掛載分區之前,需要確定分區的文件系統類型,如ext4,XFS等,以確保兼容性。
- 掛載點的創建:創建一個目錄作為掛載點,例如/mnt/data,用于掛載分區
- 使用mount命令掛載:通過mount命令將分區掛載之前創建的掛載點,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如? ??mount /dev/sdb1 /mnt/data
- 配置開機自動掛載:編輯文件,添加掛載信息,使系統在啟動時自動掛載分區
能掛載也就可以卸載:umount /mnt/data
umount /mnt/data
如何自動掛載呢?
前面是手動掛載,自動掛載配置,修改 /etc/fstab文件
修改 /etc/fstab文件,添加掛載:/dev/sdb1 /mnt/data ext4 defaults 0 0
寫完之后,如何判斷是不是生效?使用lsblk,或者是df -h,但是這兩個只會看到掛載了,不知道嫩不能使用,這時候可以使用umount /mnt/data卸載掉,然后呢就使用df -h看一下是否不見了,然后重啟一下服務(使用命令:reboot),再次使用lsblk或df -h查看是否掛載到了,如果出現了就是真的能使用了。