أول الصعوبات التي تواجه مستخدمي نظام لينكس هي معرفة الطريقة التي تُتيح البحث عن الملفات وإيجادها، فقد لا يعلم المستخدم أن لينكس يقدم ست طرقٍ مختلفةٍ من خلال استخدام اوامر البحث في لينكس Find و locate و which و whereis و whatis و grep، حيث تقدم كلٍ منها نتائج مختلفةً عن البقية؛ فكل أمرٍ مخصصٍ للبحث ضمن مجالٍ محددٍ وظروفٍ خاصةٍ، لذلك يُفضّل معرفة طريقة استخدام كافة اوامر البحث في لينكس .

اوامر البحث في لينكس

أمر البحث Find

يساعد الأمر Find في نظام التشغيل لينكس بالانتقال بين الملفات بشكلٍ تسلسليٍّ أقرب للشكل الهرمي، حيث يمكن استخدامه للبحث عن الملفات والدلائل وتنفيذ عمليات متتالية عليها، وذلك عن طريق ملفٍ أو مجلدٍ أو اسمٍ أو تاريخ الإنشاء أو تاريخ التعديل، أو الجهة المالكة والأذونات ويُدخل الأمر وفقًا للطريقة التالية:

Find [المكان الذي تريد البدء بالبحث منه]

[ما الذي تبحث عنه] [ الخيارات] [وصف الشيء المراد البحث عنه]

  • الخيارات المستخدمة في الأمر Find
  • exec CMD- : يصبح الملف المراد البحث عنه وفقًا للطريقة السابقة كأداةٍ للخروج من تنفيذ الأمر بنجاحٍ.
  • OK CMD- : يعمل هذا الخيار كما السابق باستثناء وضع اسم المستخدم أولًا.
  •  inum N- : للبحث عن ملفات مع رقم N.
  • Links N- : البحث عن ملفات مع رابط N.
  • name demo- : البحث عن ملفاتٍ مصنفةٍ باستخدام اللاحقة demo.
  • newer file- : البحث عن ملفاتٍ أُنشئت أو عُدّلت بعد ملف.
  •  perm octal- : البحث عن ملفٍ إذا كان التصريح هو octal.
  •  print- :عرض اسم المسار الخاص بالملفات المكتشفة من خلال استخدام بقية الطريقة الأساسية.
  • empty- : البحث عن ملفات ومسارات فارغة.
  • size +N/-N- : البحث عن ملفاتٍ من نوع N يتبعها C والتي يمكن استخدامها لقياس الحجم.
  •  user name- : البحث عن ملفاتٍ تابعةٍ لاسم مستخدم أو رقم المعرف ID.
  • \(expr)\: صحيحة إن كانت expr صحيحة، وتُستخدم لمعيار التجميع إضافة للاحقتين OR أو AND
  • expr! : صحيحةٌ إن كانت EXPER خاطئة.1

استخدام امر البحث locate

  • تثبيت وظيفة الأمر locate

يعمل الأمرlocate بشكلٍ أسرع من الأمر Find لأنه لا يعتمد على قاعدة بيانات بنية الملف، ولا تكون وظيفة الأمرlocate مثبتةً في كافة إصدارات لينكس لذلك يمكن تثبيتها من خلال كتابة الأوامر التالية:

  • اكتب sudo apt-get update ثم اضغط على مفتاح Enter.
  • في Debian و ubuntu اكتب: sudo apt-get install mlocate ثم  اضغط Enter.
  • في Arch لينكس استخدم مدير مجموعة pacman: اكتب pacman-s mlocate.
  • فيGentoo استخدم emerge: اكتب emerge mlocate.
  • تحديث قاعدة بيانات locate

لن يتمكن الأمر locate من إيجاد أي شيءٍ ما لم توجد قاعدة البيانات الخاصة به وتحدث، إما تلقائيًا أو يدويًا من خلال كتابة: sudo updated ثم الضغط على مفتاح Enter.

  • استخدم امر البحث locate

يُعرف عن الأمر Locate أنه سريعٌ لكنه لا يتمتع بالخيارات الموجودة لدى الأمر Find، لذلك يمكن البحث بواسطته من خلال كتابة الأمر التالي كمثال: locate -i “.jpg” ، فمن خلاله سيبحث في النظام كاملًا عن الملفات ذات الامتداد jpg بينما ستقوم الإشارة * بذات الوظيفة في الأمر Find، ويتجاهل –i تمامًا كما هي الحال في الأمر Find.

  • تقييد نتائج البحث

في حال كانت نتائج البحث كثيرةً جدًا، يمكن تقليلها من خلال خيار –n متبوعًا بعدد النتائج المرغوب عرضها مثلًا: locate –n 20 –I “*.jpg” وهنا ستظهر أول 20 نتيجةٍ للبحث باستخدام Locate.2

استخدام امر البحث Which

يمكن من خلال استخدام which البحث من خلال الأدلة الموجودة ضمن المسار المخصص للمستخدم ومحاولة تحديد موقع الأمر المراد البحث عنه، كما يُساعد في تحديد نسخة البرنامج أو الأمر الذي سيعمل بمجرد كتابة اسمه ضمن الحقل المخصص للأوامر، فمثلًا إذا أردنا البحث عن برنامجٍ ما وليكن geoloc فلا بد وأن يكون في مكانٍ ما ضمن المسار، لأنه وما إن نكتب اسمه سيعمل مباشرةً، لذلك يمكن استخدام الأمر which لتحديد موقعه من خلال كتابة: which geoloc ثم الضغط على مفتاح Enter. ويمكن البحث عن أي نسخةٍ أخرى للبرنامج في مواقعٍ أخرى من خلال كتابة: which –a geoloc.3

استخدام الأمر whereis

هذا الأمر مشابهٌ تمامًا للأمر which لكنه أكثر تفصيلًا، فبالإضافة إلى موقع الأمر أو ملف البرنامج سيُقدم الأمر whereis معلومات عن موقع ملفات الصفحات ورموز المصدر اليدوية، فغالبًا لن تتواجد هذه الملفات في الكمبيوتر لكن إن وجدت فإن الأمر whereis سيظهرها.

عادةً تشير كلمة “package أو الحزمة” للصفحات ورمز المصدر الخاص بالأمر، وفي حال الرغبة بمعرفة المكونات المختلفة للحزمة الخاصة بالأمر diff اكتب الأمر: whereis diff والذي سيُظهر موقع صفحات diff وملفه الثانوي، ولتضييق نطاق النتائج ليظهر فقط موقع الملف الثانوي يمكن استخدام الخيار –b بحيث يُكتب: whereis –b diff

أما لتضييق نطاق البحث لتظهر الصفحات فقط يجب استخدام خيار –m، ولتظهر فقط ملفات رمز المصدر يجب استخدام الخيار –s ولرؤية المواقع التي بحث الأمر whereis ضمنها يجب استخدام الخيار -1

استخدام مر البحث whatis

من اوامر البحث في لينكس التي تُستخدم لعمليات البحث السريعة من خلال الصفحات الدليلية، فهو قادرٌ على عرض إيضاحاتٍ مختصرةٍ بسطرٍ واحدٍ حول الأمر الذي يبحث عنه، فعلى سبيل المثال عند استخدام الأمر whatis سيظهر توضيحين لكل نتيجة- توضيح أو وصف قصير إضافةً لقسم الدليل المرقم الذي يتضمن التوضيح الكامل. وللدخول إلى الدليل في القسم المتعلق به الإيضاح يجب استخدام الأمر man وذلك من خلال كتابة: man 1 man

يُستخدم الخيار –s للحد من البحث ضمن أقسام الدليل فمثلًا نكتب: whatis –s “7”man فستظهر نتائج تشير فقط إلى القسم 7 من الدليل.

استخدام امر البحث grep

يُستخدم الأمر grep للبحث عن النص أو البحث ضمن ملفٍ محددٍ عن سطورٍ تتضمن رابطًا متعلقًا بالكلمات المختارة، حيث يعرض الأمر grep الأسطر المتطابقة. وللبحث باستخدام grep عن الملفات المتعلقة باسم مستخدمٍ وليكن harvy مثلًا نكتب: grep harvy /etc/passwd

وليتجاهل الأمر لاسم المستخدم في نتيجة البحث نستخدم خيار –i فنكتب مثلًا grep –I “harvy” /etc/passwd . وللبحث عن كلمةٍ محددةٍ مع تجاهل التسلسلات الثانوية يجب استخدام الخيار -w .4

المراجع