GNU/Linux >> Znalost Linux >  >> Linux

Jak zobrazit využití disku s Duf na Linuxu a Unixu

Nejčastěji používanou aplikací pro zobrazení využití disku v Linuxu a Unixu je du . Du, znamená d sk u sage, je široce používán ke zjištění, které soubory a adresáře zabírají nejvíce místa na disku. Pro splnění tohoto úkolu existuje také mnoho dalších příkazových řádků a grafických nástrojů. Některými z nich jsme se již v minulosti zabývali a publikovali zde na našem blogu. Dnes se podíváme na další kontrolu využití disku s názvem duf .

Duf je nástroj příkazového řádku pro zjištění využití disku v systémech Linux a Unix. Zobrazuje podrobnosti o využití disku v pěkném tabulkovém a uživatelsky přívětivém uspořádání. Můžete dokonce získat výstup o využití disku v JSON také formát.

Pokud výstup přesahuje viditelnou část obrazovky, automaticky upraví šířku terminálu. Výsledky můžete třídit podle celkové velikosti, typu souborového systému, použitého a volného místa, bodu připojení a inodů. Je také možné zobrazit, skrýt a vyloučit konkrétní detaily zařízení z výstupu.

Duf je kontrakce d sk u mudrc/f ree. Je to open source aplikace napsaná v Go programovací jazyk a vydán pod licencí MIT. Funguje pod GNU/Linux, BSD a Mac OS.

Nainstalujte Duf na Linux

V současné době je Duf zabalen pro operační systémy Linux založené na Arch, DEB a RPM.

Duf je k dispozici v AUR . Pokud používáte Arch Linux nebo jakoukoli variantu archu, můžete jej nainstalovat pomocí pomocných programů AUR, například Yay .

$ yay -S duf

Na systémech založených na DEB, jako je Debian, Ubuntu, Linux Mint, si stáhněte binární instalační soubor .deb ze stránky vydání a nainstalujte jej pomocí systémového správce balíčků.

$ sudo apt install gdebi
$ sudo gdebi duf_0.3.1_linux_amd64.deb

Na systémech založených na RPM, jako je RHEL, CentOS, Fedora, si stáhněte binární soubor .rpm a nainstalujte jej pomocí příkazu:

$ sudo rpm -Uvh duf_0.3.1_linux_amd64.rpm

Můžeme to také postavit ze zdroje. Ujistěte se, že máte nainstalovaný jazyk GO ve vašem systému.

Git klonuje úložiště duf:

$ git clone https://github.com/muesli/duf.git

Výše uvedený příkaz naklonuje obsah online úložiště duf do místního adresáře s názvem „duf“. Přejděte do tohoto adresáře:

$ cd duf

Zkompilujte a nainstalujte jej pomocí příkazu:

$ go build

Zobrazení využití disku s Duf na Linuxu a Unixu

Zjištění využití místa na disku pomocí duf je snadné!

Jediné, co musíte udělat, je spustit duf příkaz bez jakýchkoli možností, jak je uvedeno níže:

$ duf

Ukázkový výstup:

╭──────────────────────────────────────────────────────────────────────────────────────────╮
│ 1 local device                                                                           │
├────────────┬────────┬────────┬───────┬───────────────────────────────┬──────┬────────────┤
│ MOUNTED ON │   SIZE │   USED │ AVAIL │              USE%             │ TYPE │ FILESYSTEM │
├────────────┼────────┼────────┼───────┼───────────────────────────────┼──────┼────────────┤
│ /          │ 457.4G │ 412.1G │ 22.1G │ [##################..]  90.1% │ ext4 │ /dev/sda1  │
╰────────────┴────────┴────────┴───────┴───────────────────────────────┴──────┴────────────╯
╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 7 special devices                                                                                 │
├────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────────┬────────────┤
│ MOUNTED ON     │   SIZE │   USED │  AVAIL │              USE%             │ TYPE     │ FILESYSTEM │
├────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────────┼────────────┤
│ /dev           │   3.8G │     0B │   3.8G │                               │ devtmpfs │ udev       │
│ /dev/shm       │   3.8G │ 235.3M │   3.6G │ [#...................]   6.0% │ tmpfs    │ tmpfs      │
│ /run           │ 787.0M │   1.8M │ 785.2M │ [....................]   0.2% │ tmpfs    │ tmpfs      │
│ /run/lock      │   5.0M │   4.0K │   5.0M │ [....................]   0.1% │ tmpfs    │ tmpfs      │
│ /run/snapd/ns  │ 787.0M │   1.8M │ 785.2M │ [....................]   0.2% │ tmpfs    │ tmpfs      │
│ /run/user/1000 │ 787.0M │ 238.2M │ 548.8M │ [######..............]  30.3% │ tmpfs    │ tmpfs      │
│ /sys/fs/cgroup │   3.8G │     0B │   3.8G │                               │ tmpfs    │ tmpfs      │
╰────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────────┴────────────╯

Jak můžete vidět na výše uvedeném výstupu, Duf uvádí následující podrobnosti v pěkném tabulkovém sloupcovém formátu:

  • celkový počet připojených zařízení,
  • přípojný bod,
  • celková velikost kořenového oddílu,
  • celková velikost použitého a volného místa na disku,
  • celkové využití disku v procentech,
  • typ systému souborů,
  • název systému souborů atd.

Chcete-li zobrazit všechny podrobnosti včetně pseudo, duplicitních a nepřístupných souborových systémů, spusťte:

$ duf --all

Ukázkový výstup:

╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 24 local devices                                                                                                  │
├────────────────────────────────┬────────┬────────┬───────┬───────────────────────────────┬──────────┬─────────────┤
│ MOUNTED ON                     │   SIZE │   USED │ AVAIL │              USE%             │ TYPE     │ FILESYSTEM  │
├────────────────────────────────┼────────┼────────┼───────┼───────────────────────────────┼──────────┼─────────────┤
│ /                              │ 457.4G │ 412.1G │ 22.1G │ [##################..]  90.1% │ ext4     │ /dev/sda1   │
│ /run/snapd/ns/multipass.mnt    │     0B │     0B │    0B │                               │ nsfs     │ nsfs        │
│ /snap/bashtop/128              │  23.1M │  23.1M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop0  │
│ /snap/bashtop/134              │  23.1M │  23.1M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop1  │
│ /snap/chromium/1298            │ 162.1M │ 162.1M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop2  │
│ /snap/chromium/1320            │ 162.0M │ 162.0M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop3  │
│ /snap/core/9804                │  96.6M │  96.6M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop4  │
│ /snap/core/9993                │  97.1M │  97.1M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop6  │
│ /snap/core18/1880              │  55.0M │  55.0M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop15 │
│ /snap/core18/1885              │  55.4M │  55.4M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop5  │
│ /snap/gifcurry/8               │ 149.0M │ 149.0M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop7  │
│ /snap/gnome-3-26-1604/100      │ 140.8M │ 140.8M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop16 │
│ /snap/gnome-3-26-1604/98       │ 140.8M │ 140.8M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop8  │
│ /snap/gnome-3-28-1804/116      │ 160.2M │ 160.2M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop14 │
│ /snap/gnome-3-28-1804/128      │ 161.5M │ 161.5M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop10 │
│ /snap/gnome-3-34-1804/33       │ 255.6M │ 255.6M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop9  │
│ /snap/gnome-3-34-1804/36       │ 255.6M │ 255.6M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop11 │
│ /snap/gnome-system-monitor/145 │   2.2M │   2.2M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop17 │
│ /snap/gnome-system-monitor/148 │   2.2M │   2.2M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop18 │
│ /snap/gtk-common-themes/1502   │  54.9M │  54.9M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop12 │
│ /snap/gtk-common-themes/1506   │  62.1M │  62.1M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop13 │
│ /snap/multipass/2531           │ 220.0M │ 220.0M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop19 │
│ /snap/multipass/2604           │ 220.0M │ 220.0M │    0B │ [####################] 100.0% │ squashfs │ /dev/loop20 │
│ /sys/fs/fuse/connections       │     0B │     0B │    0B │                               │ fusectl  │ fusectl     │
╰────────────────────────────────┴────────┴────────┴───────┴───────────────────────────────┴──────────┴─────────────╯
╭─────────────────────────────────────────────────────────────────────────────────╮
│ 1 FUSE device                                                                   │
├─────────────────────┬──────┬──────┬───────┬──────┬─────────────────┬────────────┤
│ MOUNTED ON          │ SIZE │ USED │ AVAIL │ USE% │ TYPE            │ FILESYSTEM │
├─────────────────────┼──────┼──────┼───────┼──────┼─────────────────┼────────────┤
│ /run/user/1000/gvfs │   0B │   0B │    0B │      │ fuse.gvfsd-fuse │ gvfsd-fuse │
╰─────────────────────┴──────┴──────┴───────┴──────┴─────────────────┴────────────╯
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 32 special devices                                                                                                     │
├─────────────────────────────────┬────────┬────────┬────────┬───────────────────────────────┬─────────────┬─────────────┤
│ MOUNTED ON                      │   SIZE │   USED │  AVAIL │              USE%             │ TYPE        │ FILESYSTEM  │
├─────────────────────────────────┼────────┼────────┼────────┼───────────────────────────────┼─────────────┼─────────────┤
│ /dev                            │   3.8G │     0B │   3.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                        │   3.8G │ 224.1M │   3.6G │ [#...................]   5.7% │ tmpfs       │ tmpfs       │
│ /proc                           │     0B │     0B │     0B │                               │ proc        │ proc        │
│ /proc/sys/fs/binfmt_misc        │     0B │     0B │     0B │                               │ binfmt_misc │ binfmt_misc │
│ /run                            │ 787.0M │   1.8M │ 785.2M │ [....................]   0.2% │ tmpfs       │ tmpfs       │
│ /run/lock                       │   5.0M │   4.0K │   5.0M │ [....................]   0.1% │ tmpfs       │ tmpfs       │
│ /run/snapd/ns                   │ 787.0M │   1.8M │ 785.2M │ [....................]   0.2% │ tmpfs       │ tmpfs       │
│ /run/user/1000                  │ 787.0M │ 238.2M │ 548.8M │ [######..............]  30.3% │ tmpfs       │ tmpfs       │
│ /sys                            │     0B │     0B │     0B │                               │ sysfs       │ sysfs       │
│ /sys/fs/bpf                     │     0B │     0B │     0B │                               │ bpf         │ none        │
│ /sys/fs/cgroup                  │   3.8G │     0B │   3.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/hugetlb          │     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/config              │     0B │     0B │     0B │                               │ configfs    │ configfs    │
│ /sys/kernel/debug               │     0B │     0B │     0B │                               │ debugfs     │ debugfs     │
│ /sys/kernel/security            │     0B │     0B │     0B │                               │ securityfs  │ securityfs  │
│ /sys/kernel/tracing             │     0B │     0B │     0B │                               │ tracefs     │ tracefs     │
╰─────────────────────────────────┴────────┴────────┴────────┴───────────────────────────────┴─────────────┴─────────────╯

Vyloučit z výstupu konkrétní podrobnosti o zařízení

Někdy můžete chtít vyloučit některé detaily z výstupu. Například následující příkaz vyloučí podrobnosti o speciálních zařízeních (např. /run/lock , /sys/fs/bpf ).

$ duf --hide-special

Tím se zobrazí podrobnosti o využití disku pouze pro místní zařízení, tj. vyloučí speciální zařízení z výstupu:

╭──────────────────────────────────────────────────────────────────────────────────────────╮
│ 1 local device                                                                           │
├────────────┬────────┬────────┬───────┬───────────────────────────────┬──────┬────────────┤
│ MOUNTED ON │   SIZE │   USED │ AVAIL │              USE%             │ TYPE │ FILESYSTEM │
├────────────┼────────┼────────┼───────┼───────────────────────────────┼──────┼────────────┤
│ /          │ 457.4G │ 412.0G │ 22.1G │ [##################..]  90.1% │ ext4 │ /dev/sda1  │
╰────────────┴────────┴────────┴───────┴───────────────────────────────┴──────┴────────────╯

Další podporované možnosti jsou:

  • --hide-local
  • --hide-network
  • --hide-fuse
  • --hide-loops
  • --hide-binds

Seřadit výstup

Můžeme zobrazit podrobnosti o využití disku seřazené podle různých parametrů, například: 

  • mountpoint
  • size
  • used
  • avail
  • usage
  • inodes
  • inodes_used
  • inodes_avail
  • inodes_usage
  • type
  • filesystem atd.

Chcete-li například seřadit výstup podle velikosti, použijte tento příkaz:

$ duf --sort size

Seřadit výstup podle systému souborů:

$ duf --sort filesystem

Zobrazit nebo skrýt konkrétní sloupce

Podobně jako k vyloučení některých detailů zařízení z výstupu můžeme také zobrazit nebo skrýt konkrétní sloupec z výstupu.

Následující příkaz zobrazí výstup mountpoint , size a usage pouze sloupce:

$ duf --output mountpoint,size,usage

Ukázkový výstup:

╭─────────────────────────────────────────────────────╮
│ 1 local device                                      │
├────────────┬────────┬───────────────────────────────┤
│ MOUNTED ON │   SIZE │              USE%             │
├────────────┼────────┼───────────────────────────────┤
│ /          │ 457.4G │ [##################..]  90.1% │
╰────────────┴────────┴───────────────────────────────╯
╭─────────────────────────────────────────────────────────╮
│ 7 special devices                                       │
├────────────────┬────────┬───────────────────────────────┤
│ MOUNTED ON     │   SIZE │              USE%             │
├────────────────┼────────┼───────────────────────────────┤
│ /dev           │   3.8G │                               │
│ /dev/shm       │   3.8G │ [#...................]   6.9% │
│ /run           │ 787.0M │ [....................]   0.2% │
│ /run/lock      │   5.0M │ [....................]   0.1% │
│ /run/snapd/ns  │ 787.0M │ [....................]   0.2% │
│ /run/user/1000 │ 787.0M │ [######..............]  30.3% │
│ /sys/fs/cgroup │   3.8G │                               │
╰────────────────┴────────┴───────────────────────────────╯

Seznam podporovaných možností je:

  • mountpoint
  • size
  • used
  • avail
  • usage
  • inodes
  • inodes_used
  • inodes_avail
  • inodes_usage
  • type
  • filesystem .

Zobrazit podrobnosti inode

Pokud chcete místo použití bloku vypsat informace o inode, spusťte tento příkaz:

$ duf --inodes

Zobrazte výstup využití disku ve formátu JSON

Místo zobrazení výstupu ve formátu tabulkového sloupce jej můžeme zobrazit ve formátu JSON.

Chcete-li to provést, spusťte:

$ duf --json

Ukázkový výstup:

[
 {
  "device": "sysfs",
  "device_type": "special",
  "mount_point": "/sys",
  "fs_type": "sysfs",
  "type": "sysfs",
  "opts": "rw,nosuid,nodev,noexec,relatime",
  "total": 0,
  "free": 0,
  "used": 0,
  "inodes": 0,
  "inodes_free": 0,
  "inodes_used": 0,
  "blocks": 0,
  "block_size": 4096
 },
.
.
.
{
  "device": "binfmt_misc",
  "device_type": "special",
  "mount_point": "/proc/sys/fs/binfmt_misc",
  "fs_type": "binfmt_misc",
  "type": "binfmt_misc",
  "opts": "rw,nosuid,nodev,noexec,relatime",
  "total": 0,
  "free": 0,
  "used": 0,
  "inodes": 0,
  "inodes_free": 0,
  "inodes_used": 0,
  "blocks": 0,
  "block_size": 4096
 }
]

Získání nápovědy

Chcete-li zobrazit sekci nápovědy nástroje duf, spusťte:

$ duf --help

Ukázkový výstup:

Usage of duf:
  -all
    	include pseudo, duplicate, inaccessible file systems
  -hide-binds
    	hide bind mounts (default true)
  -hide-fuse
    	hide fuse devices
  -hide-local
    	hide local devices
  -hide-loops
    	hide loop devices (default true)
  -hide-network
    	hide network devices
  -hide-special
    	hide special devices
  -inodes
    	list inode information instead of block usage
  -json
    	output all devices in JSON format
  -output string
    	output fields: mountpoint, size, used, avail, usage, inodes, inodes_used, inodes_avail, inodes_usage, type, filesystem
  -sort string
    	sort output by: mountpoint, size, used, avail, usage, inodes, inodes_used, inodes_avail, inodes_usage, type, filesystem (default "mountpoint")
  -width uint
    	max output width

Linux
  1. Flatpak na Linuxu:Co to je a jak s ním instalovat aplikace

  2. Jak připojit USB disk v UNIX nebo Linux

  3. Jak zobrazit minulý výkon se sar v Linuxu

  1. Jak zkontrolovat využití místa na disku v Linuxu

  2. Jak klonovat disky pomocí příkazu Linux dd

  3. Jak zobrazit využití disku v cPanel

  1. Jak monitorovat využití sítě pomocí nload v Linuxu

  2. Jak zkontrolovat využití místa na disku v Linuxu pomocí Ncdu

  3. Jak zobrazit statistiky systému Linux pomocí Saidar