Saat membuat daftar isi direktori menggunakan ls
perintah, Anda mungkin telah memperhatikan bahwa ukuran direktori hampir selalu 4096 byte (4 KB). Itu adalah ukuran ruang pada disk yang digunakan untuk menyimpan informasi meta untuk direktori, bukan isinya.
Perintah yang ingin Anda gunakan untuk mendapatkan ukuran sebenarnya dari sebuah direktori adalah du
, yang merupakan kependekan dari “penggunaan disk”.
Mendapatkan Ukuran Direktori #
du
perintah menampilkan jumlah ruang file yang digunakan oleh file atau direktori tertentu. Jika jalur yang ditentukan adalah direktori, du
merangkum penggunaan disk dari setiap subdirektori di direktori itu. Jika tidak ada jalur yang ditentukan, du
melaporkan penggunaan disk dari direktori kerja saat ini.
Saat dipanggil tanpa opsi apa pun, du
menampilkan penggunaan disk dari direktori yang diberikan dan setiap subdirektori dalam byte.
Biasanya, Anda ingin menampilkan ruang yang ditempati oleh direktori dalam format yang dapat dibaca manusia. Misalnya, untuk mendapatkan ukuran total /var
direktori, Anda akan menjalankan perintah berikut:
sudo du -sh /var
Outputnya akan terlihat seperti ini:
85G /var
Mari kita jelaskan perintah dan argumennya:
- Perintah dimulai dengan
sudo
karena sebagian besar file dan direktori berada di dalam/var
direktori dimiliki oleh pengguna root dan tidak dapat dibaca oleh pengguna biasa. Jika Anda menghilangkansudo
du
perintah akan mencetak “du:tidak dapat membaca direktori”. s
- Hanya tampilkan ukuran total direktori yang ditentukan, jangan tampilkan total ukuran file untuk subdirektori.h
- Ukuran cetak dalam format yang dapat dibaca manusia (h
)./var
- Jalur ke direktori yang ingin Anda dapatkan ukurannya.
Bagaimana jika Anda ingin menampilkan penggunaan disk dari subdirektori tingkat pertama? Anda memiliki dua pilihan. Yang pertama adalah menggunakan simbol asterisk (*
) seperti yang ditunjukkan di bawah ini, yang berarti “cocokkan semua yang tidak dimulai dengan titik (.
)”. -c
opsi memberitahu du
untuk mencetak total semua ukuran:
sudo du -shc /var/*
24K /var/db
4.0K /var/empty
4.0K /var/games
77G /var/lib
4.0K /var/local
0 /var/lock
3.3G /var/log
0 /var/mail
4.0K /var/opt
0 /var/run
196K /var/spool
28K /var/tmp
85G total
Cara lain untuk mendapatkan laporan tentang penggunaan disk dari subdirektori tingkat pertama adalah dengan menggunakan --max-depth
pilihan:
sudo du -h --max-depth=1 /var
77G /var/lib
24K /var/db
4.0K /var/empty
4.0K /var/local
4.0K /var/opt
196K /var/spool
4.0K /var/games
3.3G /var/log
5.0G /var/cache
28K /var/tmp
85G /var
85G total
Secara default, du
perintah menunjukkan ruang disk yang digunakan oleh direktori atau file. Untuk menemukan ukuran direktori yang terlihat, gunakan --apparent-size
pilihan. "Ukuran nyata" dari sebuah file adalah berapa banyak data yang sebenarnya ada dalam file tersebut.
sudo du -sh --apparent-size /var
Saat Anda mentransfer direktori melalui SCP, Rsync., atau SFTP, jumlah data yang ditransfer melalui jaringan adalah ukuran file yang terlihat. Inilah sebabnya mengapa ukuran ruang pada disk yang digunakan pada sumber saat ditampilkan dengan du
(tanpa --apparent-size
) tidak sama dengan ukuran pada target.
du
perintah juga dapat digabungkan dengan perintah lain dengan pipa.
Misalnya, untuk mencetak 5 direktori terbesar dalam /var
direktori, Anda akan menyalurkan output du
ke sort
perintah untuk mengurutkan direktori berdasarkan ukurannya dan kemudian menyalurkan output ke head
perintah yang hanya akan mencetak 5 direktori teratas:
sudo du -h /var/ | sort -rh | head -5
85G /var/
77G /var/lib
75G /var/lib/libvirt/images
75G /var/lib/libvirt
5.0G /var/cache/pacman/pkg
Kesimpulan #
Di Linux, Anda bisa mendapatkan ukuran direktori menggunakan du
perintah.
Jika Anda memiliki pertanyaan atau komentar, tinggalkan komentar di bawah.