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
Misalkan kita ingin mencari file dengan nama tertentu cukup dengan seperti ini
find playbook.yml
find playbook*
find *book*
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
Jika ingin mencari file selain file yg kita inginkan maka bisa menggunakanya seperti ini
find -type f ! -name playbook.yml
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
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
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 {} \;
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/ \;
{}
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*"
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)