3 Different Ways to List Hard Drives in Linux

1. df

The df command in Linux is probably one of the most commonly used. It lists the actual “disk space usage” and it can give you information about what hard disks (or current disk space) is being used in the entire system.

The most common way to use it is with the -h argument which means “human readable” (because we are not machines, right?):

user@system:~$ df -h
 Filesystem      Size   Used  Avail  Use%  Mounted on
 udev             7.8G     0   7.8G    0%  /dev
 tmpfs            1.6G   3.5M   1.6G    1%  /run
 /dev/sda2        468G   204G   242G   46%  /
 tmpfs            7.8G   109M   7.7G    2%  /dev/shm
 tmpfs            5.0M   4.0K   5.0M    1%  /run/lock
 tmpfs            7.8G     0   7.8G    0%  /sys/fs/cgroup
 /dev/loop0       7.5M   7.5M    0  100%  /snap/canonical-livepatch/54
 /dev/loop1       90M    90M     0  100%  /snap/core/6034
 /dev/loop2       5.0M   5.0M    0  100%  /snap/canonical-livepatch/50
 /dev/loop4       90M    90M     0  100%  /snap/core/6130
 /dev/loop3       4.8M   4.8M    0  100%  /snap/canonical-livepatch/49
 /dev/loop5       89M    89M     0  100%  /snap/core/5897
 /dev/sda1        511M   6.1M   505M   2%  /boot/efi
 tmpfs            1.6G    16K   1.6G    1%  /run/user/121
 tmpfs            1.6G    44K   1.6G    1%  /run/user/1000

As you can see, the first column is the current logic name (or the name you can find it within your system), the second column is how big is each of them, the third column is how much is currently used (in bytes), the fourth column is how much is currently available in each for usage (in bytes), the fifth column is how much is used (in %) and the sixth and last column is where is it physically mounted in your Linux system.

 

2. fdisk

fdisk is another common option among sysops. It currently lists the different partitions (which is related to hard drives as a hard drive can be divided into several partitions) in your system.

user@system:~$ fdisk -l
 Disk /dev/loop0: 7.5 MiB, 7811072 bytes, 15256 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 /dev/loop1: 89.5 MiB, 93818880 bytes, 183240 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 /dev/loop2: 4.9 MiB, 5148672 bytes, 10056 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 /dev/loop3: 4.7 MiB, 4919296 bytes, 9608 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 /dev/loop4: 89.5 MiB, 93835264 bytes, 183272 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 /dev/loop5: 88.2 MiB, 92483584 bytes, 180632 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 /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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
 
 Disklabel type: gpt
 Disk identifier: 129F4EE6-2A54-4639-BFCA-2CC09DFC8566
 Device       Start        End   Sectors   Size Type
 /dev/sda1     2048    1050623   1048576   512M EFI System
 /dev/sda2  1050624 1000214527 999163904 476.4G Linux filesystem 

This will return the entire amount of space (in GB or MB), the entire amount of bytes and the entire amount of sectors per each partition and as a summary, it also gives you the start and end sectors, the amount of disk space (in Bytes) and the type of partition.

💡
Usually a SATA disk is labelled with sd.
 

3. lsblk

This one is a little more sophisticated but gets the job done as it lists all block devices. It will give you a very simple list of all devices:

user@system:~$ lsblk 
 NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
 loop0    7:0    0   7.5M  1 loop /snap/canonical-livepatch/54
 loop1    7:1    0  89.5M  1 loop /snap/core/6034
 loop2    7:2    0   4.9M  1 loop /snap/canonical-livepatch/50
 loop3    7:3    0   4.7M  1 loop /snap/canonical-livepatch/49
 loop4    7:4    0  89.5M  1 loop /snap/core/6130
 loop5    7:5    0  88.2M  1 loop /snap/core/5897
 sda      8:0    0   477G  0 disk 
 ├─sda1   8:1    0   512M  0 part /boot/efi
 └─sda2   8:2    0 476.4G  0 part /

It is probably more visual than the others as it even shows the partitions per each disk in a visual way (like the sda in the example above). It also gives information about the total size per each partition and disk and the physical location for each. This is very commonly used when you need to mount things to be used (like 

posted @ 2024-12-26 17:31  HelloMarsMan  阅读(37)  评论(0)    收藏  举报