Seiring waktu, drive disk Anda mungkin menjadi berantakan dengan banyak file yang tidak perlu yang menghabiskan banyak ruang disk. Biasanya, sistem Linux kehabisan ruang disk karena file log atau cadangan yang besar.
Tutorial ini menjelaskan cara menemukan file dan direktori terbesar di sistem Linux menggunakan find
dan du
perintah.
Temukan File Besar Menggunakan find
Perintah #
find
command adalah salah satu alat paling kuat di gudang sistem administrator Linux. Ini memungkinkan Anda untuk mencari file dan direktori berdasarkan kriteria yang berbeda, termasuk ukuran file.
Misalnya, untuk mencari file dengan ukuran lebih besar dari 100 MB, di direktori kerja saat ini, Anda akan menjalankan perintah berikut:
sudo find . -xdev -type f -size +100M
Ganti .
dengan jalur ke direktori tempat Anda ingin mencari file terbesar. Output akan menampilkan daftar file tanpa informasi tambahan.
/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img
find
perintah juga dapat digunakan dalam kombinasi dengan alat lain seperti ls
atau sort
untuk melakukan operasi pada file tersebut.
Pada contoh di bawah ini, kita melewatkan output dari find
perintah ke ls
yang akan mencetak ukuran setiap file yang ditemukan dan kemudian menyalurkan output itu ke sort
perintah untuk mengurutkannya berdasarkan kolom ke-5 yang merupakan ukuran file.
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
Outputnya akan terlihat seperti ini:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
Jika output berisi banyak baris informasi, Anda dapat menggunakan head
perintah untuk mencetak hanya 10 baris pertama:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
Mari kita uraikan perintahnya:
find . -xdev -type f -size +100M -print
- hanya mencari file (-type f
) di direktori kerja saat ini (.
), lebih besar dari 100MB (-size +100M
), jangan turun direktori pada sistem file lain (-xdev
) dan cetak nama file lengkap pada keluaran standar, diikuti dengan baris baru (-print
).xargs ls -lh
- output darifind
perintah disalurkan kexargs
yang mengeksekusils -lh
perintah yang akan mencetak output dalam format daftar panjang yang dapat dibaca manusia.sort -k5,5 -h -r
- mengurutkan baris berdasarkan kolom ke-5 (-k5,5
), bandingkan nilai dalam format yang dapat dibaca manusia (-h
) dan balikkan hasilnya (-r
).head
:hanya mencetak 10 baris pertama dari output yang disalurkan.
find
perintah datang dengan banyak pilihan yang kuat. Misalnya, Anda dapat mencari file besar yang lebih lama dari x hari, file besar dengan ekstensi tertentu, atau file besar milik pengguna tertentu.
Temukan File dan Direktori Besar Menggunakan du
Perintah #
du
perintah digunakan untuk memperkirakan penggunaan ruang file, dan ini sangat berguna untuk menemukan direktori dan file yang menghabiskan banyak ruang disk.
Perintah berikut akan mencetak file dan direktori terbesar:
du -ahx . | sort -rh | head -5
Kolom pertama berisi ukuran file dan kolom kedua berisi nama file:
55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projects
5.2G ./.minikube
Penjelasan perintah:
du -ahx .
:memperkirakan penggunaan ruang disk di direktori kerja saat ini (.
), hitung file dan direktori (a
), ukuran cetak dalam format yang dapat dibaca manusia (h
), dan lewati direktori pada sistem file yang berbeda (x
).sort -rh
:mengurutkan baris dengan membandingkan nilai dalam format yang dapat dibaca manusia (-h
) dan balikkan hasilnya (-r
).head -5
:hanya mencetak lima baris pertama dari output yang disalurkan.
du
perintah memiliki banyak opsi lain yang dapat digunakan untuk menyempurnakan keluaran penggunaan ruang disk.
Kesimpulan #
Kami telah menunjukkan kepada Anda cara menemukan file dan direktori terbesar menggunakan find
dan du
perintah.
Sekarang setelah Anda mempelajari cara menemukan file terbesar di sistem Anda, Anda mungkin ingin membaca panduan kami tentang Cara Menghapus File dan Direktori Menggunakan Baris Perintah Linux.
Jika Anda memiliki pertanyaan atau komentar, silakan tinggalkan komentar di bawah.