Perintah find memungkinkan Anda untuk mencari lokasi tertentu untuk file dan direktori yang mematuhi beberapa kriteria pencarian. Ini secara rekursif mencari struktur direktori, termasuk subdirektori dan isinya, dimulai dengan lokasi pencarian yang Anda masukkan. Anda dapat melakukan satu atau beberapa tindakan pada file yang ditemukan.
Opsi -type memungkinkan Anda untuk menentukan jenis objek yang Anda cari, seperti d untuk direktori atau f untuk file. Opsi -name adalah tempat Anda menentukan nama objek yang Anda cari. Contoh berikut menelusuri direktori beranda pengguna (dan semua subdirektori) untuk semua file bernama 2021_report:
$ find /home/user -type f -name 2021_report
Sintaks
Sintaks dari perintah find adalah:
$ find [options] {search locations} {search criteria} [actions]
temukan VS. temukan Perintah
Perintah locate mencari database dan mengambil informasi tentang file yang ada di sistem Anda. Namun, kegagalan untuk menjaga database ini diperbarui dapat menghasilkan hasil yang ketinggalan zaman. Perintah find, di sisi lain, melakukan pencarian langsung dari sistem file dan dapat berkonsentrasi pada lokasi tertentu. Perintah find mungkin membutuhkan lebih banyak waktu untuk menyelesaikan pencarian daripada perintah locate.
Opsi untuk file yang ditemukan
Saat sistem menemukan daftar yang memenuhi kriteria Anda, ada beberapa tindakan yang dapat Anda lakukan pada hasilnya. Beberapa opsi ini diuraikan dalam tabel berikut.
Opsi | Dulu |
---|---|
-cetak | Menampilkan lokasi file yang ditemukan. |
-exec | Mengeksekusi perintah berikut. |
-ok | Mengeksekusi perintah yang mengikuti secara interaktif. |
-hapus | Menghapus file yang ditemukan. |
-fprint | Menyimpan hasil dalam file target. |
temukan Contoh Perintah
1. Untuk menemukan file dengan nama, dalam direktori yang ditentukan:
# find / -name file.txt # find . -name file.txt (within current directory)
2. Untuk menemukan file dengan izin tertentu:
# find / -perm 775 # find / -perm a+x # find . -perm 775(within current directory)
3. Untuk memiliki setidaknya satu set bit tulis (izin khusus):
# find / -perm /a+w # find . -perm /a+w (within current directory)
4. Untuk menemukan file yang tidak memiliki bit yang dapat dieksekusi:
# find / ! -perm /111 # find / ! -perm /a+x # find . ! -perm /a+x (within current directory)
5. Untuk mencari file yang dapat dibaca dunia, setidaknya satu bit tulis dan tidak dapat dieksekusi oleh siapa pun:
# find . -perm -a+r -perm /a+w ! -perm /a+x
6. Untuk menghindari mengikuti tautan simbolik:
# find -p / -name file
7. Untuk mengikuti tautan simbolik:
# find -p / -name file
8. Tidak mengikuti tautan simbolik, kecuali saat memproses argumen baris perintah:
# find -H / -name file
9. Untuk menemukan file dengan kedalaman tertentu dalam struktur direktori:
# find -d 2 / -name file
10. Untuk menentukan tingkat turun:
# find -maxdepth 2 / -name file
11. Untuk menentukan tingkat kedalaman minimum:
# find -mindepth 4 / -name file
12. Untuk memproses isi setiap direktori sebelum direktori itu sendiri:
# find -depth / -name file
13. Untuk memberikan hari mulai untuk cap waktu file:
# find -daystart -atime file
14. Untuk menunjukkan tidak ada pesan kesalahan yang akan dikeluarkan (jika file dihapus saat diproses):
# find -ignore_readdir_race / -name file
15. Untuk mematikan -ignore_readdir_race:
# find -noignore_readdir_race / -name file
16. Untuk tidak menyertakan direktori dari titik mount lain:
# find -mount / -name file
17. Untuk Mengubah sintaks ekspresi reguler dipahami:
# find -regextype type
18. Untuk mengaktifkan atau menonaktifkan pesan peringatan:
# find -warn / -name file # find -nowarn / -name file
19. Jangan turun direktori pada sistem file autofs:
# find -xautofs / -name file
20. Jangan turun direktori pada sistem file lain:
# find -xdev / -name