Perintah find pada sistem operasi Linux berfungsi untuk mencari file atau direktori berdasarkan nama, ukuran, jenis file dan sebagainya.

Cara mencari file berdasarkan nama

Perintah berikut untuk mencari file bernama dokumen.pdf di dalam direktori saat ini (.).

$ find . -name "dokumen.pdf"

Gunakan opsi -iname untuk mengaktifkan mode case-insensitive pada hasil pencarian, yaitu dOkUmEn.pdf dan dokumen.pdf dianggap sama.

$ find . -iname "dokumen.pdf"

Cara mencari file berdasarkan ekstensi

Kalian dapat menggunakan pola wildcard untuk mencari file berdasarkan ekstensinya.

Contoh perintah berikut untuk mencari file yang berekstensi .txt.

$ find . -name "*.txt"

Harap beri tanda petik di antara simbol bintang (*) agar tidak diinterpretasikan oleh shell.

Cara mencari file berdasarkan jenis file

Kalian perlu menambahkan opsi -type untuk mencari file berdasarkan jenis file.

Untuk mencari file biasa, gunakan opsi -type f.

$ find . -type f

Untuk mencari direktori, gunakan opsi -type d.

$ find . -type d

Untuk mencari file yang bertipe symlink, gunakan opsi -type l.

$ find . -type l

Cara mencari file berdasarkan permission

Kalian dapat menggunakan opsi -perm untuk mencari file berdasarkan permission-nya.

Misalnya, perintah berikut untuk mencari file yang memiliki permission 755.

$ find . -perm 755

Cara mencari file berdasarkan ukuran

Untuk mencari file berdasarkan ukurannya, gunakan opsi -size diikuti nilai dan satuan ukuran file.

Satuan ukuran file, antara lain c untuk satuan ukuran bytes, k untuk kibibytes, M dan G untuk mebibytes dan gibibytes.

Misalnya, pada contoh berikut untuk mencari file yang berukuran kurang dari 1MiB.

$ find . -type f -size 1M

Perintah find berikut untuk mencari file yang lebih besar dari 1MiB.

$ find . -type f -size +1M

Kalau ingin mencari file yang berukuran lebih besar 1MiB dan lebih kecil dari 10MiB, gunakan perintah berikut.

$ find . -type f -size +1M -size 10M

Cara menggunakan opsi -exec pada perintah find

Kalian dapat menjalankan perintah tertentu terhadap file yang telah ditemukan dengan opsi -exec.

Misalnya, perintah berikut untuk mengganti user pada file yang awalnya root menjadi www-data.

$ find /var/www -user root -type f  -exec chown www-data {} \;

Cara menghapus file kosong

Kalian dapat menggunakan perintah find untuk menghapus file kosong dengan mengombinasikan opsi -empty dan -delete.

find . -type f -empty -delete