Aplikasi yang paling umum digunakan untuk melihat penggunaan disk di Linux dan Unix adalah du . Du, singkatan dari d isk u sage, sedang banyak digunakan untuk mengetahui file dan direktori mana yang menempati ruang disk paling banyak. Ada juga banyak baris perintah dan alat grafis lainnya untuk menyelesaikan tugas ini. Kami telah membahas beberapa dari mereka dan diposting di sini di blog kami di masa lalu. Hari ini, kami akan memeriksa penggunaan disk lain bernama duf .
Duf adalah utilitas baris perintah untuk menemukan penggunaan disk di Linux dan sistem mirip Unix. Ini menampilkan detail penggunaan disk dalam kolom tabular yang bagus dan tata letak yang ramah pengguna. Anda bahkan bisa mendapatkan output penggunaan disk di JSON formatnya juga.
Jika output melebihi bagian layar yang terlihat, maka secara otomatis akan menyesuaikan lebar terminal. Anda dapat mengurutkan hasil berdasarkan ukuran total, jenis sistem file, ruang yang digunakan dan kosong, titik pemasangan dan inode. Anda juga dapat menampilkan, menyembunyikan, dan mengecualikan detail perangkat tertentu dari output.
Duf adalah singkatan dari d isk u bijak/f ree. Ini adalah aplikasi open source yang ditulis dalam Go bahasa pemrograman dan dirilis di bawah lisensi MIT. Ia bekerja di bawah GNU/Linux, BSD dan Mac OS.
Instal Duf di Linux
Saat ini, Duf telah dikemas untuk sistem operasi Linux berbasis Arch, DEB dan berbasis RPM.
Duf tersedia dalam AUR . Jika Anda menggunakan Arch Linux atau varian arch apa pun, Anda dapat menginstalnya menggunakan program pembantu AUR, misalnya Yay .
$ yay -S duf
Pada sistem berbasis DEB seperti Debian, Ubuntu, Linux Mint, unduh file instalasi biner .deb dari halaman rilis dan instal menggunakan manajer paket sistem Anda.
$ sudo apt install gdebi
$ sudo gdebi duf_0.3.1_linux_amd64.deb
Pada sistem berbasis RPM seperti RHEL, CentOS, Fedora, unduh file biner .rpm dan instal menggunakan perintah:
$ sudo rpm -Uvh duf_0.3.1_linux_amd64.rpm
Kami juga dapat membangunnya dari sumber. Pastikan Anda telah menginstal bahasa GO di sistem Anda.
Git mengkloning repositori duf:
$ git clone https://github.com/muesli/duf.git
Perintah di atas akan mengkloning isi dari repositori online duf di direktori lokal bernama "duf". Buka direktori itu:
$ cd duf
Kompilasi dan instal menggunakan perintah:
$ go build
Melihat Penggunaan Disk Dengan Duf Di Linux Dan Unix
Menemukan penggunaan ruang disk dengan duf itu mudah!
Yang harus Anda lakukan hanyalah menjalankan duf
perintah tanpa opsi seperti di bawah ini:
$ duf
Contoh keluaran:
╭──────────────────────────────────────────────────────────────────────────────────────────╮
│ 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 │
╰────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────────┴────────────╯
Seperti yang Anda lihat pada output di atas, Duf mencantumkan detail berikut dalam format kolom-tabel yang bagus:
- jumlah total perangkat yang dipasang,
- titik pemasangan,
- ukuran total partisi root,
- ukuran total ruang disk yang digunakan dan kosong,
- total penggunaan disk dalam persentase,
- tipe sistem file,
- nama sistem file dll.
Untuk menampilkan semua detail termasuk sistem file semu, duplikat, dan tidak dapat diakses, jalankan:
$ duf --all
Contoh keluaran:
╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ 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 │
╰─────────────────────────────────┴────────┴────────┴────────┴───────────────────────────────┴─────────────┴─────────────╯
Kecualikan detail perangkat tertentu dari output
Terkadang, Anda mungkin ingin mengecualikan beberapa detail dari output. Misalnya, perintah berikut akan mengecualikan detail perangkat khusus (Misalnya /run/lock
, /sys/fs/bpf
).
$ duf --hide-special
Ini akan menampilkan rincian penggunaan disk perangkat lokal saja yaitu menghilangkan perangkat khusus dari output:
╭──────────────────────────────────────────────────────────────────────────────────────────╮
│ 1 local device │
├────────────┬────────┬────────┬───────┬───────────────────────────────┬──────┬────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├────────────┼────────┼────────┼───────┼───────────────────────────────┼──────┼────────────┤
│ / │ 457.4G │ 412.0G │ 22.1G │ [##################..] 90.1% │ ext4 │ /dev/sda1 │
╰────────────┴────────┴────────┴───────┴───────────────────────────────┴──────┴────────────╯
Opsi lain yang didukung adalah:
--hide-local
--hide-network
--hide-fuse
--hide-loops
--hide-binds
Urutkan keluaran
Kami dapat menampilkan detail penggunaan disk yang diurutkan berdasarkan berbagai parameter seperti:
mountpoint
,size
,used
,avail
,usage
,inodes
,inodes_used
,inodes_avail
,inodes_usage
,type
,filesystem
dll.
Misalnya, untuk mengurutkan keluaran berdasarkan ukuran, gunakan perintah ini:
$ duf --sort size
Urutkan keluaran berdasarkan sistem file:
$ duf --sort filesystem
Menampilkan atau menyembunyikan kolom tertentu
Mirip dengan mengecualikan beberapa detail perangkat dari output, kami juga dapat menampilkan atau menyembunyikan kolom tertentu dari output.
Perintah berikut akan menampilkan output dari mountpoint
, size
dan usage
kolom saja:
$ duf --output mountpoint,size,usage
Contoh keluaran:
╭─────────────────────────────────────────────────────╮
│ 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 │ │
╰────────────────┴────────┴───────────────────────────────╯
Daftar opsi yang didukung adalah:
mountpoint
,size
,used
,avail
,usage
,inodes
,inodes_used
,inodes_avail
,inodes_usage
,type
,filesystem
.
Tampilkan detail inode
Jika Anda ingin membuat daftar informasi inode alih-alih memblokir penggunaan, jalankan perintah ini:
$ duf --inodes
Menampilkan keluaran penggunaan disk dalam format JSON
Alih-alih menampilkan output dalam format kolom-tabel, kita dapat menampilkannya dalam format JSON.
Untuk melakukannya, jalankan:
$ duf --json
Contoh keluaran:
[
{
"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
}
]
Mendapatkan bantuan
Untuk menampilkan bagian bantuan dari utilitas duf, jalankan:
$ duf --help
Contoh keluaran:
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