Duf: un'alternativa al comando df in Linux
Il comando df in Linux penso lo conosciamo tutti; solo che, rispetto a quello a cui siamo abituati oggi, non è proprio leggibile.
In giro si trovano varie alternative; una che trovo interessante è duf!
Per installarlo su Debian:
$ wget https://github.com/muesli/duf/releases/download/v0.6.0/duf_0.6.0_linux_amd64.deb
$ sudo dpkg -i duf_0.6.0_linux_amd64.deb
Poi vi basta lanciarlo:
$ duf
╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 7 local devices │
├───────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├───────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────────┼────────────┤
│ / │ 226.3G │ 33.1G │ 181.6G │ [##..................] 14.6% │ ext4 │ /dev/sda2 │
│ /mnt/DATA │ 916.8G │ 555.5G │ 314.7G │ [############........] 60.6% │ ext4 │ /dev/sdb1 │
│ /snap/core/10859 │ 99.2M │ 99.2M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop3 │
│ /snap/core18/1988 │ 55.5M │ 55.5M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop2 │
│ /snap/flutter/56 │ 198.5M │ 198.5M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop4 │
│ /snap/flutter/62 │ 198.2M │ 198.2M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop0 │
│ /snap/kotlin/57 │ 100.4M │ 100.4M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop1 │
╰───────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────────┴────────────╯
╭───────────────────────────────────────────────────────────────────────────────────────────────╮
│ 6 special devices │
├────────────────┬──────┬───────┬───────┬───────────────────────────────┬──────────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├────────────────┼──────┼───────┼───────┼───────────────────────────────┼──────────┼────────────┤
│ /dev │ 7.8G │ 0B │ 7.8G │ │ devtmpfs │ udev │
│ /dev/shm │ 7.8G │ 40.6M │ 7.8G │ [....................] 0.5% │ tmpfs │ tmpfs │
│ /run │ 1.6G │ 10.6M │ 1.6G │ [....................] 0.7% │ tmpfs │ tmpfs │
│ /run/lock │ 5.0M │ 4.0K │ 5.0M │ [....................] 0.1% │ tmpfs │ tmpfs │
│ /run/user/1000 │ 1.6G │ 24.0K │ 1.6G │ [....................] 0.0% │ tmpfs │ tmpfs │
│ /sys/fs/cgroup │ 7.8G │ 0B │ 7.8G │ │ tmpfs │ tmpfs │
╰────────────────┴──────┴───────┴───────┴───────────────────────────────┴──────────┴────────────╯
Da qui non si vede, ma l'output è anche colorato.
Ovviamente potete indicare uno o più path specifici; ad esempio:
$ duf /home /etc
╭──────────────────────────────────────────────────────────────────────────────────────────╮
│ 2 local devices │
├────────────┬────────┬───────┬────────┬───────────────────────────────┬──────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├────────────┼────────┼───────┼────────┼───────────────────────────────┼──────┼────────────┤
│ / │ 226.3G │ 33.1G │ 181.6G │ [##..................] 14.6% │ ext4 │ /dev/sda2 │
│ / │ 226.3G │ 33.1G │ 181.6G │ [##..................] 14.6% │ ext4 │ /dev/sda2 │
╰────────────┴────────┴───────┴────────┴───────────────────────────────┴──────┴────────────╯
O indicare di visualizzarli tutti:
$ duf -all
╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 7 local devices │
├───────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├───────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────────┼────────────┤
│ / │ 226.3G │ 33.1G │ 181.6G │ [##..................] 14.6% │ ext4 │ /dev/sda2 │
│ /mnt/DATA │ 916.8G │ 555.5G │ 314.7G │ [############........] 60.6% │ ext4 │ /dev/sdb1 │
│ /snap/core/10859 │ 99.2M │ 99.2M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop3 │
│ /snap/core18/1988 │ 55.5M │ 55.5M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop2 │
│ /snap/flutter/56 │ 198.5M │ 198.5M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop4 │
│ /snap/flutter/62 │ 198.2M │ 198.2M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop0 │
│ /snap/kotlin/57 │ 100.4M │ 100.4M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop1 │
╰───────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────────┴────────────╯
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 29 special devices │
├─────────────────────────────────┬──────┬───────┬───────┬───────────────────────────────┬─────────────┬─────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├─────────────────────────────────┼──────┼───────┼───────┼───────────────────────────────┼─────────────┼─────────────┤
│ /dev │ 7.8G │ 0B │ 7.8G │ │ devtmpfs │ udev │
│ /dev/hugepages │ 0B │ 0B │ 0B │ │ hugetlbfs │ hugetlbfs │
│ /dev/mqueue │ 0B │ 0B │ 0B │ │ mqueue │ mqueue │
│ /dev/pts │ 0B │ 0B │ 0B │ │ devpts │ devpts │
│ /dev/shm │ 7.8G │ 56.8M │ 7.8G │ [....................] 0.7% │ tmpfs │ tmpfs │
│ /proc │ 0B │ 0B │ 0B │ │ proc │ proc │
│ /proc/sys/fs/binfmt_misc │ 0B │ 0B │ 0B │ │ autofs │ systemd-1 │
│ /proc/sys/fs/binfmt_misc │ 0B │ 0B │ 0B │ │ binfmt_misc │ binfmt_misc │
│ /run │ 1.6G │ 10.6M │ 1.6G │ [....................] 0.7% │ tmpfs │ tmpfs │
│ /run/lock │ 5.0M │ 4.0K │ 5.0M │ [....................] 0.1% │ tmpfs │ tmpfs │
│ /run/user/1000 │ 1.6G │ 24.0K │ 1.6G │ [....................] 0.0% │ tmpfs │ tmpfs │
│ /sys │ 0B │ 0B │ 0B │ │ sysfs │ sysfs │
│ /sys/fs/bpf │ 0B │ 0B │ 0B │ │ bpf │ bpf │
│ /sys/fs/cgroup │ 7.8G │ 0B │ 7.8G │ │ tmpfs │ tmpfs │
│ /sys/fs/cgroup/blkio │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/cpu,cpuacct │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/cpuset │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/devices │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/freezer │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/memory │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/net_cls,net_prio │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/perf_event │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/pids │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/rdma │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/systemd │ 0B │ 0B │ 0B │ │ cgroup │ cgroup │
│ /sys/fs/cgroup/unified │ 0B │ 0B │ 0B │ │ cgroup2 │ cgroup2 │
│ /sys/fs/pstore │ 0B │ 0B │ 0B │ │ pstore │ pstore │
│ /sys/kernel/debug │ 0B │ 0B │ 0B │ │ debugfs │ debugfs │
│ /sys/kernel/security │ 0B │ 0B │ 0B │ │ securityfs │ securityfs │
╰─────────────────────────────────┴──────┴───────┴───────┴───────────────────────────────┴─────────────┴─────────────╯
Possiamo anche fare il sorting:
$ duf --sort size
╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 7 local devices │
├───────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├───────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────────┼────────────┤
│ /snap/core18/1988 │ 55.5M │ 55.5M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop2 │
│ /snap/core/10859 │ 99.2M │ 99.2M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop3 │
│ /snap/kotlin/57 │ 100.4M │ 100.4M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop1 │
│ /snap/flutter/62 │ 198.2M │ 198.2M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop0 │
│ /snap/flutter/56 │ 198.5M │ 198.5M │ 0B │ [####################] 100.0% │ squashfs │ /dev/loop4 │
│ / │ 226.3G │ 33.1G │ 181.6G │ [##..................] 14.6% │ ext4 │ /dev/sda2 │
│ /mnt/DATA │ 916.8G │ 555.5G │ 314.7G │ [############........] 60.6% │ ext4 │ /dev/sdb1 │
╰───────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────────┴────────────╯
╭───────────────────────────────────────────────────────────────────────────────────────────────╮
│ 6 special devices │
├────────────────┬──────┬───────┬───────┬───────────────────────────────┬──────────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├────────────────┼──────┼───────┼───────┼───────────────────────────────┼──────────┼────────────┤
│ /run/lock │ 5.0M │ 4.0K │ 5.0M │ [....................] 0.1% │ tmpfs │ tmpfs │
│ /run/user/1000 │ 1.6G │ 24.0K │ 1.6G │ [....................] 0.0% │ tmpfs │ tmpfs │
│ /run │ 1.6G │ 10.6M │ 1.6G │ [....................] 0.7% │ tmpfs │ tmpfs │
│ /dev │ 7.8G │ 0B │ 7.8G │ │ devtmpfs │ udev │
│ /dev/shm │ 7.8G │ 44.5M │ 7.8G │ [....................] 0.6% │ tmpfs │ tmpfs │
│ /sys/fs/cgroup │ 7.8G │ 0B │ 7.8G │ │ tmpfs │ tmpfs │
╰────────────────┴──────┴───────┴───────┴───────────────────────────────┴──────────┴────────────╯
Oppure visualizzare solo alcune colonne:
$ duf --output used,size,avail,usage
╭──────────────────────────────────────────────────────────╮
│ 7 local devices │
├────────┬────────┬────────┬───────────────────────────────┤
│ SIZE │ USED │ AVAIL │ USE% │
├────────┼────────┼────────┼───────────────────────────────┤
│ 226.3G │ 33.1G │ 181.6G │ [##..................] 14.6% │
│ 916.8G │ 555.5G │ 314.7G │ [############........] 60.6% │
│ 99.2M │ 99.2M │ 0B │ [####################] 100.0% │
│ 55.5M │ 55.5M │ 0B │ [####################] 100.0% │
│ 198.5M │ 198.5M │ 0B │ [####################] 100.0% │
│ 198.2M │ 198.2M │ 0B │ [####################] 100.0% │
│ 100.4M │ 100.4M │ 0B │ [####################] 100.0% │
╰────────┴────────┴────────┴───────────────────────────────╯
╭──────────────────────────────────────────────────────╮
│ 6 special devices │
├──────┬───────┬───────┬───────────────────────────────┤
│ SIZE │ USED │ AVAIL │ USE% │
├──────┼───────┼───────┼───────────────────────────────┤
│ 7.8G │ 0B │ 7.8G │ │
│ 7.8G │ 53.0M │ 7.8G │ [....................] 0.7% │
│ 1.6G │ 10.6M │ 1.6G │ [....................] 0.7% │
│ 5.0M │ 4.0K │ 5.0M │ [....................] 0.1% │
│ 1.6G │ 24.0K │ 1.6G │ [....................] 0.0% │
│ 7.8G │ 0B │ 7.8G │ │
╰──────┴───────┴───────┴───────────────────────────────╯
Oppure visualizzare l'output in formato JSON, utile se si vuole esportarlo:
$ duf --json
Enjoy!
linux df duf
Commentami!