一、打印輸出Linux磁盤分區(qū)表的命令行實(shí)用工具
1. fdisk(固定磁盤)命令
fdisk是一款功能強(qiáng)大、廣受歡迎的命令行工具,可用于創(chuàng)建和處理磁盤分區(qū)表。
它支持GPT、MBR、Sun、SGI和BSD等格式的分區(qū)表。你可以通過它易于使用、基于文本、菜單驅(qū)動的界面來運(yùn)行fdisk命令,從而顯示、創(chuàng)建、調(diào)整、刪除、修改、拷貝和移動存儲磁盤上的分區(qū)。
下面這個(gè)fdisk命令將打印輸出所有已掛載塊設(shè)備的分區(qū)表:
- $ sudo fdisk -l
fdisk – List Linux Disk Partition Table
- Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
- Disklabel type: gpt
- Disk identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430
- Device Start End Sectors Size Type
- /dev/sda1 2048 2050047 2048000 1000M Windows recovery environment
- /dev/sda2 2050048 2582527 532480 260M EFI System
- /dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
- /dev/sda4 4630528 4892671 262144 128M Microsoft reserved
- /dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data
- /dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data
- /dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environment
- /dev/sda8 1173295104 1173297151 2048 1M BIOS boot
- /dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap
- /dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem
- Partition table entries are not in disk order.
想了解fdisk命令的更多用法和例子,請參閱《管理分區(qū)的10個(gè)fdisk命令實(shí)例》(//www.tecmint.com/fdisk-commands-to-manage-linux-disk-partitions/)。
2. sfdisk(用于腳本環(huán)境的fdisk)命令
sfdisk用起來比較像fdisk,它可打印輸出或者處理存儲磁盤分區(qū)表。然而,sfdisk提供了fdisk所沒有的額外特性。你可以像fdisk那樣來使用它,它還支持GPT、MBR、Sun和SGI等格式的分區(qū)表。
兩者之間的一個(gè)區(qū)別就是,sfdisk并不像fdisk那樣為SGI和SUN磁盤標(biāo)簽創(chuàng)建標(biāo)準(zhǔn)的系統(tǒng)分區(qū)。
- $ sudo sfdisk -l
sfdisk – Check Linux Disk Partition Table
- Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
- Disk identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430
- Device Start End Sectors Size Type
- /dev/sda1 2048 2050047 2048000 1000M Windows recovery environment
- /dev/sda2 2050048 2582527 532480 260M EFI System
- /dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
- /dev/sda4 4630528 4892671 262144 128M Microsoft reserved
- /dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data
- /dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data
- /dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environment
- /dev/sda8 1173295104 1173297151 2048 1M BIOS boot
- /dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap
- /dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem
- Partition table entries are not in disk order.
想了解更多用法,請參閱sfdisk的參考手冊頁。
3. cfdisk(curses fdisk)命令
cfdisk是個(gè)簡單程序,可用于打印輸出和管理磁盤分區(qū)。它借助易于使用的界面提供了基本的分區(qū)功能。你可以使用類似功能比較強(qiáng)大的命令fdisk和sfdisk讓用戶可以查看、添加、刪除和修改硬盤分區(qū)。
使用向右箭頭和向左箭頭來移動菜單標(biāo)簽上的高亮部分。
- $ sudo cfdisk
cfdisk – Print Linux Disk Partition Table
- Disk: /dev/sda
- Size: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
- Label: gpt, identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430
- Device Start End Sectors Size Type
- >> Free space 2048 2048 0 0B
- /dev/sda1 2048 2050047 2048000 1000M Windows recovery environm
- /dev/sda2 2050048 2582527 532480 260M EFI System
- /dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
- /dev/sda4 4630528 4892671 262144 128M Microsoft reserved
- /dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data
- /dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data
- /dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environm
- /dev/sda8 1173295104 1173297151 2048 1M BIOS boot
- /dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap
- /dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem
- ┌────────────────────────────────────────────────────────────────────────────┐
- │ Filesystem: ntfs │
- │Filesystem label: WINRE_DRV │
- └────────────────────────────────────────────────────────────────────────────┘
- [ New ] [ Quit ] [ Help ] [ Sort ] [ Write ] [ Dump ]
4. parted命令
parted也是一種知名的命令行工具,可用于顯示和處理磁盤分區(qū)。它識別多種分區(qū)表格式,包括MBR和GPT。
parted可用于為新的分區(qū)創(chuàng)建空間,重新整理磁盤使用情況,將數(shù)據(jù)拷貝到新的硬盤,等等。
- $ sudo parted -l
parted – A Partition Manipulation Tool
- Model: ATA ST1000LM024 HN-M (scsi)
- Disk /dev/sda: 1000GB
- Sector size (logical/physical): 512B/4096B
- Partition Table: gpt
- Disk Flags:
- Number Start End Size File system Name Flags
- 1 1049kB 1050MB 1049MB ntfs Basic data partition hidden, diag
- 2 1050MB 1322MB 273MB fat32 EFI system partition boot, hidden, esp
- 3 1322MB 2371MB 1049MB fat32 Basic data partition hidden
- 4 2371MB 2505MB 134MB Microsoft reserved partition msftres
- 5 2505MB 601GB 598GB ntfs Basic data partition msftdata
- 8 601GB 601GB 1049kB bios_grub
9 601GB 605GB 4000MB linux-swap(v1)
- 10 605GB 958GB 353GB ext4
- 6 958GB 984GB 26.8GB ntfs Basic data partition msftdata
- 7 984GB 1000GB 15.7GB ntfs Basic data partition hidden, diag
想了解更多用法,請參閱《管理Linux磁盤分區(qū)的8個(gè)Linux parted命令》(//www.tecmint.com/parted-command-to-create-resize-rescue-linux-disk-partitions/)。
5. lsblk(列表塊)命令
lsblk打印輸出的信息包括:關(guān)于所有可用或特定已掛載塊設(shè)備(不包括內(nèi)存磁盤)的名稱、類型和掛載點(diǎn)。
- $ lsblk
lsblk – List Linux Block Devices
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
- sda 8:0 0 931.5G 0 disk
- ├─sda1 8:1 0 1000M 0 part
- ├─sda2 8:2 0 260M 0 part
- ├─sda3 8:3 0 1000M 0 part
- ├─sda4 8:4 0 128M 0 part
- ├─sda5 8:5 0 557.1G 0 part
- ├─sda6 8:6 0 25G 0 part
- ├─sda7 8:7 0 14.7G 0 part
- ├─sda8 8:8 0 1M 0 part
- ├─sda9 8:9 0 3.7G 0 part [SWAP]
- └─sda10 8:10 0 328.7G 0 part /
- sr0 11:0 1 1024M 0 rom
6. blkid(塊ID)命令
blkid這個(gè)實(shí)用工具可找到或者顯示塊設(shè)備的屬性(NAME=值對),比如設(shè)備或分區(qū)名稱、標(biāo)簽、文件系統(tǒng)類型及其他。
- $ blkid
blkid – Print Block Device Attributes
- /dev/sda1: LABEL="WINRE_DRV" UUID="D4A45AAAA45A8EBC" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="dcc4de2d-8fc4-490f-85e0-50c2e18cc33d"
-
- /dev/sda2: LABEL="SYSTEM_DRV" UUID="185C-DA5B" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b13c479a-d63b-4fec-9aee-f926fe7b0b16"
-
- /dev/sda3: LABEL="LRS_ESP" UUID="0E60-2E0E" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="d464feab-0791-4866-a36b-90dbe6d6a437"
-
- /dev/sda5: LABEL="Windows8_OS" UUID="18D0632AD0630CF6" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8a66bd5b-8624-4fdb-9ad8-18d8cd356160"
-
- /dev/sda6: LABEL="LENOVO" UUID="9286FFD986FFBC33" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="92fbbea9-6bcd-4ae5-a322-c96a07a81013"
-
- /dev/sda7: LABEL="PBR_DRV" UUID="ECD06683D066543C" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="0e2878a2-377c-4b35-9454-f1f2c6398405"
-
- /dev/sda9: UUID="e040de62-c837-453e-88ee-bd9000387083" TYPE="swap" PARTUUID="f5eef371-a152-4208-a62f-0fb287f9acdd"
-
- /dev/sda10: UUID="bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b" TYPE="ext4" PARTUUID="26b60905-1c39-4fd4-bdce-95c517c781fa"
7. hwinfo(硬件信息)命令
hwinfo通常打印輸出關(guān)于系統(tǒng)硬件的詳細(xì)信息。但是你可以運(yùn)行如下hwinfo命令,使用-- <HARDWARE_ITEM>這個(gè)選項(xiàng),列出指定類型的所有硬件項(xiàng)(這里是磁盤等塊設(shè)備及其分區(qū))。
如果只想獲得摘要信息,請使用-- short選項(xiàng),如下面這個(gè)命令所示:
- $ hwinfo --short --block
hwinfo – Print Linux Hardware Information
- disk:
- /dev/sda ST1000LM024 HN-M
- /dev/ram0 Disk
- /dev/ram1 Disk
- /dev/ram2 Disk
- /dev/ram3 Disk
- /dev/ram4 Disk
- /dev/ram5 Disk
- /dev/ram6 Disk
- /dev/ram7 Disk
- /dev/ram8 Disk
- /dev/ram9 Disk
- /dev/ram10 Disk
- /dev/ram11 Disk
- /dev/ram12 Disk
- /dev/ram13 Disk
- /dev/ram14 Disk
- /dev/ram15 Disk
-
- partition:
- /dev/sda1 Partition
- /dev/sda2 Partition
- /dev/sda3 Partition
- /dev/sda4 Partition
- /dev/sda5 Partition
- /dev/sda6 Partition
- /dev/sda7 Partition
- /dev/sda8 Partition
- /dev/sda9 Partition
- /dev/sda10 Partition
-
- cdrom:
- /dev/sr0 PLDS DVD-RW DA8A5SH
確保hwinfo工具已安裝在你的系統(tǒng)上,那樣才能獲得上述結(jié)果。
二、Linux下監(jiān)測磁盤空間使用情況的命令行實(shí)用工具
下面介紹了用于監(jiān)測Linux磁盤空間使用情況的幾個(gè)命令行實(shí)用工具。
8. df(磁盤文件系統(tǒng))命令
df在終端上打印輸出文件系統(tǒng)磁盤空間使用情況方面的摘要信息。在下面這個(gè)命令中,-hT參數(shù)選項(xiàng)符可報(bào)告文件大小、已用空間、可用空間和已用空間百分比,采用了人類可讀的格式。
- $ df -hT
df – Show Linux Disk Space Usage
- Filesystem Type Size Used Avail Use% Mounted on
- udev devtmpfs 3.9G 0 3.9G 0% /dev
- tmpfs tmpfs 788M 9.6M 779M 2% /run
- /dev/sda10 ext4 324G 132G 176G 43% /
- tmpfs tmpfs 3.9G 86M 3.8G 3% /dev/shm
- tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
- tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
- cgmfs tmpfs 100K 0 100K 0% /run/cgmanager/fs
- tmpfs tmpfs 788M 32K 788M 1% /run/user/1000
9. pydf(python df)命令
pydf是一款杰出的Python命令行實(shí)用工具,也是Linux下可替代df的優(yōu)秀工具。它使用不同顏色來高亮顯示具有特定屬性的磁盤分區(qū)。
- $ pydf
pydf – Show Colourised Linux Disk Space Usage
- Filesystem Size Used Avail Use% Mounted on
- /dev/sda10 323G 132G 175G 40.7 [######################................................] /
確保pydf實(shí)用工具已安裝在系統(tǒng)上;要是未安裝,請參閱《安裝pydf工具來監(jiān)測Linux磁盤使用情況》(//www.tecmint.com/pyd-command-to-check-disk-usage/)。
三、如果磁盤/分區(qū)在Linux下快用完空間,該怎么辦?
一旦你認(rèn)識到你的任何存儲磁盤快用完空間或者已滿,應(yīng)該:
首先,使用任何一款Linux系統(tǒng)備份工具,對系統(tǒng)上的所有重要文件作一個(gè)備份。
下一步,使用du命令,檢查哪些文件或目錄在一個(gè)或多個(gè)磁盤上占用的空間量最大。
然后,借助rm命令,從一個(gè)或多個(gè)存儲磁盤上刪除不再重要或你在將來不會使用的任何文件,也可以使用fslint工具,找到并刪除Linux下不需要的文件。
如果你的根分區(qū)快滿了,可以使用LVM調(diào)整根分區(qū)大小,它用起來應(yīng)該很簡單。
注意:萬一你刪除了任何重要文件,可以恢復(fù)在Linux下刪除的文件。
我們在本文中介紹了多款有用的命令行實(shí)用工具,可用來顯示存儲磁盤分區(qū)表,并監(jiān)測磁盤使用情況。
我們有沒有落下具有同樣用途的任何重要的命令行實(shí)例工具?歡迎留言交流!