أمر fc في Bash: استخدام خفيف للغاية لقذف Bash Shell مثل الاحتراف

هل سبق لك أن قمت بتشغيل أمر في Bash وتلقيت خطأ بسبب كلمة مكتوبة بشكل خاطئ؟ أو ربما نسيت الأوامر الثلاثة الأخيرة التي قمت بتشغيلها؟ بدلاً من إعادة كتابة الأوامر السابقة أو تذكرها، يمكن أن يساعدك الأمر fc في Bash على إجراء تعديلات سريعة وإعادة تنفيذ الأوامر السابقة.

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

المتطلبات الأولية

سيكون هذا المقال بمثابة دليل تعليمي. إذا كنت تخطط لمتابعة الخطوات خطوة بخطوة، فستحتاج إلى جهاز كمبيوتر يعمل بنظام تشغيل لينكس أو جهاز كمبيوتر يعمل بنظام ويندوز 10 مع تمكين نظام Windows Subsystem for Linux (WSL). سيتم استخدام Ubuntu 20.04 LTS في هذا البرنامج التعليمي.

حول أمر fc في Bash

fc ليس تطبيقًا لينكس بل هو أداة مدمجة في قائد الشل في Bash. يتوفر Bash في معظم توزيعات لينكس الرئيسية. ببضع نقرات، يسمح لك أمر fc في Bash بإدراج أو تحرير أو تنفيذ الأوامر السابقة.

الأمر fc متوفر أيضًا في قالب الشل (ZSH) للقشرة. ولكن المثال في هذه المقالة سيستخدم fc في Bash.

هل قمت بتشغيل أمر طويل تبين أنه خاطئ؟ سيوفر لك fc عناء إعادة كتابة الأمر بأكمله. بدلاً من ذلك، يتيح لك fc تحرير الأمر باستخدام محرر النص الذي تختاره. بعد حفظ التعديلات الخاصة بك، ستُنفذ الأوامر المحررة تلقائيًا!

هل أنت مستعد لتجربة fc؟ لنقم بالانغماس!

عرض الأوامر السابقة

هل ابتعدت عن جهاز الكمبيوتر الخاص بك، ثم عدت، ونسيت أي أمر قمت بتشغيله آخر مرة؟ أو ربما لا تتذكر إذا كنت قد قمت بتنفيذ عدة أوامر في التسلسل الصحيح. ماذا تفعل؟ استرخ، سيساعدك fc على التذكر. إليك كيفية القيام بذلك.

1. قم بفتح نافذة الطرفية Bash على جهاز الكمبيوتر الخاص بك.

2. لكي يكون fc مفيدًا بأي شكل من الأشكال، يجب أن يحتوي على نوع من تاريخ الأوامر للعمل معه. نظرًا لأنك قمت للتو بفتح نافذة طرفية جديدة، قد لا يكون هناك تاريخ أوامر بعد. لبناء تاريخ الأوامر للاختبار، انسخ كل أمر أدناه وقم بتشغيله في الطرفية الخاصة بك. هذه الأوامر غير مزعجة، ولن تضع جهاز الكمبيوتر الخاص بك في خطر.

# مسح الشاشة
 clear
 
# اطبع سلسلة إلى جلسة الطرفية
 echo 'working on the command line with fc'
 
# اعرض بعض معلومات النظام
 uname -a
 
# استخدم أمر PS للحصول على معلومات العملية
 ps aux

3. بعد ذلك، قم بسرد جميع الأوامر في التاريخ عبر تشغيل الأمر أدناه. الخيار -l يوجه fc لسرد جميع الأوامر السابقة فقط دون تنفيذها.

fc -l

كما يمكنك رؤية أدناه، قام أمر fc بعرض جميع الأوامر الأربع التي قمت بها سابقًا. الأرقام على اليمين تشير إلى ترتيب تنفيذ كل أمر.

Listing command history with fc

تحرير وإعادة تنفيذ آخر أمر

تخيل موقفًا حيث تقوم بتثبيت تطبيق، وقمت بخطأ إملائي. نتيجة لذلك، يفشل الأمر. بدلاً من إعادة كتابة الأمر بأكمله، لماذا لا تقوم بتحرير الأمر وإعادة تنفيذه تلقائيًا؟ للقيام بذلك، اتبع هذه الخطوات.

1. قم بمحاكاة تثبيت تطبيق غير موجود عن طريق تشغيل الأمر أدناه في الطرفية الخاصة بك. لاحظ أنك ستكتب بشكل متعمد اسم التطبيق بشكل خاطئ caffiene.

sudo apt install caffiene -y

نتيجة لذلك، يفشل التثبيت المحاول. ستحصل على رسالة مماثلة لتلك الموجودة أدناه.

Failed installation message

2. لتصحيح آخر أمر قمت بتنفيذه، قم بتشغيل الأمر أدناه في الطرفية. سيفتح ذلك مخزن تاريخ الأوامر في محرر النص الافتراضي. في هذا المثال، محرر النص الافتراضي هو nano.

fc

تظهر اللقطة أدناه آخر أمر داخل محرر nano.

Editing the last command with nano.

إذا لم يكن نانو المحرر المفضل لديك ، يمكنك توجيه fc لاستخدام محرر مختلف ، مثل في. للقيام بذلك ، قم بتضمين الخيار -e تليه اسم محرر النص. على سبيل المثال ، سيفتح fc -e vi تاريخ الأوامر في محرر النص vi.

3. بمجرد دخولك إلى محرر النص نانو ، قم بتصحيح اسم التطبيق من caffiene إلى caffeine.

4. بعد تصحيح اسم التطبيق ، اضغط CTRL+X للخروج من نانو.

5. في النافذة التالية التي تطلب منك حفظ البيانات المعدلة؟ ، اضغط Y —> Enter لحفظ التغييرات.

Editing the last command and saving changes to the history buffer

فور خروجك من محرر النص ، ينفذ fc تلقائيًا الأمر الذي قمت بتحريره.

Automatically re-executing the edited command

تحرير وإعادة تنفيذ الأمر السابق

مع fc ، ليس فقط يمكنك تحرير الأمر الأخير الذي قمت بتشغيله ، ولكن يمكنك أيضًا تحرير أي من الأوامر السابقة التي قمت بتنفيذها. على سبيل المثال ، لتحرير الأمر echo 'working on the command line with fc' ، اتبع هذه الخطوات.

1. قم بعرض الأمر السابق في الطرفية عن طريق تشغيل الأمر أدناه.

fc -l

2. ابحث عن الأمر الذي تريد تحريره من قائمة تاريخ الأوامر وأحضر عدد الأمر الموجود إلى يساره. في هذا المثال ، رقم الأمر هو 2.

Listing the command history and finding the command number to edit

3. لتحرير الأمر برقم الإدخال 2 ، قم بتشغيل الأمر أدناه في الطرفية. سيتم فتح الأمر في محرر النص للتحرير.

fc 2

4. بمجرد الدخول إلى محرر النصوص، قم بتحرير الأمر حسب الحاجة.

5. بعد تعديل الأمر، اضغط على CTRL + X للخروج من نانو.

6. عند الإشارة التالية التي تطلب منك حفظ النص المعدل؟، اضغط على Y ثم Enter لحفظ التغييرات.

Editing a past command entry in the history buffer

بعد حفظ الأمر والخروج من محرر النصوص، سيتم تنفيذ الأمر الذي تم تعديله تلقائيًا في الشل.

تحرير وتنفيذ عدة أوامر متعددة

إذا كنت تعتقد أن أمر fc يمكنه فقط تحرير وتنفيذ أمر سابق واحد في كل مرة، فستفاجئ. لماذا؟ يسمح لك أمر fc أيضًا بتحرير عدة أوامر سابقة، كيف يكون تحرير عدة أوامر سابقة مفيدًا؟ على سبيل المثال، يمكنك تغيير ترتيب تنفيذ الأوامر.

فلنفترض أنك ترغب في تحرير الأوامر السابقة من 2 إلى 7. للقيام بذلك، قم باتباع الخطوات التالية.

1. قم بتشغيل الأمر التالي في نافذة الطرفية الخاصة بك واضغط على Enter. الأمر أدناه يقرأ كـ fc <space> 2 <space> 7، وهذا يعني أن fc سيفتح الأوامر من 2 إلى 7 للتحرير.

fc 2 7

2. بعد ذلك، قم بتحرير الأوامر حسب الحاجة. في هذا المثال:

  • احذف الأمر sudo apt install caffiene -y.
  • قم بتبديل ترتيب أمر uname -a وأمر ps aux.
  • احذف الأمر clear.
Editing command history entries 2 through 7 at once

3. بعد تحرير الأوامر، اضغط على CTRL + X للخروج من نانو.

4. عند الإشارة التالية التي تطلب منك حفظ النص المعدل؟، اضغط على Y ثم Enter لحفظ التغييرات.

تم تعديل الأوامر التي قمت بتحريرها ستُنفذ تلقائيًا بعد الخروج من محرر النصوص.

Automatically re-executing the edited command

إعادة تنفيذ أمر سابق بدون تحرير

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

  1. قم بعرض الأمر السابق في الطرفية عن طريق تشغيل الأمر أدناه.
fc -l

2. من قائمة سجل الأوامر السابقة، ابحث عن الأمر الذي تريد تنفيذه مرة أخرى وادرس الرقم الموجود إلى يساره. في هذا المثال، رقم الأمر هو 2.

Listing the command history and finding the command number to execute

3. لتنفيذ الأمر السابق المحدد، قم بتشغيل الأمر أدناه في الشل. يُوجّه الخيار -s الأمر fc لتخطي التحرير ومتابعة تنفيذ الأمر رقم 2.

fc -s 2

تُظهر الصورة أدناه تنفيذ الأمر رقم 2 من سجل الأوامر السابقة باستخدام fc.

Executing a previous command from the history buffer without editing

الاستنتاج

هدف هذا المقال هو إثارة اهتمامك بأمر مفيد ولكن غالبًا ما يتم تجاهله ونسيانه يُدعى fc. تعلمت كيفية استخدام fc لتجنب إعادة كتابة الأوامر التي تم تنفيذها مسبقًا، وهو ما قد يكون إهدارًا للوقت.

بعد أن حصلت الآن على المعرفة حول fc، هل تعتقد أنك ستستخدمه؟ أم أنك ستفضل ما زلت إعادة كتابة الأوامر في الشل بدلاً من ذلك؟ اتخذ خيارًا حكيمًا!

Source:
https://adamtheautomator.com/bash-fc-command/