كيفية استخدام الأمر fd على نظام Linux

نشرت: 2022-01-29
نافذة طرفية على كمبيوتر Linux مع سطح مكتب على غرار Ubuntu.
فاطماواتي أحمد زينوري / شاترستوك

في نظام Linux ، يعد fd بديلاً أسهل لأمر find . يحتوي على بناء جملة مبسط ، ويستخدم افتراضيات معقولة ، وله سلوك منطقي مدمج. دعنا نأخذها من خلال خطواتها.

fd مقابل البحث: ما هو الفرق؟

لا يُقصد بالأمر fd أن يحل محل أمر find التقليدي ، والذي كان موجودًا على نظام Linux ، جيدًا ، إلى الأبد. بدلاً من ذلك ، يحاول fd تلبية معظم الاستخدامات الشائعة find بطريقة أكثر وضوحًا - وغالبًا ما يكون أسرع بثماني أو تسعة أضعاف من find . يمكنك رؤية بعض معاييره على صفحة مستودع GitHub للمشروع.

10 أوامر لينكس أساسية للمبتدئين
ذات صلة 10 أوامر لينكس أساسية للمبتدئين

يحتوي fd على إخراج ملون ، مشابه لذلك الموجود في بعض أوضاع ls . إنه تكراري ، لكنه لا يبحث في الدلائل المخفية افتراضيًا. إنه يعرف معلومات عن Git وسيتجاهل تلقائيًا أي أنماط في ملف ".gitignore" الخاص بك.

fd غير حساس لحالة الأحرف بشكل افتراضي. ومع ذلك ، إذا كان نمط البحث الخاص بك يحتوي على حرف كبير ، فإن fd يعمل في وضع حساس لحالة الأحرف. بالطبع ، يمكنك تجاوز الإعدادات الافتراضية ، ولكن في كثير من الحالات ، تعمل لصالحك.

ذات صلة: كيفية استخدام جميع أوامر بحث Linux

تركيب fd

منذ Ubuntu 19.04 (Disco Dingo ،) يمكنك تثبيت fd مباشرة عن طريق استدعاء الحزمة التي تم صيانتها رسميًا باستخدام apt-get . إذا كنت تقوم بتشغيل إصدار أقدم من Ubuntu ، فتحقق من تعليمات التثبيت على صفحة Git hub.

اكتب ما يلي:

 sudo apt-get install fd-find 

الإعلانات

في Ubuntu ، يكون الأمر fdfind لتجنب تضارب الاسم مع أداة مساعدة أخرى موجودة. إذا كنت تريد أن تكون fd ، فيمكنك إعداد اسم مستعار:

 الاسم المستعار fd = fdfind 

لجعل الاسم المستعار ثابتًا بحيث يظل متاحًا بعد إعادة التشغيل ، ضعه في ملف ".bashrc" أو ".bash_aliases".

ذات صلة: كيفية إنشاء أسماء مستعارة ووظائف شل على نظام Linux

لتثبيت fd على Fedora ، اكتب هذا الأمر:

 sudo dfn تثبيت fd-find 

في Manjaro ، اكتب ما يلي:

 sudo pacman -Syu fd 

fd مقابل fdfind

لتجنب الالتباس ، تركنا الأمر باسمه الافتراضي ، fdfind ، على كمبيوتر اختبار Ubuntu الخاص بنا. fd و fdfind هما نفس الأمر تمامًا ، كما سترى في المثال التالي (إذا طلبت من fdfind إظهار نسخته ، فإنه يطلق على نفسه "fd"):

 fdfind - الإصدار 

سنسمي الأمر "fed" ، لكن في الأمثلة ، سنستخدم Ubuntu "fdfind". في توزيعات Linux الأخرى ، يمكنك كتابة "fd" بدلاً من "fdfind" لحفظ بعض ضغطات المفاتيح.

عمليات بحث بسيطة مع fd

إذا كنت تستخدم fd بدون خيارات سطر أوامر ، فإنه يتصرف مثل ls قليلاً ، إلا أنه يسرد الملفات في الدلائل الفرعية افتراضيًا.

اكتب ما يلي:

 fdfind 

يظهر الإخراج بألوان مختلفة لأنواع ملفات وأدلة مختلفة.

الإعلانات

لمشاهدة ملفات من نوع معين ، استخدم الخيار -e (امتداد). لاحظ أنه ليس عليك أن تسبق الامتداد بنقطة (.) ، كما أنها ليست حساسة لحالة الأحرف.

على سبيل المثال ، يمكنك كتابة ما يلي:

 fdfind -e png 

الآن ، الملفات الوحيدة المدرجة هي ملفات صور PNG.

للبحث عن ملف واحد ، اكتب اسمه في سطر الأوامر ، كالتالي:

 fdfind index.page 

تم العثور على الملف وكان في دليل فرعي. لم يكن علينا إخبار fd بالبحث بشكل متكرر.

لبدء البحث في دليل معين ، قم بتضمين مسار ملف في سطر الأوامر. سيبدأ الأمر التالي البحث في الدليل “/ etc” ، ويبحث عن الملفات التي تتضمن “passwd” في اسم الملف:

 fdfind passwd / إلخ 

هنا ، نحن نبحث عن جميع ملفات التعليمات البرمجية المصدر C التي تحتوي على "تنسيق" في اسم الملف:

 fdfind -ec تنسيق 

تم العثور على ملفين متطابقين.

fd و Git

Git هو نظام تحكم في إصدار كود المصدر شائع للغاية. إذا كنت تستخدم Git على جهاز الكمبيوتر الخاص بك ، فمن المحتمل أنك تستخدم ملفات ".gitignore" لإخبار Git بالملفات التي يجب أن يهتم بها ، والتي يمكن أن يتجاهلها. بشكل افتراضي ، يحترم fd الإعدادات الموجودة في ملفات ".gitignore" الخاصة بك.

الإعلانات

في هذا الدليل ، لدينا مستودع Git وملف ".gitignore". نكتب ما يلي:

 ls -adl .git * 

دعنا نطلب fd لسرد أي ملفات تحتوي على "تنسيق" في اسم الملف. سنكرر بعد ذلك البحث ونستخدم الخيار -I (no ignore). هذا يخبر fd بتجاهل الإعدادات في ملف “.gitignore” والإبلاغ عن كل ملف مطابق.

للقيام بكل هذا ، نكتب ما يلي:

 fdfind تنسيق
 fdfind تنسيق -I 

الملفان الإضافيان في المجموعة الثانية من النتائج هما ملفات الكائنات. يتم إنشاؤها عندما يتم تجميع برنامج ملف. ثم يتم استخدامها بواسطة الرابط لإنشاء الإصدار النهائي القابل للتنفيذ من البرنامج.

يتم عادةً تجاهل ملفات الكائنات بواسطة برامج التحكم في إصدار التعليمات البرمجية المصدر. يتم إعادة إنشائها في كل مرة تقوم فيها بتجميع برنامجك ، لذلك لا يتعين عليك تخزين نسخ منها. هناك إدخال في ملف “.gitignore” يوجه Git لتجاهل ملفات الكائنات ، وبشكل افتراضي ، يتجاهلها fd أيضًا.

يجبر الخيار -I (no ignore) fd على إرجاع كل ما يعثر عليه ، بدلاً من الاسترشاد بملف “.gitginore”.

أنواع الملفات وحساسية حالة الأحرف

يمكنك أن تطلب من fd البحث عن الدلائل والملفات (بما في ذلك تلك القابلة للتنفيذ والفارغة) والروابط الرمزية. يمكنك القيام بذلك باستخدام الخيار -t (النوع) ، متبوعًا بأحد الأحرف أدناه:

  • f : ملف.
  • د : الدليل.
  • l : ارتباط رمزي.
  • x : ملف قابل للتنفيذ.
  • هـ : ملف فارغ.

ما يلي يبحث عن دليل يسمى الصور:

 fdfind -td الصور 

الإعلانات

تم العثور على تطابق ، دليل فرعي واحد أقل من الدليل الحالي.

دعونا نرى كيف تعمل حساسية حالة الأحرف مع أنماط البحث. نكتب ما يلي أولاً للبحث عن الملفات التي تحتوي على كلمة "geo" في أسماء ملفاتهم ، ثم عن الملفات التي تحتوي على "Geo" في أسماء ملفاتهم:

 fdfind -tf الجغرافيا
 fdfind -tf الجغرافية 

في الأمر الأول ، استخدمنا نمط بحث صغير ، مما جعل fd يعمل بطريقة غير حساسة لحالة الأحرف. هذا يعني أن كلاً من "Geo" و "geo" مطابقتان صالحتان.

احتوى الأمر الثاني على حرف كبير ، مما جعل fd يعمل بطريقة حساسة لحالة الأحرف. هذا يعني أن "Geo" فقط هي مطابقة صالحة.

تنفيذ الأمر

يسمح لك الأمر fd بتشغيل أمر آخر وتنفيذه على كل ملف من الملفات الموجودة.

لنفترض أننا نعلم أن هناك ملفًا مضغوطًا في مكان ما في شجرة دليل الكود المصدري. يمكننا البحث عنها باستخدام الأمر التالي الذي يبحث عن الملفات ذات الامتداد ZIP:

 fdfinf -e zip 

الإعلانات

باستخدام الخيار -x (exec) ، يمكنك تمرير كل ملف موجود إلى أمر آخر لتتم معالجته بواسطته. على سبيل المثال ، يمكننا كتابة ما يلي لاستدعاء أداة فك الضغط لفك ضغط ملف ZIP ("{}" هو عنصر نائب يمثل الملف الذي تم العثور عليه):

 fdfind -e zip -x بفك ضغط {}

سيؤدي هذا إلى فك ضغط الملف في دليل العمل الحالي. إذا أردنا فك ضغطه في الدليل الذي يحتوي على ملف ZIP ، فيمكننا استخدام أحد العناصر النائبة التالية:

  • {} : مسار الملف الكامل واسم الملف الذي تم العثور عليه.
  • {/} : اسم ملف الملف الذي تم العثور عليه.
  • {//} : الدليل الذي يحتوي على الملف الموجود.
  • {/.} : اسم ملف الملف الذي تم العثور عليه بدون الامتداد.

لكي يتم العثور على ملف ZIP الخاص بنا وفك ضغطه في الدليل الذي يحتوي عليه ، يمكننا استخدام خيار unzip -d (الدليل) ، وتمرير العنصر النائب للدليل الأصل ( {//} ):

 fdfind -e zip -x unzip {} -d {//} 

ثم يتم تحديد موقع ملف ZIP وفك ضغطه في الدليل الأصلي الخاص به.

الذهاب إلى البحث الخاص بك؟

نظرًا لأنه يغطي الاستخدامات الأكثر شيوعًا بمثل هذه البساطة ، يمكن أن يصبح fd أمر الانتقال إلى "البحث" بسهولة. كلما احتجت إلى ميزات أكثر تقدمًا ، يمكنك دائمًا العودة إلى ذلك المخضرم المخضرم ، find .

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين