لدى معظم مديري الملفات المشهورين لأنظمة التشغيل على Linux kernel أداة بحث وظيفية إلى حد ما. ومع ذلك ، فإن المعلمات التي لا توجد دائمًا فيها كافية للمستخدم للبحث عن المعلومات الضرورية. في هذه الحالة ، تأتي الأداة المساعدة القياسية التي يتم تشغيلها عبر المحطة الطرفية في عملية الإنقاذ. يتيح لك العثور بسهولة على البيانات المطلوبة في دليل محدد أو في النظام بأكمله عن طريق إدخال أمر وسيطة وخيار.
تم تصميم الأمر find للبحث عن كائنات مختلفة ، بما في ذلك الملفات من أي تنسيقات وأدلة ذات أعماق مختلفة. المستخدم مطلوب فقط لإدخال الأمر نفسه ، وتحديد القيمة المطلوبة ، وتعيين الوسائط لتعيين معلمات التصفية. عادةً لا يستغرق تنفيذ الإجراء بواسطة الأداة المساعدة نفسها الكثير من الوقت ، ولكنه يعتمد أيضًا على مقدار المعلومات الممسوحة ضوئيًا. الآن دعونا نلقي نظرة على أمثلة لاستخدام البحث بمزيد من التفاصيل.
لبداية ، أود التراجع قليلاً عن الفريق الرئيسي ولمس موضوع الإجراءات الإضافية التي ستساعد في المستقبل عند الإدارة من وحدة التحكم. الحقيقة هي أن الأدوات المساعدة في توزيعات Linux لا يتم شحذها من خلال البحث عن جميع العناصر الموجودة على جهاز الكمبيوتر. يجب أن تبدأ جميع العمليات فقط مع الموقع الكامل للعناصر أو انتقل إلى الموقع عبر الأمر cd . يمكن القيام بذلك بسهولة تامة:
cd /home/user/folder
، حيث يكون المستخدم هو اسم المجلد الرئيسي للمستخدم والمجلد هو اسم الدليل المطلوب. إذا ، قبل استخدام find ، لتنفيذ التعليمات المذكورة أعلاه ، يمكنك حذف المسار الكامل للملف ، شريطة أن يكون في الموقع المحدد. مثل هذا الحل سيعجل بشكل كبير بأوامر الإدخال في المستقبل.
عندما تقوم بتشغيل find
من وحدة التحكم التي بدأت لتوها ، ستحصل على نتيجة البحث في الدليل الرئيسي للمستخدم النشط. في حالة أخرى ، على سبيل المثال ، عندما تقوم بالتنشيط أثناء البحث حسب الموقع ، سترى في النتائج جميع المجلدات الفرعية وملفات هذا المكان موجودة فيها.
يتم تنشيط البحث عن أي وسيطات وخيارات عندما تحتاج إلى عرض كل العناصر مرة واحدة. إذا كان اسمهم لا يتناسب تمامًا مع السلاسل ، فإن الأمر يستحق تغيير الأمر حتى يعثر على نموذج find . -print
find . -print
.
الأمر لعرض الملفات من خلال مسار معين هو نفسه تقريبا الأمر الذي ذكرناه أعلاه. يجب عليك أيضًا تحديد " find
، ثم إضافته. / ./folder
إذا كنت ترغب في معرفة الدليل في الموقع الحالي ، وإلا ستحتاج إلى تحديد المسار الكامل عن طريق الكتابة ، على سبيل المثال ، find ./home/user/downloads/folder
. الدليل النهائي سيتم عرض كل العناصر في خطوط منفصلة في ترتيب عمقها.
في بعض الأحيان تكون هناك حاجة لعرض الكائنات التي تفي بالاسم فقط. ثم يحتاج المستخدم إلى تعيين خيار منفصل للأمر ، بحيث يفهم النداء. يأخذ خط الإدخال النموذج: find .
-اسم "كلمة" ، حيث الكلمة هي كلمة بحث ، والتي يجب أن تكون مكتوبة في علامات اقتباس مزدوجة وحساسة لحالة الأحرف لكل حرف.
إذا كنت لا تعرف الحالة الدقيقة لكل حرف ، أو كنت ترغب في عرض جميع الأسماء المطابقة ، دون أخذ هذه المعلمة في الاعتبار ، أدخل " find . -iname "word"
في وحدة التحكم find . -iname "word"
find . -iname "word"
.
لتصفية النتائج حسب الكلمة الأساسية ، تتم إضافة واحدة أخرى إلى وسيطة -name . يأخذ الأمر find . -not -name "word"
النموذج find . -not -name "word"
find . -not -name "word"
، حيث الكلمة هي كلمة ليتم حذفها.
لا تزال هناك حاجة في بعض الأحيان إلى العثور على كائنات عن طريق مفتاح واحد ، مع استبعاد الآخر. ثم يتم تعيين العديد من خيارات البحث بدورها ، وسطر الإدخال هو التالي: find . -name "word" -not name "*.txt"
find . -name "word" -not name "*.txt"
. يرجى ملاحظة أن الوسيطة الثانية في علامات اقتباس تشير إلى " * .txt" ، مما يعني أن العثور على يعمل ليس فقط مع الأسماء ، ولكن أيضًا مع تنسيقات الملفات المحددة في هذا النموذج.
هناك عامل أو . يتيح لك العثور على واحد أو عدة وسيطات مناسبة في وقت واحد. يتم تحديد كل على حدة ، مع إضافة الوسائط المقابلة. والنتيجة هي شيء مثل هذا: find -name "word" -o -name "word1"
.
سيساعد الأمر find المستخدم حتى عندما يحتاج إلى العثور على محتويات الدلائل فقط إلى العمق المحدد ، على سبيل المثال ، التحليل غير مطلوب داخل المجلد الفرعي الثالث. لتعيين هذه الحدود ، أدخل find . -maxdepth N -name "word"
find . -maxdepth N -name "word"
، حيث N هو الحد الأقصى للعمر ، و -اسم "كلمة" هي أي وسيطات لاحقة.
في العديد من الدلائل ، توجد عدة مجلدات بمحتويات مختلفة. إذا كان هناك عدد كبير منهم ، ويحتاج الأمر إلى إجراء البحث في بعض منها فقط ، فستحتاج إلى تحديد ذلك عند إدخال find ./folder ./folder1 -type f -name "word"
و -اسم "الكلمة" - الوسائط المتبقية.
بدون الوسيطة المقابلة ، لن يتم عرض الكائنات المخفية في الدلائل الممسوحة ضوئيًا في وحدة التحكم. لذلك ، يقوم المستخدم يدويًا بإدخال خيار إضافي لينتهي بالأمر: find ~ -type f -name ".*"
. ستتلقى قائمة كاملة بجميع الملفات ، ولكن إذا لم يكن الوصول إليها متاحًا ، فاكتب sudo
في السطر قبل أن تجد الكلمة لتنشيط حقوق المستخدم الخارق.
يمكن لكل مستخدم إنشاء عدد غير محدود من الدلائل والكائنات في مواقع مختلفة. أسرع طريقة للعثور على المعلومات التي تخص أحد المستخدمين ، وذلك باستخدام الأمر find وأحد وسيطاته. في قائمة "المحطة الطرفية" find . -user username
find . -user username
، حيث اسم المستخدم هو اسم المستخدم. بعد دخول المسح سيبدأ تلقائيا.
يعمل نفس المخطط تقريبًا مع مجموعات المستخدمين. يتم بدء تحليل الملفات المرتبطة بإحدى المجموعات من خلال find /var/www -group groupname
. لا تنس أنه يمكن أن يكون هناك عدد كبير من الكائنات وأحيانًا يستغرق الأمر وقتًا طويلاً لإخراجها جميعًا.
يحفظ نظام التشغيل تلقائيًا تاريخ تغيير كل ملف موجود. يتيح لك الأمر find العثور عليها جميعًا بواسطة المعلمة المحددة. ما عليك سوى تسجيل sudo find / -mtime N
، حيث N هو عدد الأيام منذ آخر مرة تم فيها تعديل الكائن. بادئة sudo هنا مطلوبة للحصول على بيانات حول الملفات المخصصة فقط للمستخدم الخارق.
إذا كنت مهتمًا بعرض العناصر التي فتحت آخر مرة قبل عدد معين من الأيام ، فإن الخط يغير مظهره قليلاً ليقوم sudo find / -atime N
كل كائن له حجمه الخاص ، على التوالي ، يجب أن يكون لأمر البحث عن الملفات وظيفة تسمح لك بترشيحها حسب هذه المعلمة. find قادر على القيام بذلك ، يحتاج المستخدم فقط إلى ضبط الحجم بالوسيطة. ما عليك سوى إدخال find / -size N
، حيث N هي وحدة التخزين بالبايت أو الميجابايت (M) أو الجيجابايت (G).
يمكنك تحديد نطاق العناصر المطلوبة. ثم find / -size +500M -size -1000M
التصفيات مع الأمر وستحصل ، على سبيل المثال ، على السطر التالي: find / -size +500M -size -1000M
. سيعرض هذا التحليل ملفات أكثر من 500 ميجابايت ، ولكن أقل من 1000.
بعض الملفات أو المجلدات فارغة. إنها تشغل مساحة إضافية على القرص وتتداخل أحيانًا مع التفاعل الطبيعي مع الكمبيوتر. يجب العثور عليها من أجل اتخاذ قرار بشأن المزيد من الإجراءات ، وسوف يساعدك find /folder -type f -empty
هذا ، حيث يكون / folder هو المكان الذي يتم فيه إجراء الفحص.
بشكل منفصل ، أود أن أذكر بإيجاز الحجج المفيدة الأخرى التي أصبحت مفيدة للمستخدم من وقت لآخر:
-mount
- التقييد على نظام الملفات الحالي فقط ؛ -type f
- عرض الملفات فقط ؛ -type d
- إظهار الدلائل فقط ؛ -nogroup
، -nouser
- البحث عن الملفات التي لا تنتمي إلى أي مجموعة أو لا تنتمي إلى المستخدم ؛ -version
- اكتشف إصدار الأداة المساعدة المستخدمة. على هذا الإلمام مع الأمر find كاملة. إذا كنت ترغب في الدراسة بالتفصيل أدوات وحدة التحكم القياسية الأخرى لأنظمة التشغيل على Linux kernel ، فإننا ننصحك بالرجوع إلى المواد المنفصلة الخاصة بنا على الرابط التالي.
مزيد من التفاصيل: الأوامر المستخدمة بكثرة في Linux Terminal
بعد البحث عن المعلومات المطلوبة ، يمكنك تنفيذ أي إجراءات أخرى معها ، على سبيل المثال ، تحرير المحتوى أو حذفه أو دراسته. وهذا سوف يساعد المرافق الأخرى المضمنة "المحطة الطرفية" . تم العثور على أمثلة على استخدامها أدناه.
انظر أيضًا: أمثلة على الأوامر البقرى / قط / ليرة سورية في لينكس