Selama beberapa periode waktu, disk drive Anda mungkin akan berantakan dengan banyaknya file yang sebenarnya tidak perlu mengambil banyak ruang disk. Biasanya, kapasitas drive Linux kehabisan ruang disk karena file log atau backup lawas yang besar.

Tutorial ini menjelaskan cara menemukan file dan direktori besar di sistem Linux menggunakan perintah find and du.

Temukan File Besar Menggunakan Perintah find

Perintah find adalah salah amunisi paling ampuh bagi administrator sistem Linux. Perintah ini memungkinkan Anda untuk mencari file dan direktori berdasarkan kriteria yang berbeda termasuk ukuran file.

Misalnya, jika ingin mencari file dengan ukuran lebih besar dari 100MB, di direktori kerja saat ini, Anda dapat menggunakan perintah berikut:

sudo find . -xdev -type f -size +100M

Ganti .  (yang di sorot warna kuning) dengan jalur ke direktori tempat di mana Anda ingin mencari file besar.

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.iso
/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

Perintah find juga dapat digunakan dalam kombinasi dengan alat lain seperti ls atau sort untuk melakukan operasi pada file-file tersebut.

Di sini kita akan meneruskan output dari perintah find ke perintah ls yang akan mencetak ukuran dari setiap file yang ditemukan dan kemudian pipe output ke perintah sort 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.iso
-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 perintah head 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: cari file (-type f) di direktori kerja saat ini (.), yang lebih besar dari 100MB (-size +100M), jangan turun direktori di file sistem lain  (-xdev) dan cetak nama file lengkap pada output standar, diikuti oleh baris baru (-print).
  • xargs ls -lh: gunakan xargs untuk mengeksekusi perintah ls -lh yang akan mencetak output dalam daftar panjang dengan format yang mudah dibaca manusia.
  • sort -k5,5 -h -r: sortir baris berdasarkan kolom ke-5 (-k5,5), bandingkan format yang mudah dibaca manusia (-h) dan reverse hasilnya (-r).
  • head: hanya mencetak 10 baris pertama dari output yang disalurkan.

Perintah find hadir dengan banyak opsi hebat. Misalnya, Anda dapat mencari file besar yang berumur mulai atau lebih dari x hari, file besar dengan ekstensi spesifik atau file besar milik pengguna tertentu.

Temukan File dan Direktori Besar Menggunakan Perintah du

Perintah du digunakan untuk memperkirakan penggunaan ruang file, dan perintah ini sangat berguna untuk menemukan direktori dan file yang menggunakan banyak ruang disk.

du -ahx . | sort -rh | head -5

output dari perintah diatas adalah :

60G	.
25G	./.vagrant.d/boxes
25G	./.vagrant.d
16G	./Projects
5.2G	./.minikube

Penjelasan perintah:

  • du -ahx . : Memperkirakan penggunaan ruang disk dalam direktori kerja saat ini (.), hitung file dan direktori (a), cetak ukuran dalam format yang mudah dibaca manusia (h) dan skip direktori apapun di file sistem yang berbeda (x).
  • sort -rh: urutkan baris dengan membandingkan format yang mudah dibaca manusia (-h) dan reverse (membalikkan) hasilnya (-r).
  • head -5: hanya mencetak 5 baris pertama dari output yang disalurkan.

Perintah du mencakup opsi lain yang dapat Anda gunakan untuk melihat output dari penggunaan ruang disk.

Kesimpulan

Anda telah belajar cara menemukan file dengan ukuran besar di sistem Anda, Anda mungkin ingin membaca panduan kami tentang Cara Menghapus File dan Direktori Menggunakan Baris perintah Linux.