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
find
tempat untuk mulai mencari istilah penelusuran Anda. - Ekspresi – Memberi tahu
find
kategori 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
find
memerintah. 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 menjalankangrep
perintah untuk mencari isi semua file untuk kata isi . {}
tanda kurung menunjukkan hasil kecocokanfind
perintah, dan mereka berada dalam tanda kutip tunggal sehinggagrep
perintah tidak salah mengartikannya.- Kami akan menutup
grep
perintah dengan titik koma (;
), dan kami menggunakan garis miring terbalik (\
) agar sistem tidak salah mengartikan titik koma sebagai instruksi. - Akhirnya,
–print
option 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.
–P
Opsi ini mewakili perilaku default. Sistem tidak mengikuti tautan simbolis.-H
Sistem tidak mengikuti tautan simbolik kecuali saat memproses perintah khusus ini.-L
Mengikuti 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.