Du (penggunaan disk) adalah perintah yang digunakan di Linux untuk memeriksa ukuran direktori termasuk konten lainnya serta ukuran file individual.
Ketika file dan direktori mulai menghabiskan banyak ruang disk pada hard disk Anda, maka du adalah perintah terbaik untuk mengetahui direktori atau file mana yang menyebabkan hal ini.
Dalam tutorial ini, kita belajar bagaimana menggunakan perintah du di Linux untuk memeriksa penggunaan disk (file atau direktori).
Perintah &Sintaks Du
Baris berikut menunjukkan sintaks perintah du:
du [options] [file or directory name]
Secara default, tanpa opsi apa pun, ini menampilkan penggunaan disk dari file atau direktori yang diberikan dan untuk setiap subdirektori dalam byte. Jika tidak ada file atau nama direktori yang disebutkan, maka du commad akan menampilkan penggunaan disk dari direktori kerja saat ini.
# du /boot
2508 /boot/grub2/fonts
3068 /boot/grub2/i386-pc
5592 /boot/grub2
4 /boot/efi/EFI/centos
8 /boot/efi/EFI
12 /boot/efi
16 /boot/loader/entries
20 /boot/loader
152440 /boot
Perintah du dengan -a
option mencetak penggunaan disk dari semua file dalam direktori.
# du -a /boot
7920 /boot/vmlinuz-4.18.0-147.5.1.el8_1.x86_64
3752 /boot/System.map-4.18.0-147.5.1.el8_1.x86_64
4 /boot/grub2/device.map
4 /boot/grub2/grub.cfg
4 /boot/grub2/grubenv
2504 /boot/grub2/fonts/unicode.pf2
2508 /boot/grub2/fonts
8 /boot/grub2/i386-pc/cs5536.mod
4 /boot/grub2/i386-pc/gcry_rsa.mod
8 /boot/grub2/i386-pc/lsacpi.mod
52 /boot/grub2/i386-pc/gcry_camellia.mod
4 /boot/grub2/i386-pc/cpio_be.mod
......
152440 /boot
Anda dapat melihat bahwa ia mencetak ukuran total di akhir perintah di mana '152440' adalah ukuran total (dalam byte) dari direktori '/boot'.
Dapatkan ukuran total direktori yang ditentukan
Untuk menampilkan ukuran total direktori tertentu, Anda harus menggunakan opsi -s tetapi tidak akan melaporkan subdirektori. Contoh berikut, menunjukkan ukuran total direktori '/boot'.
# du -s /boot
152440 /boot
Anda dapat mencetak total penggunaan disk dari beberapa direktori sebagai berikut:
# du -s /boot /var
152440 /boot
332168 /var
Format yang dapat dibaca manusia
Sejauh ini kita melihat ukuran disk ditampilkan dalam byte yang tidak banyak format yang dapat dibaca manusia. Untuk mencetak output dalam kilobyte (K), megabyte (M) dan gigabyte (G) kita harus menggunakan -h
pilihan.
# du -h /boot
2.5M /boot/grub2/fonts
3.0M /boot/grub2/i386-pc
5.5M /boot/grub2
4.0K /boot/efi/EFI/centos
8.0K /boot/efi/EFI
12K /boot/efi
16K /boot/loader/entries
20K /boot/loader
149M /boot
--si
pilihannya seperti -h
opsi tetapi menggunakan kekuatan 1000 bukannya 1024.
# du --si /boot
2.6M /boot/grub2/fonts
3.2M /boot/grub2/i386-pc
5.8M /boot/grub2
4.1k /boot/efi/EFI/centos
8.2k /boot/efi/EFI
13k /boot/efi
17k /boot/loader/entries
21k /boot/loader
157M /boot
Untuk mendapatkan ukuran total direktori tertentu dalam format yang dapat dibaca manusia yang sangat umum digunakan perintah du, gunakan perintah berikut:
# du -sh /boot
149M /boot
Gabungkan ukuran total keseluruhan
Ini sangat berguna ketika Anda ingin menggabungkan ukuran total pada beberapa direktori. Contoh berikut menggabungkan perintah du (-c
) total ukuran disk yang ditentukan (-s
) direktori '/boot' dan '/var' dan cetak pada baris terakhir dalam format yang dapat dibaca manusia (-h
):
# du -csh /boot/ /var
149M /boot/
317M /var
466M total
Menampilkan ukuran individual dari semua file dan direktori
Menggunakan wildcard (*) kita dapat mencetak ukuran individual dari setiap file dan direktori dan kemudian menggabungkan ukuran total untuk dicetak di baris terakhir.
# du -csh /boot/*
184K /boot/config-4.18.0-147.5.1.el8_1.x86_64
180K /boot/config-4.18.0-80.7.1.el8_0.x86_64
12K /boot/efi
0 /boot/grub
5.5M /boot/grub2
53M /boot/initramfs-0-rescue-3e729c2d7c094902af0333ce40564ffe.img
23M /boot/initramfs-4.18.0-147.5.1.el8_1.x86_64.img
23M /boot/initramfs-4.18.0-80.7.1.el8_0.x86_64.img
16M /boot/initramfs-4.18.0-80.7.1.el8_0.x86_64kdump.img
20K /boot/loader
3.7M /boot/System.map-4.18.0-147.5.1.el8_1.x86_64
3.6M /boot/System.map-4.18.0-80.7.1.el8_0.x86_64
7.6M /boot/vmlinuz-0-rescue-3e729c2d7c094902af0333ce40564ffe
7.8M /boot/vmlinuz-4.18.0-147.5.1.el8_1.x86_64
7.6M /boot/vmlinuz-4.18.0-80.7.1.el8_0.x86_64
149M total
Perintah Du dengan pencocokan Pola
Menggunakan perintah du Anda dapat melakukan pencocokan pola. Pada perintah berikut ini menunjukkan cara menemukan ukuran disk dari semua direktori yang dimulai dengan 'bo'.
# du -sch /bo*
149M /boot
217M /bootstrap
366M total
Menggunakan perintah du untuk mendapatkan ukuran yang jelas
--apparent-size
opsi mencetak ukuran nyata (jumlah data sebenarnya dalam file) daripada penggunaan disk.
# du --apparent-size /boot
2505 /boot/grub2/fonts
2544 /boot/grub2/i386-pc
5057 /boot/grub2
4 /boot/efi/EFI/centos
8 /boot/efi/EFI
12 /boot/efi
6 /boot/loader/entries
10 /boot/loader
151852 /boot
Periksa ukuran direktori yang menyertakan tautan keras
Menggunakan -l
atau --count-links
pilihan, ukurannya dihitung berkali-kali jika ditautkan keras. Secara default, tautan keras tidak ditampilkan.
Misalnya
# ls -li
total 648
755150 -rw-r--r-- 1 root root 4719 Apr 19 00:46 file1
755152 -rw-r--r-- 2 root root 312519 Apr 19 00:47 file2
755152 -rw-r--r-- 2 root root 312519 Apr 19 00:47 file2.hard
755153 lrwxrwxrwx 1 root root 19 Apr 19 00:57 file2.soft -> /etc/sysconfig/init
Di sini, file2.hard adalah tautan keras untuk file2. Sekarang perhatikan output dengan -l
dan tanpa itu.
# du -ah
4.0K ./file2.soft
316K ./file2
12K ./file1
340K .
# du -ahl
4.0K ./file2.soft
316K ./file2
12K ./file1
316K ./file2.hard
656K .
Perilaku default untuk tautan simbolik adalah tidak melakukan dereferensi. Untuk mereferensikan tautan simbolik, -L
atau --dereference
opsi digunakan
# du -ahL
8.0K ./file2.soft
316K ./file2
12K ./file1
344K .
(Perhatikan bahwa ukuran untuk file2.soft telah berubah sekarang)
-P
atau --no-dereference
option tidak mereferensikan symlink ini (yang merupakan perilaku default seperti yang dinyatakan di atas).
Tampilkan penggunaan disk pada sub direktori level 'N'
Opsi ini menginstruksikan du command untuk membuat daftar subdirektori dan ukurannya ke tingkat kedalaman yang kita inginkan.
Misalnya, contoh di bawah ini mencantumkan direktori ke tingkat pertama hanya di pohon direktori saat ini dan ukurannya. Bahkan total konsumsi ruang juga dilaporkan di sini. Jika kita mengatur --max-depth=
ke nol, maka perintah du tidak akan mencantumkan subdirektori apa pun dan hanya akan melaporkan ukuran direktori yang dipilih.
# du --max-depth=1 -h /boot/
7.1M /boot/grub
110M /boot/
Perintah Du untuk mengecualikan file
Perintah Du dapat mengecualikan direktori tertentu menggunakan --exclude
pilihan. Dalam contoh berikut saya telah mengecualikan direktori 'grub2':
# du --exclude=grub2 /boot/
4 /boot/efi/EFI/centos
8 /boot/efi/EFI
12 /boot/efi
16 /boot/loader/entries
20 /boot/loader
146848 /boot/
Berikut adalah dua contoh untuk menunjukkan cara mengecualikan file '*.obj' atau '*.jpg'.
# du -h –exclude=’*.obj’
# du -h –exclude=’*.jpg’
Gunakan perintah du untuk mencetak waktu modifikasi
Waktu modifikasi file dan/atau direktori (atau file/direktori dalam subdirektori) dapat ditampilkan dengan --time
pilihan.
# du /boot/ --time
4 2017-03-23 15:03 /boot/grub/locale
2348 2017-03-23 15:03 /boot/grub/fonts
2480 2017-03-23 15:03 /boot/grub/i386-pc
7212 2017-04-05 08:31 /boot/grub
112180 2017-04-05 08:31 /boot/
Gunakan du dengan perintah lain
Perintah Du dapat digabungkan dengan perintah lain menggunakan pipa (|). Mari kita periksa beberapa contoh
Jika kita ingin menemukan 3 direktori teratas berdasarkan ukuran di direktori kerja saat ini:
# du -skh * | sort -nr | head -3
386M lib
252M share
154M lib64
Tampilkan semua file dan direktori yang diurutkan berdasarkan ukuran:
# du -sk * | sort -n
12160 libexec
37552 sbin
58900 bin
70048 src
157456 lib64
257492 share
394504 lib
Kesimpulan
Dalam tutorial ini, kita belajar bagaimana menggunakan perintah du di Linux untuk memperkirakan penggunaan disk untuk file dan direktori. Saya harap Anda menikmati membaca dan silakan tinggalkan saran Anda di bagian komentar di bawah.