Skip to content

Disk management

Show filesystems

df -h

Example output:

Filesystem      Size  Used Avail Use% Mounted on
udev            456M     0  456M   0% /dev
tmpfs            97M  9.4M   87M  10% /run
/dev/vda1        19G  2.6G   16G  15% /
tmpfs           481M     0  481M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            97M     0   97M   0% /run/user/1003

List block devices

lsblk

Example output:

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   19G  0 part 
  ├─vg0-root 253:0 0 15G  0 lvm  /
  └─vg0-swap 253:1 0  4G  0 lvm  [SWAP]

Partition management (fdisk)

# Interactive partition tool
fdisk /dev/sda

# List partitions
fdisk -l /dev/sda

LVM management

# Physical volumes
pvdisplay
pvcreate /dev/sda2
pvremove /dev/sda2

# Volume groups
vgdisplay
vgcreate vg0 /dev/sda2
vgextend vg0 /dev/sdb1
vgreduce vg0 /dev/sdb1

# Logical volumes
lvdisplay
lvcreate -L 10G -n lv_data vg0
lvextend -l +100%FREE /dev/vg0/lv_data    # note the lowercase L
lvextend -L +5G /dev/vg0/lv_data
lvreduce -L -2G /dev/vg0/lv_data
lvremove /dev/vg0/lv_data

# Resize filesystem after extending LV
resize2fs /dev/vg0/lv_data  # ext4
xfs_growfs /mount/point     # xfs

Create filesystems

# ext4
mkfs.ext4 /dev/sda1

# xfs
mkfs.xfs /dev/sda1

# btrfs
mkfs.btrfs /dev/sda1

# With label
mkfs.ext4 -L mydata /dev/sda1

Disk usage

# Show inode usage
df -i

# List folders
du -h -d 1 | sort -h

# Find large files
find / -type f -size +100M -exec ls -lh {} \;

Mount operations

# Mount filesystem
mount /dev/sda1 /mnt

# Unmount
umount /mnt

# Show all mounts
mount | column -t

# Persistent mounts (add to /etc/fstab)
/dev/vg0/lv_data  /data  ext4  defaults  0  2
UUID=xxx          /data  ext4  defaults  0  2