GNU/Linux >> Belajar Linux >  >> Linux

Cara Menggunakan du Command di Linux

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.


Linux
  1. Cara menggunakan perintah grep Linux

  2. Cara menggunakan perintah history di Linux

  3. Cara Menggunakan Perintah Layar Linux

  1. Cara menggunakan Perintah Su di Linux

  2. Cara menggunakan Perintah ldconfig di Linux

  3. Cara menggunakan Perintah ipset di Linux

  1. Cara Menggunakan Perintah sejarah Linux

  2. Cara Menggunakan Perintah Disown di Linux

  3. Cara Menggunakan Perintah SS Linux