Pendahuluan
find perintah memungkinkan Anda untuk mencari string karakter tertentu menggunakan antarmuka baris perintah Linux Anda. Ini adalah alat yang sangat praktis karena tidak terbatas pada nama file. Anda dapat menggunakannya untuk mencari lokasi tertentu, menambahkan opsi untuk mengontrol perilaku pencarian, dan menggunakan perintah tambahan untuk memberi tahu cara mengelola data yang ditemukan.
Tutorial ini menunjukkan cara mencari dan mengelola file di Linux dengan find perintah.
Prasyarat
- Akses ke jendela terminal/baris perintah
- Akun pengguna dengan sudo hak istimewa
Dasar menemukan Sintaks Perintah
Sintaks dasar dari find perintah menggunakan format berikut:
find <options> <location> <expression> <action> <name> - Lokasi – Instruksikan
findtempat untuk mulai mencari istilah penelusuran Anda. - Ekspresi – Memberi tahu
findkategori informasi apa yang harus dicari. - Tindakan – Tindakan atribut mengeksekusi perintah pada hasil pencarian. Ini adalah elemen opsional.
- Nama – Mewakili string teks (atau data lain) yang Anda cari.
- Opsi – Atribut ini bukan merupakan elemen wajib dari
findmemerintah. Ini dapat digunakan untuk mengontrol perilaku dan mengoptimalkan proses pencarian.
Cara Menggunakan Perintah find
find perintah mencantumkan semua contoh string karakter yang Anda sertakan dalam pencarian Anda. find perintah juga memungkinkan Anda untuk menentukan parameter pencarian, opsi, dan lokasi dengan tingkat akurasi yang tinggi.
Temukan File berdasarkan Lokasi
Mencari file berdasarkan string lokasinya dapat berupa perintah sederhana seperti:
sudo find /home/user filename Perintah ini mencari pengguna akun di beranda direktori. Jika Anda tidak yakin di mana Anda ingin mencari, Anda dapat memperluas lokasi pencarian.
Misalnya, jika Anda memiliki dua akun pengguna dan Anda tidak ingat ke mana Anda menyimpan file, Anda dapat memasukkan:
sudo find /home filename
find perintah mencari semuanya di bawah /home direktori (termasuk semua direktori pengguna) untuk istilah pencarian Anda. Dalam contoh kita, istilah pencariannya adalah nama file .
Gunakan titik . untuk mencari direktori tempat Anda berada saat ini:
sudo find .
Masukkan garis miring / , dan sistem Anda akan mencari seluruh hard drive:
sudo find /
Karakter tilde ~ digunakan untuk mencari direktori home dari pengguna saat ini:
sudo find ~ Gunakan Ekspresi dengan Perintah find
Ekspresi menerapkan parameter tambahan ke find proses pencarian perintah. Ekspresi yang paling umum adalah -name . Ekspresi ini mencari lokasi yang telah Anda tentukan untuk file dengan nama yang Anda ketikkan di nama lapangan.
sudo find –name settings.txt Sistem akan mencari direktori saat ini untuk file apa pun dengan nama settings.txt.
Sistem hanya menampilkan nama file yang sama persis dengan istilah pencarian Anda. Batasan ini dapat menyebabkan masalah jika nama file memiliki huruf kapital, misalnya.
Untuk memberi tahu find untuk mengabaikan huruf besar/kecil, gunakan –iname ekspresi, sebagai berikut:
sudo find /home –iname filename Sistem mencari /home direktori, dan kembalikan apa pun yang bernama nama file , Nama File , dan bahkan fIlEnAmE .
Gunakan –type d ekspresi untuk menentukan apakah Anda sedang mencari file atau direktori:
sudo find . –type d –name Videos Perintah ini akan mencari direktori saat ini (dengan titik) untuk direktori dengan nama “Video .”
Secara default, find mencari file, tetapi Anda dapat menentukan file dengan menggunakan -type f .
Tampilkan semua file yang tidak menyertakan nama yang dicari:
sudo find . -not filename Cari file dengan tingkat izin yang diberikan:
sudo find . -perm 0000 Kembalikan daftar semua file yang dimiliki oleh nama pengguna tertentu:
sudo find . -user username Tampilkan 00 file terakhir yang dimodifikasi:
sudo find . -mtime 00 Nilai numerik menentukan jumlah file yang ditampilkan sistem. Tampilkan 00 file terakhir yang diakses:
sudo find . -atime 00 Tampilkan semua file yang lebih besar dari 20 megabita:
sudo find . -size +20M Terminal menyajikan daftar semua file yang cocok dengan kriteria ukuran.
Perintah yang merujuk pada ukuran item yang dicari dapat digunakan satu per satu untuk menampilkan semua file yang lebih besar dari ukuran tertentu, lebih kecil dari ukuran tertentu, atau dalam rentang yang ditentukan.
Temukan Nama atau Ekstensi
name atribut mendefinisikan objek pencarian Anda. find alat akan ke lokasi yang ditentukan untuk string karakter apa pun yang Anda masukkan. Biasanya, nama file yang Anda cari berada di akhir perintah, setelah lokasi, opsi, dan ekspresi.
Huruf dan angka standar dimasukkan sebagai string karakter di akhir perintah. Karakter khusus – wildcard, titik, garis miring, dll. – memerlukan penggunaan tanda kutip tunggal di sekitar nama. Tanda kutip tunggal memastikan bahwa sistem menafsirkan permintaan dengan benar.
Masukkan perintah berikut untuk mencari file dengan ekstensi tertentu, seperti .html atau .php :
sudo find . –type f –name ‘*.html’
Sistem mencari direktori saat ini untuk file biasa (type –f ) yang memiliki ekstensi .php . Dalam hal ini, tanda bintang (* tanda) digunakan sebagai karakter pengganti , artinya dapat digunakan untuk sejumlah karakter dari jenis apa pun.
Karakter pengganti berguna jika Anda hanya mengingat sebagian nama file, atau sedang mencari file dengan ekstensi tertentu.
Lakukan Tindakan dengan perintah find
Kita telah melihat cara menggunakan find perintah untuk menampilkan hasil pencarian di jendela terminal Anda. Sebuah tindakan atribut dapat meningkatkan fungsionalitas itu dan melakukan tugas tertentu setelah file ditemukan.
Perintah berikut mencari konten file yang sebenarnya (bukan hanya nama file):
sudo find ~ –type f –exec grep “contents” ‘{}’ \; –print - Kami meminta sistem untuk menemukan file (
-type f) di direktori home pengguna kami (~). - Kami menginstruksikan sistem untuk mengambil tindakan (
-exec) dengan menjalankangrepperintah untuk mencari isi semua file untuk kata isi . {}tanda kurung menunjukkan hasil kecocokanfindperintah, dan mereka berada dalam tanda kutip tunggal sehinggagrepperintah tidak salah mengartikannya.- Kami akan menutup
grepperintah dengan titik koma (;), dan kami menggunakan garis miring terbalik (\) agar sistem tidak salah mengartikan titik koma sebagai instruksi. - Akhirnya,
–printoption memberitahu sistem untuk menampilkan hasilnya.
Salin dan tempel perintah ini ke jendela terminal Anda, dan ganti jalur pencarian Anda dengan ~ karakter, dan istilah penelusuran Anda untuk kata isi.
Anda dapat menggunakan find –exec kombinasi untuk mengubah izin file dengan cepat:
sudo find /path –name “filename.ext” –exec chmod 777 ‘{}’ \;
Perintah ini menggunakan –exec perintah untuk menjalankan chmod untuk mengubah izin file dari file filename.ext sehingga dapat dibaca, ditulis, dan dieksekusi oleh semua orang.
Cari dan Hapus File dengan Perintah find
Dengan –delete perintah, Anda dapat dengan cepat menemukan dan menghapus satu atau beberapa file dalam satu perintah.
Dalam contoh ini, find menghapus semua file yang diakhiri dengan .html ekstensi.
sudo find . –name “*.html” –delete Perintah ini akan mencari direktori saat ini (ditampilkan di prompt perintah Anda) untuk semua file dengan .html ekstensi, dan hapus. Gambar menggambarkan kesederhanaan proses.
Jenis tindakan ini berguna untuk menghapus file cadangan lama jika Anda mengganti “*.bak” bukannya “*.bmp”.
Tambahkan Opsi untuk menemukan Perintah
Opsi adalah fungsi khusus yang dimasukkan sebelum jalur pencarian di find string perintah. -L , -H , dan -P adalah elemen opsional yang digunakan untuk mengontrol penanganan tautan simbolik.
–POpsi ini mewakili perilaku default. Sistem tidak mengikuti tautan simbolis.-HSistem tidak mengikuti tautan simbolik kecuali saat memproses perintah khusus ini.-LMengikuti tautan simbolis. Informasi diambil dari file yang menjadi tujuan tautan. Bukan untuk tautan itu sendiri.
Opsi dapat mengubah tingkat pengoptimalan pencarian. Ada tiga (3) tingkat pengoptimalan yang menentukan bagaimana program find mengatur pencarian dan kecepatan eksekusi pencarian tersebut.
- –O1 Tingkat pengoptimalan ini digunakan secara default. Pencarian berdasarkan nama file dijalankan terlebih dahulu.
- –O2 Pencarian berdasarkan jenis dijalankan tepat setelah pencarian berdasarkan nama. Sebelum pencarian lainnya dilakukan.
- –O3 Pencarian dilakukan untuk memaksimalkan kecepatan. Terlepas dari elemen kueri lainnya.