Duf: un'alternativa al comando df in Linux

Mattepuffo's logo
Duf: un'alternativa al comando df in Linux

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!


Condividi

Commentami!