Hostwinds دروس

نتائج البحث عن:


جدول المحتويات


إدراج الملفات
تجد
حدد
ls
جنوم
البحث بالاسم
تجد
حدد
جنوم
البحث حسب الحجم
دو
تجد
حدد
جنوم
العثور على ملفات فارغة
تجد
حدد
جنوم
إجراء الإجراءات في مطابقة الملفات
تجد
حدد
جنوم
تحسين عمليات البحث مع أمر GREP
خاتمة

كيفية العثور على ملفات على Ubuntu مع المحطة

العلامات: Cloud Servers,  Dedicated Server 

إدراج الملفات
تجد
حدد
ls
جنوم
البحث بالاسم
تجد
حدد
جنوم
البحث حسب الحجم
دو
تجد
حدد
جنوم
العثور على ملفات فارغة
تجد
حدد
جنوم
إجراء الإجراءات في مطابقة الملفات
تجد
حدد
جنوم
تحسين عمليات البحث مع أمر GREP
خاتمة

في هذا البرنامج التعليمي ، سنذهب إلى عدد من الطرق لإيجاد الملفات والأدلة (أي المجلدات) في Ubuntu 20.04 LTS ، مثل العثور على جميع الملفات مع أ .قديم تمديد أو العثور على جميع الملفات والأدلة أكبر من 2 غيغابايت.سنذهب أيضًا إلى كيفية تشغيل أمر واحد أو أكثر على كل ملف موجود.

لاحظ أن أحد الأوامر التي سنستخدمها حدد، الذي لا يأتي أصلاً مع أوبونتو.ال حدد غالبًا ما يكون الأمر أسرع من تجد لأنه يحافظ على قاعدة بيانات لجميع الملفات التي يتم تحديثها كل 24 ساعة.ال حدد يمكن تثبيت الأمر على النحو التالي:

sudo apt install mlocate

نظرًا لأن كل شيء في أنظمة التشغيل التي تشبه Unix ، بما في ذلك Ubuntu ، يعتبر ملفًا ، فإن مصطلح "ملف" سيشير أيضًا إلى "دليل" ما لم يتم استدعاؤه على خلاف ذلك.بالإضافة إلى ذلك ، تعتمد أمثلة بيئة سطح المكتب على جنوم.لمعرفة كيفية الوصول إلى جهاز كمبيوتر Ubuntu عن بُعد باستخدام Gnome ، انظر باستخدام سطح مكتب Windows البعيد مع Ubuntu 20.04 TLS.

مع ذلك ، دعنا نبدأ.

إدراج الملفات

لسرد جميع الملفات من الدليل الحالي لأسفل ، يمكن استخدام الأوامر التالية:

تجد

غير المزين تجد أوامر إدراج جميع الملفات بشكل متكرر من الدليل الحالي:

find

حدد

ال حدد الأمر مشابه لـ تجد ولكن يتطلب نمطًا (شخصية البدل في هذه الحالة):

locate *


سرعة حدد يأتي بسعر.قد لا تنعكس الملفات المعدلة مؤخرًا في قاعدة البيانات.لحل هذه المشكلة ، يمكنك تحديث قاعدة البيانات مع Sudo updatedB (والتي قد تستغرق بعض الوقت) أو تستخدم الخيار الذي يسرد الملفات الموجودة فقط في وقت حدد يتم تشغيل الأمر (يعادل بشكل أساسي تجد):

locate -e *

ls

باستخدام العودية الخيار يسمح للمعايير ls أمر لإنتاج نتائج مماثلة:

ls -Rlha

جنوم

يمكنك إنتاج نتائج مماثلة باستخدام بيئة سطح المكتب جنوم:

البحث بالاسم

في الأمثلة التالية ، سنبحث عن جميع الملفات مع .قديم امتداد.

تجد

لأننا نبحث عن جميع الملفات ، نستخدم سودو أمر لتجنب أخطاء الإذن وبدء البحث من الدليل الجذر (/):

sudo find / -iname *.old


نلاحظ أن -أنا اسم الخيار يتجاهل الحالة بينما -اسم لا.

حدد

في ما يلي ، -أنا الخيار يتجاهل الحالة:

sudo locate -i *.old


ومن المثير للاهتمام ، حتى مع الخيار ، حدد لا يجد الأمر /run/blkid/blkid/tab.old ملف (بينما تجد يفعل).

جنوم

بدون شخصية Wildcard (*) ، يوفر تطبيق ملفات سطح المكتب Gnome أساسًا نفس المعلومات مثل تجد يأمر:

البحث حسب الحجم

دعنا نقول أننا نود أن نجد جميع الملفات أكبر من 50 MIB.لهذه المهمة ، يمكننا إضافة دو أمر إلى قائمة المشتبه بهم المحتملين:

دو

ال دو تم تصميم الأمر خصيصًا لهذه المهمة:

sudo du / -ha --threshold=50M

ال يوفر الخيار أحجام الملفات القياسية (البشرية) و يتضمن الخيار الملفات وكذلك الدلائل:


لقمع رسائل الخطأ (الأربعة) ، يمكنك استخدام 2>&- جدال.يمكنك أيضًا الفرز حسب حجم الملف:

sudo du / -ha --threshold=50M 2>&- | sort -h


يوضح الصف الأخير أن القرص يحتوي على 2.8 GIB من البيانات في المجموع.

تجد

فيما يلي يجد جميع الملفات (باستثناء الدلائل) أكبر من 50 MIB:

sudo find / -size +50M


لعرض حجم كل ملف بالبايت ، يمكنك استخدام -ls الخيار (و 2>&- لإزالة رسائل الخطأ):

sudo find / -size +50M -ls 2>&-

يوفر العمود السابع حجم كل ملف ، بالبايت.لعرض مسار الملف فقط ، الكتابة والحجم ، يمكنك استخدام -بناء الخيار ، كما هو موضح:

sudo find / -size +50M -printf "%p %y %s bytes\n" 2>&- | column -t


ال ٪ ص يعيد اسم الملف ، ٪ ذ نوع الملف ، ٪س الحجم في البايتات ، و يولد حرف سطر جديد (للحصول على التفاصيل ، تنفيذ يجد الرجل).

ال العمود -t يقوم الأمر بإنشاء أعمدة بناءً على أحرف المسافة البيضاء.لاحظ أن البايتات 140737477885952 أقل بقليل من 128 PIB ، وهو أمر غير صحيح بشكل واضح.يتبع تسليم أكثر دقة:

sudo find / -size +50M -printf "%p %y %k KiB\n" 2>&- | column -t


في ما سبق، ٪ك يوفر حجم الملف في KIB (على عكس ٪س بايت).

حدد

بسبب ال حدد لا تحتوي قاعدة بيانات الأوامر على معلومات حجم الملف ، لا يمكنك سرد الملفات أكبر من 50 MIB فقط مع حدد.

جنوم

يوفر تطبيق ملفات سطح المكتب في Gnome نموذجي واجهة المستخدم الرسومية النتائج:

كما يتضح أعلاه ، فإن الفرز حسب عمود الحجم ليس مفيدًا تمامًا فيما يتعلق بإيجاد جميع الملفات التي يزيد حجمها عن 50 MIB.ال دو أو تجد الأوامر أكثر ملاءمة لمثل هذه المهمة.

العثور على ملفات فارغة

يوجد عدد من الأوامر المذكورة أعلاه خصيصًا لإيجاد ملفات فارغة.سنقوم بفحص هذه المقبل.

تجد

بالنسبة إلى تجد الأمر ، هذه المهمة واضحة:

sudo find /tmp -empty -type f,d

يجد هذا الأمر جميع الملفات والأدلة الفارغة (أي ، -type f ، d) في حدود /TMP المجلد ، كما هو موضح:


ولكن أيها؟على النحو الوارد أعلاه ، يمكننا استخدام -بناء و عمودي كالآتي:

sudo find /tmp -empty -type f,d -printf "%p %y %s bytes\n" | column -t


لاحظ أن كل دليل فارغ يتطلب وجود 4096 بايت (4 KIB) في نظام ملفات Ubuntu.إليك مثال على دليل فارغ واحد وملف فارغ واحد:

حدد

مرة أخرى ، لأن حدد لا تحتوي قاعدة البيانات على معلومات حجم الملف ، ولا توجد طريقة للعثور مباشرة على الملفات/الدلائل الفارغة باستخدام فقط حدد أمر.

جنوم

يوفر تطبيق ملفات سطح المكتب من Gnome نتائج غير مفيدة نسبيًا:

يجب على المرء القيام بالكثير من النقر لتحديد جميع الملفات الفارغة باستخدام بيئة سطح المكتب جنوم.

إجراء الإجراءات في مطابقة الملفات

الآن بعد أن عرفنا كيفية العثور على الملفات ، قد نود أن ننفذ إجراءات عليها ؛مثل حذف الجميع *.قديم الملفات.

تجد

ال تجد القيادة -exec يقوم الخيار بتنفيذ الأمر المقدم مرة واحدة لكل ملف متطابق.فمثلا:

sudo find / -iname "*.old" -exec echo {} \;

باختصار ، هذا ينفذ صدى صوت أمر على كل .قديم تم العثور على ملف.هنا ، و {} بناء الجملة يمثل كل ملف مطابقة.وهكذا ، إذا vmlinux.old هو ملف مطابق ، ثم الأمر Echo vmlinux.old يتم تنفيذ.يتم استخدام Semicolon للإشارة إلى نهاية سلسلة الأوامر بعد -exec اختيار.لأن Semicolon له معنى خاص ، يجب أن يهرب من شخصيات الذروة الخلفية (\)، كالآتي:


لحذف الجميع *.قديم ملفات من /الصفحة الرئيسية/كارليتو دليل (أو ~ الدليل) ، يمكنك تشغيل الأمر التالي:

sudo find . -iname "*.old" -exec rm -f {} \;

يمكننا أن نرى أن جميع الملفات في ~ تمت إزالة الدليل:

حدد

ال حدد الأمر ليس لديه -exec اختيار.ومع ذلك ، يمكننا محاكاة هذه الوظيفة باستخدام XARGS يأمر:

sudo locate -i "*.old" | xargs -0 echo


ال -0 الخيار يسمح XARGS للتعامل بشكل صحيح مع أحرف اسم الملف غير النموذجي.

لإزالة كل شيء *.قديم ملفات من /الصفحة الرئيسية/كارليتو الدليل ، يمكنك تشغيل:

sudo locate -i "/home/karlito/*.old" | xargs rm


وبالمثل ، لإزالة الجميع .قديم الملفات المدرجة في حدد قاعدة بيانات الأوامر (بشكل عام كل شيء *.قديم ملفات على القرص) ، يمكنك تشغيل:

sudo locate -i "*.old" | xargs rm

جنوم

لتنفيذ نفس الإجراء باستخدام تطبيق الملفات ، ابحث أولاً عن جميع الملفات باستخدام A.قديم امتداد:

بعد ذلك ، حدد جميع الملفات المطابقة بالضغط على Ctrl + A. ثم ، اضغط على مفتاح Delete وحدد حذف زر:

يمكننا تأكيد حذف موجه الأوامر على النحو التالي:


بسبب ال XARGS الأمر سريع ومرن ، ويمكن استخدامه مع العديد من الأوامر الأخرى ، فمن المنطقي عمومًا استخدامه لمعظم السيناريوهات.على سبيل المثال ، النسخ التالية جميع الملفات التي تحتوي على "نسخة احتياطية" في دليل يسمى "النسخ الاحتياطية" في المجلد الرئيسي للمستخدم:

sudo find / -type f -iname "*backup*" -print0 | xargs -0 -I {} sh -c 'stat -c "%n %s bytes" {}; cp {} ~/backups'

يتبع شرح مفصل لكل أمر وخيار:

  • سودو يسمح تجد أمر بالبحث دون مواجهة الإذن من الأخطاء.
  • تجد أمر يبحث عن الملفات (تنفيذ يجد الرجل للتفاصيل).
  • / يبدأ البحث من دليل الجذر.
  • -type f يبحث عن الملفات (وليس الدلائل).
  • -اسم "*النسخ الاحتياطي*" مع تجاهل القضية ، يرشد تجد أمر للعثور على جميع الملفات التي تحتوي على "النسخ الاحتياطي" في مكان ما في اسم الملف.لاحظ استخدام الاثنين (*) أحرف البدل.
  • -بثعة تنسيقات إخراج تجد أمر بحيث يمكن استهلاكه من قبل أوامر أخرى ، بما في ذلك xarg.خاصه، -بثعة يسمح بأسماء الملفات التي تحتوي على الخطوط الجديدة أو أنواع أخرى من المساحة البيضاء التي يتم تفسيرها بشكل صحيح من خلال البرامج التي يمكنها معالجة هذه الإدخال.نلاحظ أن -print0 الخيار يتوافق مع -0 خيار XARGS أمر.
  • XARGS يحول المدخلات القياسية إلى وسيط لأوامر أخرى ، مثل Stat و CP أمر.
  • -0 يستعد XARGS أمر لتلقي المدخلات التي قد تحتوي على مساحة بيضاء أو علامات اقتباس أو علامات التراجع.
  • -أنا يسمح خيار "I" العاصمة بالإدخال إلى XARGS لاستخدامها في أكثر من مكان ، مثل عبر {} رمز.
  • ش هذا يستدعي مترجم سطر أوامر منفصل (shell) وينفذ الأوامر التي تم تمريرها إليها.في هذه الحالة، 'STAT -C "٪ n ٪ s bytes" {} ؛cp {} ~/النسخ الاحتياطية.هذه القشرة الثانية تسمح XARGS لتشغيل أوامر متعددة باستخدام {} رمز.
  • STAT -C "٪ n ٪ s bytes" {} يعرض الاسم ٪ن والحجم ٪س من الملف الوارد في {} الرمز المميز (في بايت).
  • ; يسمح Semicolon بتنفيذ أمران أو أكثر على نفس الخط.
  • cp {} ~/النسخ الاحتياطية نسخ المعطى {} ملف إلى ~/النسخ الاحتياطية الدليل.

تجميع كل هذا معا النتائج في الإخراج مما يلي:

في ما سبق ، يمكننا رؤية جميع الملفات التي تم نسخها نظريًا ~/النسخ الاحتياطية.إنه نظري من حيث أنه لم يتم نسخ جميع الملفات بالفعل:

هذه نقطة مهمة - لم تكن هناك مشاكل فيما يتعلق بالعرض Stat المعلومات ذات الصلة ولكن كانت هناك مشاكل ل CP القيادة (التي لم يتم الإبلاغ عنها).

تحسين عمليات البحث مع أمر GREP

بعد ذلك ، سنبحث في محتويات ملفات مطابقة للعثور على كلمة رئيسية واحدة أو أكثر.للبدء ، سنقوم بفحص كل شيء *.سجل ملفات لحوادث تحذير.للقيام بذلك ، نستخدم في كل مكان جريب يأمر:

sudo find / -iname '*.log' -type f -print0 | xargs -0 grep warning

تشغيل الأوامر قبل الأنبوب ( | ) يقوم المشغل بإرجاع القائمة المتوقعة لـ *.سجل الملفات.ومع ذلك ، فإن تشغيل إرجاع سطر الأوامر بأكمله لكل إذن تم رفض أخطاء:


هذا لأن ال جريب الأمر يتطلب أيضا سودو ارتفاع.وبالتالي ، فإن سطر الأوامر التالي ينتج النتائج المطلوبة (كلاهما -أنا اسم و -أنا تجاهل الحالة):

sudo find / -iname '*.log' -type f -print0 | xargs -0 sudo -i grep warning

للعثور على كل شيء *.سجل الملفات التي تحتوي تحذير, حرجو/أو خطأ، يمكننا استخدام المنطق أو ( | ) المشغل ، الذي يجب الهروب منه حتى لا يتم الخلط بينه وبين مشغل الأنابيب القياسية:

sudo find / -iname '*.log' -type f -print0 | xargs -0 sudo grep -l -i 'warning\|critical\|error'

خيار "L" الصغير -L يعرض قائمة الملفات المطابقة وليس المحتوى المرتبط به:

خاتمة

مقارنة هذا البرنامج التعليمي ومقارنه طرق متعددة للعثور على الملفات في Ubuntu 22.04 LTS.كما قدمت تقنيات لتنفيذ الأوامر على الملفات التي تم العثور عليها.توفر أنظمة التشغيل التي تشبه UNIX ، بما في ذلك Ubuntu ، بيئة سطر أوامر غنية للغاية لمساعدتك في إدارة الكمبيوتر/الخادم Ubuntu.

كتب بواسطة Karlito Bonnevie  /  يونيو 20, 2022