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
: gunakanxargs
untuk mengeksekusi perintahls -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.