我安装了没有 GUI 的 Ubuntu 服务器 12.04。我想使用命令行列出我的硬盘及其分区以及每个分区的大小。
答案1
以下是几种方法:
如果您有 MBR 分区表:
terdon@oregano ~ $ sudo fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x4b66b5d5 Device Boot Start End Blocks Id System /dev/sda1 63 80324 40131 de Dell Utility /dev/sda2 * 81920 30801919 15360000 7 HPFS/NTFS/exFAT /dev/sda3 30801920 194643539 81920810 7 HPFS/NTFS/exFAT /dev/sda4 194643601 976773119 391064759+ f W95 Ext'd (LBA) /dev/sda5 194643603 198836504 2096451 c W95 FAT32 (LBA) /dev/sda6 342951936 960387071 308717568 83 Linux /dev/sda7 198840320 342949887 72054784 83 Linux /dev/sda8 960389120 976773119 8192000 82 Linux swap / Solaris
或 sudo sfdidk -l
但是这些输出并不是特别人性化。接下来的选择会更好。
对于 GPT 和 MBR 分区表:
terdon@oregano ~ $ sudo parted -l Model: ATA ST9500420AS (scsi) Disk /dev/sda: 500GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 41.1MB 41.1MB primary fat16 diag 2 41.9MB 15.8GB 15.7GB primary ntfs boot 3 15.8GB 99.7GB 83.9GB primary ntfs 4 99.7GB 500GB 400GB extended lba 5 99.7GB 102GB 2147MB logical fat32 lba 7 102GB 176GB 73.8GB logical ext4 6 176GB 492GB 316GB logical ext4 8 492GB 500GB 8389MB logical linux-swap(v1) Model: ST950032 5AS (scsi) Disk /dev/sdb: 500GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 500GB 500GB primary ntfs
lsblk
terdon@oregano ~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 39.2M 0 part ├─sda2 8:2 0 14.7G 0 part ├─sda3 8:3 0 78.1G 0 part ├─sda4 8:4 0 1K 0 part ├─sda5 8:5 0 2G 0 part ├─sda6 8:6 0 294.4G 0 part /home ├─sda7 8:7 0 68.7G 0 part / └─sda8 8:8 0 7.8G 0 part [SWAP] sdb 8:16 0 465.8G 0 disk └─sdb1 8:17 0 465.8G 0 part /test sr0 11:0 1 1024M 0 rom
安装
inxi
然后运行terdon@oregano ~ $ inxi -D Drives: HDD Total Size: 1000.2GB (70.1% used) 1: id: /dev/sda model: ST9500420AS size: 500.1GB 2: id: /dev/sdb model: 5AS size: 500.1GB
答案2
以下是其他几种方法:
瘦身
简短版本lshw
方便地在描述中列出磁盘的大小
sudo lshw -short | awk '/disk|volume/'
/0/1/0.0.0 /dev/sda disk 120GB Radeon R7
/0/1/0.0.0/1 /dev/sda1 volume 111GiB EXT4 volume
/0/2/0.0.0 /dev/cdrom disk DVDRAM GT20N
如需了解更多详细信息,请使用lshw -class volume,disk
udiscsctl
udiscsctl
有info
选项与-b
(for block-device) 标志结合使用,可以显示详细信息。使用一个简单的 for 循环和awk
,我们可以让它具体显示分区和大小信息。这是我的示例:
$ for device in /dev/sd* ; do udisksctl info -b $device | awk '/[[:blank:]]Device:/; /Size/' ;done
Device: /dev/sda
Size: 120034123776
Device: /dev/sda1
Size: 120032591872
Size: 120032591872
df 命令
df
命令显示有关所有当前已安装文件系统的信息。同样,我们可以直接使用此命令,也可以使用以下命令清理输出awk
df -h | awk 'NR==1 ;/\/dev\/sd*/'
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 110G 68G 37G 66% /
这里我们只打印标题并使用 -h 标志,使大小以人类可读的格式打印
/sys/class/block/sd* 文件
在/sys/class/block/
文件夹中,您将找到与块设备(通常指物理内存设备)相关的文件。特别是,我们要关注以sd
字母开头的任何文件。
例如,我有一块硬盘,上面只有一个分区。因此/sys/class/block/sda
指的是我的整个硬盘,而/sys/class/block/sda1
指的是我的 Ubuntu 分区。
在每个设备的每个文件夹中,您将找到该size
文件,其中列出了设备上有多少个 512 MB 的块。因此真实大小是number of blocks x 521
。
再次,通过一些命令行魔法,我们得到:
$ for device in /sys/class/block/sd*; do printf "%s " $device; bc <<< "$(cat $device/size)*512" ; done
/sys/class/block/sda 120034123776
/sys/class/block/sda1 120032591872
或者更短一点awk
:
$ awk '{print substr(FILENAME,18)" "$1*512}' /sys/class/block/sd*/size
sda/size 120034123776
sda1/size 120032591872
答案3
在终端:
sudo fdisk -l
输入您的密码。
lsblk
命令 :
答案4
我通过搜索“ubuntu server list gpt partions”找到了这个。我在使用 16.04.1 LTS 时寻找答案。对于那些想要列出分区(MBR 或 GPT)的人来说,fdisk 似乎在 16.04.1 LTS 中同时支持这两种分区(而不仅仅是早期 Ubuntu 版本中的 MBR)。parted
在安装过程中选择“基本系统实用程序”选项时,默认情况下不会安装它。因此,在 16.04.1 LTS 上,以下命令就是您所需要的全部内容:
sudo fdisk -l