فيما يلي بعض الأمثلة التي يمكننا الاستفادة منها عندما نستخدمها ، أمر للبحث عن الملفات أو المجلدات.
للحصول على مساعدة بشأن الأمر ، قم بما يلي:
man find
لمغادرة الدليل ، فقط اضغط على المفتاح [ف] (صالح لأي دليل).
في الأمثلة التالية ، النقطة (.) بعد find (find.) تعني أننا نبحث في المجلد المشار إليه بواسطة الموجه. يمكن استبداله بأي مسار صالح مثل / home /.
الأمثلة على ذلك:
فقط ابحث عن الملفات ذات النمط.
find . -type f -name "*.deb"
البحث والنسخ إلى / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;
ابحث عن ملفات Thumbs.db واحذفها.
find . -type f -name "Thumbs.db" -exec rm -f {} \;
قم بإنشاء ملف نصي خالص باستخدام ملفات md5 في الدليل.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt
حذف مجلدات .svn المزعجة.
find | grep "\.svn$" | xargs rm -fr
استبدل نص بآخر.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php
ابحث عن الملفات التي تم تحديثها منذ يوم مضى.
find /var/log/[a-z]* \*.sql -mtime +1
لإنشاء ملفات md5sums لحزم DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums
احذف جميع الملفات بخلاف .txt (من الواضح أن txt يمكن أن يكون أي شيء)
تجد. ! -اسم "* .txt" -exec rm {} \ ؛
البحث بدون مطابقات غير حساسة لحالة الأحرف:
تجد. -iname «* foobar *»
ملاحظة: لا يمكن تشغيل الأمر -exec مع المعلمة -iname.
ممتاز 😉 يجب أن يكون هذا الأمر إلزاميًا لمعرفته ، قبل أن أشعر بالخوف من الخيارات الموجودة في "الإنسان" لأتمكن من إجراء عمليات البحث ، ولكن من خلال إعطائه الفرصة ، يمكنني رؤية مدى قوته عندما يتعلق الأمر بالعثور على ما نسيت على قرصي الصلب 😐
يعد البحث مفيدًا بالتأكيد ، خاصةً للتعامل مع أسماء الملفات التي تحتوي على مسافات وأحرف أخرى غير عادية. على سبيل المثال ، أتذكر ذات مرة أنه لا توجد طريقة يمكنني من خلالها ضغط مجموعة من الدلائل ، حتى خطر لي باستخدام البحث مع xargs (وهو أسرع بكثير من -exec بالمناسبة) ، وتم حل المشكلة.
أحد الاستخدامات المفضلة الأخرى لأمر البحث هو تغيير الأذونات بشكل متكرر:
find . -type d -print0 | xargs -0 chmod 755
find . -type f -print0 | xargs -0 chmod 644
مثير للاهتمام ^ _ ^
كيف تبدو أيقونة شقرا رائعة هاهاهاهاها 😀
ماجيا مفقود 🙂
نعم صحيح 😀
الآن أنا مبني على هذا ههههه. شكرا 🙂
وواحد لتوزيعتي ...
شكرًا ، الأوامر مفيدة جدًا ، لدي شك في أنني أتذكر أنني في Ubuntu استخدمت أمر تحديد الموقع مرة واحدة ، هل هو اسم مستعار لـ find أو ...؟
سلبية. حدد, ملوكيت y Slocate أوامر البحث الأخرى التي تختلف عن جد، يستخدمون قاعدة بيانات تحتاج إلى تحديث دوري باستخدام الأمر محدث ب.
كلا النوعين من الأوامر لهما استخداماتهما. أنا على سبيل المثال تستخدم عادة محدث ب seguido دي ملوكيتحدد عندما أريد حقًا العثور على شيء سريع في دليل به الكثير من البيانات التي أعرف أنها لا يتم تحديثها كثيرًا (على سبيل المثال ، حزمة في مستودع) ، و جد عندما أريد القيام بشيء أكثر تعقيدًا مثل دمج نتائج البحث مع أمر آخر ، أو عندما لا أرغب في إنشاء قاعدة البيانات لأنني أعرف أن الدليل الذي سأبحث فيه لا يحتوي على الكثير من المعلومات.
شكرًا جزيلاً لك هوغو ، الشرح الممتاز ، لا يمكنني إلا أن أقول مدى قوة الجهاز في جنو / لينكس!
مرحبًا ، أرى أن هذا موضوع قديم ، لكن آمل أنه لا يزال بإمكانك مساعدتي.
أنا أتعلم استخدام regexp منذ أن رأيت مستندًا وأبحث عن الكلمات خطأ أو فشل وأخطاء مشتقاته أو فشل أو فشل وما إلى ذلك ، والتعبير العادي الخاص بي هو:
: / \ (. * \ (خطأ | فشل \). * \) /
عند تنفيذه ، يخبرني أنه لا توجد مطابقات 🙁 ولكن
:/\(.*\(خطأ\).*\)/
o
: / \ (. * \ (fail \). * \) /
إذا وجدت تطابقات ، هل يمكن أن تخبرني كيف أنا مخطئ؟
ما هو الخط الكامل الذي تضعه؟
للاختبار ومعرفة ما إذا كنت أجد الحل.
من ناحية أخرى ، على أي حال ، إذا كنت تريد يمكنك التحقق هنا: https://blog.desdelinux.net/?s=expresiones+regulares
الرجاء مساعدتي ، أريد نسخ الملفات المنتهية بـ * _ZFIR0069.TXT إلى مسار آخر وإضافة تاريخ إلى النهاية ، أقوم بعمل أمر:
التاريخ = $ (التاريخ + »٪ Y٪ m٪ d٪»)
find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \؛
لكن النتيجة هي:
{} _20160225٪ -> ولكنه ينسخ ملفًا واحدًا فقط وتتم إعادة تسميته بهذه الطريقة
ما أريده هو نسخ جميع الملفات ويكون هذا التنسيق * _ZFIR0069_ $ date .TXT
تحية.
ما الفرق بين find * -type d and find / home / pepe -type d؟ أريد سرد أدلة حسابي ولا أفهم لماذا يقوم الأول بعمل ذلك بشكل صحيح والثاني لا يفعل ذلك. تساعد على
كيف أجد الملفات التي تنتهي بأرقام؟