24Aug

كيفية استخدام تاريخ باش الخاص بك في لينكس أو ماك محطة

قذيفة باش هي بيئة المحطة القياسية المضمنة مع معظم توزيعات لينكس، المضمنة مع ماك، والمتاحة للتثبيت على ويندوز 10. يتذكر الأوامر التي تكتبها وتخزينها في ملف التاريخ.ربما كنت تعرف بعض الأساسيات من تاريخ باش، لكنه أقوى بكثير مما قد يدرك.

اختصارات لوحة المفاتيح

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

  • سهم لأعلى أو كترل + P : انتقل إلى الأمر السابق في السجل الخاص بك.اضغط على المفتاح عدة مرات للسير إلى الوراء من خلال الأوامر التي استخدمتها.
  • سهم لأسفل أو كترل + N : انتقل إلى الأمر التالي في السجل الخاص بك.اضغط على مفتاح عدة مرات على المشي إلى الأمام من خلال الأوامر التي استخدمتها.
  • ألت + R : أعد أي تغييرات على أمر تم سحبه من السجل إذا كنت قد عدلته على السطر الحالي.

باش لديه أيضا "استدعاء" وضع خاص يمكنك استخدامها للبحث عن الأوامر التي قمت بتشغيلها سابقا، بدلا من التمرير من خلالها واحدا تلو الآخر.

  • كترل + R : استدعاء الأمر الأخير مطابقة الأحرف التي تقدمها.اضغط على هذا الاختصار وبدء الكتابة للبحث في التاريخ باش لأمر.
  • كترل + O : قم بتشغيل الأمر الذي عثرت عليه باستخدام كترل + R.
  • كترل + G : اترك وضع البحث عن السجل بدون تشغيل أمر.

عرض تاريخ باش الخاص بك

يمكنك طباعة سجل باش بأكمله على الشاشة عن طريق تشغيل أمر واحد:

التاريخ

سترى قائمة بجميع الأوامر في تاريخ باش، جنبا إلى جنب مع عدد إلى يسار كل منها.الأمر مع "1" بجواره هو أقدم الأمر في تاريخ باش الخاص بك، في حين أن الأمر مع أعلى عدد هو الأحدث.

يمكنك أن تفعل أي شيء تريد مع الإخراج.على سبيل المثال، يمكنك نقله إلى غريبكوماند للبحث في سجل الأوامر.

التاريخ |غريب your_search

هل يمكن أيضا أن الأنابيب إلى الأمر الذيل لعرض عدد قليل فقط من الأوامر الأخيرة التي قمت بتشغيلها.على سبيل المثال، سيعرض الأمر التالي آخر 5 إدخالات في السجل.

التاريخ |الذيل -5

تشغيل أوامر من تاريخك

باش يمكن بسرعة "توسيع" الأوامر السابقة، أو توسيعها وتعديلها.تعرف هذه الميزة ب "توسع التاريخ" وتستخدم علامة تعجب، تعرف باسم "بانغ".فقط اكتب لهم في موجه واضغط إنتر لتشغيلها مثل كنت تشغيل أي أمر آخر.

لتشغيل أمر محدد من السجل الخاص بك حسب رقمه، استخدم الأمر التالي:

! #

على سبيل المثال، لنفترض أنك تريد تشغيل الأمر 12th من سجل باش الخاص بك.هذا الأمر مع "12" إلى يسار من ذلك عند تشغيل الأمر التاريخ.اكتب الأمر التالي.

! 12

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

! !

يمكنك أيضا الرجوع إلى أمر عدد معين من الخطوط مرة أخرى.على سبيل المثال،! -2 سيتم تشغيل الأمر الثاني إلى الأخير الذي ركضته.!!يعني نفس الشيء!

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

سودو! !

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

! !|غريب نص

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

! نص

لذلك، إذا قمت مؤخرا بتشغيل الأمر الذي بدأ مع بينغ، يمكنك تشغيل الأمر التالي للبحث عنه.هذا سوف البحث إلى الوراء من خلال التاريخ الخاص بك، حدد أحدث الأمر الذي يبدأ مع "بي"، وعلى الفور تشغيله:

! بي

يمكنك إلحاق a: p بأي من التوسعات المذكورة أعلاه، وسوف يقوم باش بطباعة الأمر إلى الجهاز الطرفي بدون تشغيله.ويكون هذا مفيدا إذا كنت تريد التأكد من تحديد الأمر الصحيح قبل تشغيله.

! 12: p! !: p! النص: p

وسيطات إعادة الاستخدام من تاريخك

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

الأمر! $

على سبيل المثال، لنفترض أنك قمت بتشغيل الأمر الذي تعمل باللمس /home/chris/ some_long_file_name_you_dont_want_to_type_again.أنت الآن تريد تشغيل الأمر نانو /home/chris/ some_long_file_name_you_dont_want_to_type_again.بدلا من كتابة كل شيء من الصفر، هل يمكن تشغيل:

نانو! $

و! $ تجعل باش ملء تلقائيا في الوسيطة الأخيرة من الأمر السابق.

هذا يملأ فقط في الوسيطة الأخيرة.لذلك، إذا قمت بتشغيل بينغ google.com -c 4 ثم قم بتشغيل بينغ! $، وهذا من شأنه للتو توسيع إلى "بينغ 4".

لإصلاح هذه الحالة، يمكنك استخدام الحيلة التالية لتوسيع الوسيطة الأولى على السطر بدلا من الأخير:

الأمر! ^

لذا، إذا قمت بتشغيل بينغ google.com -c 4 ثم ركض بينغ! ^،باش توسيع هذا إلى "بينغ google.com"

لملء كافة الوسيطات المستخدمة في الأمر السابق بدلا من وسيطة واحدة فقط، يمكنك استخدام ما يلي:

الأمر! *

لذلك، إذا قمت بتشغيل بينغ!* بدلا من ذلك، سوف باش ملء تلقائيا في كافة الحجج التي استخدمتها في الأمر السابق

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

الأمر! أبك:#

على سبيل المثال، ركضنا الأمر سودو هوستنام أوبونتو في وقت سابق، وإذا قمنا بتشغيل الأمر التالي، فإن باش سيبحث إلى الوراء من خلال التاريخ للعثور على الأمر الأخير الذي يبدأ بالحروف التي نكتبها ونملأ الوسيطة التي نحددها،نحن تشغيل صدى! سو: 2، بسh سوف البحث مرة أخرى للعثور على الأمر الأخير بدءا من "سو" وملء في الوسيطة الثانية، وهو "أوبونتو".

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

الأمر! أبك: *

إعادة تشغيل الأمر السابق وتعديله

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

^ أبك ^ شيز

على سبيل المثال، إذا قمت بطريق الخطأ بتشغيل بينغ gogle.com، هل يمكن بعد ذلك تشغيل ^ جوغ ^ غوغ و باش تشغيل الأمر بينغ google.com بدلا من ذلك.

حيث يتم تخزين المحفوظات الخاصة بك، وكيفية مسح ذلك

قذيفة باش مخازن تاريخ الأوامر التي قمت بتشغيلها في ملف السجل حساب المستخدم الخاص بك في ~ /. bash_history افتراضيا.على سبيل المثال، إذا كان اسم المستخدم هو بوب، فستجد هذا الملف في /home/bob/. bash_history.

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

لمسح سجل باش الخاص بك، يمكنك تشغيل الأمر التالي.يؤدي هذا إلى محو محتويات ملف. bash_history حساب المستخدم الخاص بك:

التاريخ -c

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

صدى $ هستسيز

لتعيين السجل الخاص بك إلى صفر، قم بتشغيل الأمر التالي.

هيستسيز = 0

بالنسبة للدورة الحالية، لن يقوم باش بتخزين إدخالات السجل ما لم يتم تشغيل أمر مثل هيستسيز = 1000 لتعيينه مرة أخرى إلى عدد معين من الإدخالات.

كيفية تجاهل المساحات والتكرارات

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

هيستكونترول = إغنورسباس

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

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

هيستكونترول = إغنوريدوبس

لاستخدام كل من ميزة إغنوسباس و إغنوريدوبس تعيين المتغير هيستكونترول إلى إغنوريبوث.

هيستكونترول = إغنوريبوث

لاحظ أن متغيرات باش التي قمت بتعيينها ستستمر فقط للجلسة الحالية.ستحتاج إلى إضافة هذه الملفات إلى ملف. bashrc لحساب المستخدم لتعيين هذه القيم تلقائيا في كل جلسة باش تبدأ، إذا كنت تفضل ذلك.

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