Berikut beberapa contoh yang bisa kita manfaatkan saat kita gunakan Menemukan, perintah untuk mencari file atau folder.
Untuk mendapatkan bantuan untuk menjalankan perintah:
man find
untuk keluar dari manual, cukup tekan tombol [Q] (berlaku untuk manual apapun).
Pada contoh berikut, titik (.) After find (find.) Berarti yang kita cari di folder yang ditunjukkan oleh prompt. Ini dapat diganti dengan jalur yang valid seperti / home /.
Ejemplos:
Cukup cari file dengan pola.
find . -type f -name "*.deb"
cari dan salin ke / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
Temukan file Thumbs.db dan hapus.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
Buat file teks murni dengan file md5 di direktori.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
Hapus folder .svn yang mengganggu.
find | grep "\.svn$" | xargs rm -fr
Ganti satu teks dengan yang lain.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
Temukan file yang diperbarui hingga sehari yang lalu.
find /var/log/[a-z]* \*.sql -mtime +1
Untuk membuat file md5sums dari paket DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
hapus semua file selain .txt (jelas .txt bisa apa saja)
Temukan. ! -nama "* .txt" -exec rm {} \;
telusuri tanpa kecocokan peka huruf besar kecil:
Temukan. -iname «* foobar *»
Catatan: perintah -exec tidak dapat dijalankan dengan parameter -iname.
Luar biasa 😉 perintah ini harusnya wajib diketahui, sebelumnya saya takut dengan opsi yang ada di 'man' untuk dapat melakukan pencarian, tetapi memberikannya kesempatan saya bisa melihat betapa hebatnya itu ketika menemukan apa yang saya lupa di hard drive saya 😐
Find sangat berguna, terutama untuk menangani nama file yang menyertakan spasi dan karakter tidak biasa lainnya. Sebagai contoh, saya ingat suatu kali bahwa tidak mungkin saya dapat mengompresi sekumpulan direktori, sampai terpikir oleh saya untuk menggunakan find dengan xargs (yang jauh lebih cepat daripada -exec), dan masalah terpecahkan.
Salah satu penggunaan pilihan saya untuk perintah find adalah mengubah izin secara rekursif:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
Menarik ^ _ ^
Kerennya tampilan ikon Chakra hahahahahaha 😀
Mageia hilang 🙂
Ya benar 😀
Sekarang saya berdasarkan ini hehehehe. Terima kasih 🙂
Dan satu untuk distro saya ...
Terima kasih, perintah-perintahnya sangat berguna, saya ragu saya ingat bahwa di Ubuntu saya pernah menggunakan perintah pencarian, apakah itu beberapa alias dari pencarian atau ...?
Negatif. menemukan, lokasi y menemukan adalah perintah pencarian lain yang tidak seperti menemukan, mereka menggunakan database yang perlu diperbarui secara berkala dengan perintah diperbaruib.
Kedua jenis perintah memiliki kegunaannya masing-masing. Saya misalnya biasanya menggunakan diperbaruib diikuti oleh lokasitemukan ketika saya benar-benar ingin menemukan sesuatu yang cepat dalam direktori dengan banyak data yang saya tahu tidak diperbarui terlalu sering (misalnya, paket dalam repositori), dan menemukan ketika saya ingin melakukan sesuatu yang lebih kompleks seperti menggabungkan hasil pencarian dengan perintah lain, atau ketika saya tidak ingin membuat database karena saya tahu bahwa direktori yang akan saya cari tidak berisi terlalu banyak informasi.
Terima kasih banyak Hugo, penjelasan yang luar biasa, saya hanya bisa mengatakan betapa kuatnya terminal di gnu / linux!
Hai, saya melihat ini adalah topik lama, tetapi semoga Anda masih dapat membantu saya.
Saya belajar menggunakan regexp karena saya melihat dokumen dan saya mencari kata error atau gagal dan turunannya error atau gagal atau gagal dll dan regexp saya adalah:
: / \ (. * \ (kesalahan | gagal \). * \) /
Saat menjalankannya, saya diberitahu bahwa tidak ada yang cocok 🙁 kecuali untuk
:/\(.*\(kesalahan\).*\)/
o
: / \ (. * \ (gagal \). * \) /
Jika Anda menemukan kecocokan, dapatkah Anda memberi tahu saya bagaimana saya salah?
Apa baris penuh yang Anda masukkan?
Untuk menguji dan melihat apakah saya menemukan solusinya.
Di sisi lain, bagaimanapun jika Anda mau, Anda dapat memeriksa di sini: https://blog.desdelinux.net/?s=expresiones+regulares
Tolong bantu saya, saya ingin menyalin file yang diakhiri dengan * _ZFIR0069.TXT ke jalur lain dan dan menambahkan tanggal di akhir, saya melakukan perintah:
tanggal = $ (tanggal + »% Y% m% d%»)
temukan / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;
Tapi hasilnya adalah:
{} _20160225% -> tetapi hanya menyalin satu file dari semua dan namanya akan diganti
Yang saya inginkan adalah menyalin semua file dan memiliki format ini * _ZFIR0069_ $ date .TXT
Salam.
Apa perbedaan antara find * -type d dan find / home / pepe -type d? Saya ingin membuat daftar direktori akun saya dan saya tidak mengerti mengapa yang pertama melakukannya dengan benar dan yang kedua tidak. membantu
Bagaimana cara menemukan file yang diakhiri dengan angka? Terima kasih