DEV Community

Fega Suseno
Fega Suseno

Posted on • Edited on

Using Find Command on Linux

Pada postingan ini kita akan membahas Find command line pada linux yang menurut saya sangat penting dan banyak manfaat. Dengan command ini kita bisa mencari atau mengeksekusi perintah.

Oke kita langsung saja ke penggunaan command ini. Untuk basic penggunaanya sesederhana ini

find file_atau_folder
Enter fullscreen mode Exit fullscreen mode

Misalkan kita ingin mencari file dengan nama tertentu cukup dengan seperti ini

find playbook.yml
find playbook*
find *book*
Enter fullscreen mode Exit fullscreen mode

Akan tetapi find hanya mencari di lokasi folder dimana ia dijalankan, misalkan kita berada pada ~/Documents maka find hanya mencari file playbook.yml didalam ~/Documents.
Jika ingin mencari sampai kedalam sub folder kita perlu menambahkan parameter name.

find -type f -name playbook.yml
Enter fullscreen mode Exit fullscreen mode

Jika ingin mencari file selain file yg kita inginkan maka bisa menggunakanya seperti ini

find -type f ! -name playbook.yml
Enter fullscreen mode Exit fullscreen mode

Jika kita ingin menampilkan berdasarkan rentang waktu bisa sebagai dengan opsi ini

find -type f -ctime +30 playbook.yml
find -type f -amin +10 playbook.yml
Enter fullscreen mode Exit fullscreen mode
Options Description
-amin n Terakhir kali file diakses n dalam menit
-atime n Terakhir kali file diakses n*24 jam atau dalam hari
-cmin n Terakhir kali file diubah (changed) n dalam menit
-ctime n Terakhir kali file diubah n*24 jam atau dalam hari
-mmin n Terakhir kali file dimodifikasi (Modify) n dalam menit
-mtime n Terakhir kali file dimodifikasi n*24 jam atau dalam hari
-daystart Terakhir perintah dijalankan, 24 jam dihitung dari jalanya perintah

Perbedaan changed dan modify.
Jika changed dihitung dari perubahan metadata, jika modify dihitung dari perubahan isi file/folder

Selanjutnya perintah find juga bisa digunakan untuk menghapus file/folder.

find . -type f -name playbook.yml -delete
Enter fullscreen mode Exit fullscreen mode

Tapi saran saya jika ingin menghapus lebih baik dengan option
exec. Dimana exec akan mengeksekusi command dari shell linux.

find ~/Download -type f -name *filenya* -exec  rm -rf {} \;
find ~/Downloads -user nzucode -type f -exec chown seno {} \;
Enter fullscreen mode Exit fullscreen mode

Selain itu exec bisa di gunakan untuk memanipulasi perintah terminal. Sebagai contoh kita akan memindahkan semua file dengan extensi .zip.

find . -type f -name "*.zip" -exec mv {} backup/ \;
Enter fullscreen mode Exit fullscreen mode

{} adalah direktori saat ini

Lalu jika hanya mencari spesifik folder tertentu, misal /ayam/kodok dan /ayam/ular/.

find /ayam -maxdepth 1 -type f -name "*nama_file*"
Enter fullscreen mode Exit fullscreen mode

Nah pada contoh ini kita hanya ingin membatasi pencarian hanya di level pertama dari direktori ayam, meskipun di dalamnya ada folder ular dan kodok tidak akan dicari.

Sebenarnya masih banyak lagi kegunaan dari syntax find ini. Kita bisa liat referensi lain pada artike atau dokumentasinya.
Selamat mencoba, semoga bermanfaat.

Top comments (0)