نحن نعمل في وحدة التحكم بسرعة وكفاءة

على الشبكة ، يمكنك العثور على العديد من النصائح للعمل بفعالية في وحدة التحكم. في معظم هذه المقالات ، يتحدث المؤلفون عن الابتذال مثل "تعلم مفاتيح التشغيل sudo !! " أو " sudo !! سيتم تشغيل الأمر الأخير تحت sudo". سأخبرك ماذا تفعل عندما تكون قد تعلمت بالفعل مفاتيح التشغيل sudo !! وتعرف عن sudo !! .


يجب أن تبدأ المحطة على الفور


ما المدة التي تحتاجها لبدء تشغيل المحطة؟ وآخر؟ لفترة طويلة ، تم إطلاق محطتي الطرفية بواسطة Ctrl + Alt + T واعتقدت أنها كانت سريعة. ولكن عندما انتقلت من Openbox إلى i3 ، بدأت في تشغيل المحطة الطرفية من خلال Win + Enter ، وكانت هذه المجموعة في التكوين الافتراضي. وهل تعرف ماذا؟ لم أعد أعتقد أن Ctrl + Alt + T سريع.


بالطبع ، النكتة ليست في اكتساب المللي ثانية ، ولكن في حقيقة أنك تفتح المحطة على مستوى ردود الفعل ، ولا تلاحظها تمامًا.


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


Zsh بدلاً من باش


هذا موضوع هوليوود ، أعلم. يجب تثبيت Zsh لثلاث ميزات على الأقل: إكمال تلقائي متقدم ، تصحيح مطبعي وإكمال اسم مسار متعدد: عندما يحول Tab واحد /u/s/d إلى /usr/share/doc . لقد تحول Arch Linux منذ فترة طويلة إلى zsh في قرص التثبيت الخاص به. آمل أن تصبح zsh يومًا ما هي القشرة الافتراضية في Ubuntu. ستكون هذه لحظة تاريخية.


البدء باستخدام zsh ليس بالأمر الصعب على الإطلاق. قم بتثبيته من خلال مدير الحزم واتخاذ بعض التكوينات الجاهزة. أوصي بالتهيئة المستخدمة بواسطة Arch Linux:


 wget -O ~/.zshrc https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc 

يبقى فقط لتغيير "shell الافتراضي" إلى zsh وتسجيل الدخول.


 chsh -s $(which zsh) 

كل شيء ، استمر في العمل كما لو لم يحدث شيء.


ما يجب أن يكون موجه الصدفة


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


يجب أن يظهر موجه Shell الدليل الحالي للصدفة. إذا لم يتم عرض الدليل الحالي في موجه shell ، فسيتعين عليك الاحتفاظ به في رأسك والتحقق منه بشكل دوري باستخدام pwd . لا تفعل هذا. ضع في اعتبارك أشياء أكثر أهمية ولا تضيع الوقت باستخدام pwd .


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


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


يمكن أن يظهر موجه Shell رمز الإرجاع للأمر الأخير. دعني أذكرك بأن رمز الإرجاع الفارغ يعني أن الأمر اكتمل بنجاح ، غير صفري - فشل الأمر. يمكن العثور على رمز الإرجاع للأمر الأخير باستخدام echo $? ، لكن كتابتها كلها على لوحة المفاتيح طويلة جدًا. الأفضل ، سيُعلمك موجه shell إذا فشل الأمر.


إذا كنت تعمل مع مستودعات git ، فسيكون من المفيد عرض حالة المستودع في موجه shell: الفرع الحالي وحالة دليل العمل. بهذه الطريقة ستوفر الوقت على git status git branch وأوامر git branch ولن تخطئ في الفرع عند الالتزام.


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


يبدو موجه الصدفة الخاص بي في ظروف مختلفة كما يلي:



تظهر لقطة الشاشة أن عنوان نافذة المحطة الطرفية يؤدي مهمة مماثلة. هذه أيضًا قطعة من لوحة القيادة ويمكن أيضًا تخصيصها.


كيف تنفذ كل هذا في ملفك. .zshrc ؟ المتغير PROMPT مسؤول عن RPROMPT الأيسر و RPROMPT الأيمن. EUID متغير EUID تحديد حالة المستخدم (العادي أو EUID ، ووجود اتصال ssh - SSH_CLIENT أو SSH2_CLIENT . نحصل على قطعة العمل التالية:


 if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then if [[ $EUID == 0 ]]; then PROMPT=... else PROMPT=... fi else # not SSH if [[ $EUID == 0 ]]; then PROMPT=... else PROMPT=... fi fi 

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


ملخص:


  • الحد الأدنى المطلوب هو الدليل الحالي.
  • يجب أن تكون قشرة الفم مرئية بوضوح.
  • لا يحمل اسم المستخدم حمولة إذا كنت تجلس دائمًا تحت نفس المستخدم.
  • اسم المضيف مفيد إذا قمت بالاتصال بالخوادم عبر SSH. غير مطلوب إذا كنت تعمل دائمًا على نفس الجهاز.
  • من المفيد أن نرى على الفور إكمال آخر أمر غير ناجح.
  • توفر حالة مستودع git الوقت على git status git branch وأوامر git branch وهي حماية إضافية ضد الأحمق.

الاستخدام النشط لسجل الأوامر


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


ربما تعرف بالفعل كيفية الخوض في القصة باستخدام Ctrl + R. لديها عيبان مهمان:


  1. لبدء البحث ، يجب أن يكون حقل الإدخال فارغًا. على سبيل المثال في حالة "بدأت بكتابة أمر - تذكرت البحث" عليك محو ما بدأ ، اضغط على Ctrl + R وكرر الإدخال. هذا وقت طويل جدا
  2. البحث الأمامي لا يعمل بشكل افتراضي ، لأنه يوقف Ctrl + S المحطة الطرفية.

كيف يعمل البحث الأسرع والأكثر ملاءمة:


  1. تبدأ بكتابة فريق
  2. هل تذكر البحث؟
  3. تضغط على مفتاح التشغيل السريع وتقدم الصدفة فرقًا من التاريخ الذي بدأ تمامًا.

على سبيل المثال ، تريد مزامنة دليل محلي مع دليل بعيد باستخدام rsync . لقد قمت بذلك بالفعل قبل ساعتين وتريد إخراج الفريق من التاريخ. اكتب rsync ، واضغط على تركيبة معينة مرة أو مرتين ، والأمر العزيزة جاهز للتشغيل. لا تحتاج إلى تشغيل وضع بحث المحفوظات أولاً ، لا يتغير موجه shell إلى (reverse-i-search)': ، لا شيء يقفز في أي مكان. أنت فقط تتكرر فوق الأوامر من القصة. تمامًا مثل الأسهم ↑ ↓ ، تقوم بالتكرار فوق الأوامر التي تم إدخالها مسبقًا ، فقط باستخدام عامل تصفية في بداية الأمر. إنه ملائم حقًا ويوفر الكثير من الوقت.


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


في bash و zsh ، بشكل افتراضي ، لا يعمل هذا البحث ، يجب عليك تمكينه يدويًا. لقد قمت بتكوين PgUp للبحث للخلف و PgDown للبحث إلى الأمام. إنهم بعيدون عنهم ، لكنني اعتدت على ذلك بالفعل. ربما في المستقبل سأعيد التعيين إلى شيء أقرب ، على سبيل المثال ، Ctrl + P و Ctrl + N.


بالنسبة إلى bash ، تحتاج إلى إضافة سطرين إلى /etc/inputrc أو ~/.inputrc :


 "\e[5~": history-search-backward "\e[6~": history-search-forward 

إذا كنت قد أخذت zshrc جاهزًا ، فمن المرجح أن البحث قد تم تعيينه بالفعل لـ PgUp و PgDown. إذا لم يكن كذلك ، أضف إلى ~/.zshrc


 bindkey "^[[5~" history-beginning-search-backward # pg up bindkey "^[[6~" history-beginning-search-forward # pg down 

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


الجمع بين الفرق التي تنفذ دائما واحدا تلو الآخر


 ip link set eth1 up && dhclient eth1 mkdir /tmp/t && mount /dev/sdb1 /tmp/t 

تسمح لك المسارات المطلقة بدلاً من المسارات النسبية بتشغيل أمر من أي دليل:
vim ~/.ssh/config بدلاً من vim .ssh/config ، systemd-nspawn /home/chroot/stretch بدلاً من systemd-nspawn stretch ، إلخ.


إخفاء حرف البدل يجعل الفرق أكثر تنوعًا. عادة ما تستخدم مع chmod و chown .


 chown root:root /var/www/*.sq && chmod 644 /var/www/*.sq 

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


سأذكر الحد الأدنى الضروري.


Alt +. - يحل محل الحجة الأخيرة للأمر السابق. يمكنك أيضًا كتابة التسلسل !$ .
Ctrl + A ، Ctrl + E - انتقل إلى بداية الأمر المحرر ونهايته ، على التوالي.
Ctrl + U ، Ctrl + Y - قص كل شيء إلى الحافظة ، والصقها من الحافظة. يساعد ذلك عند طباعة أمر معقد ، ومن ثم تفهم أنك بحاجة إلى تنفيذ أمر آخر أمامه. هم ، أين لإخفاء المدخلات الحالية؟ هنا واختبئ.
Ctrl + W - يمسح كلمة واحدة إلى يسار المؤشر. إذا تم تثبيتها وتثبيتها ، فمسح سطر الأوامر بسرعة. بشكل افتراضي ، لا يتم حذف النص ، ولكن يتم وضعه في المخزن المؤقت (وهو لـ Ctrl + Y).
Ctrl + K - حذف من المؤشر إلى نهاية السطر. يمسح Ctrl + A ، Ctrl + K سطر الأوامر بسرعة.
PgUp ، PgDown ، Ctrl + R - البحث حسب التاريخ.
Ctrl + L - امسح الطرفية.


استجابة لوحة المفاتيح


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


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


إذن الأمر السحري:


 xset r rate 190 20 

190 - مدة التأخير بالمللي ثانية ،
20- تكرار عدد التكرارات في الثانية.


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


لحفظ المعلمات ، أضف هذا الأمر في مكان ما إلى البدء التلقائي لـ X.


شريط التقدم


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


يمكنك استخدام أدوات مختلفة لهذا: notify-send ، dzen2 ، beep ، aplay. كلهم جيدون بطريقتهم الخاصة ، لكنهم لا يعملون على ssh. لذلك ، أستخدم صفارة طرفية:


 long-running-command; echo $'\a' 

في ترميز ASCII ، يوجد حرف 0x7 يسمى الجرس . وهي مصممة لإصدار صوت طنين باستخدام مكبر صوت للكمبيوتر. مكبر صوت الكمبيوتر ليس محدثًا ، فهو ليس في كل مكان ، ولا يزال غير مسموع في سماعات الرأس. لذلك ، تستخدم بعض المحطات الطرفية ما يسمى الجرس البصري. أستخدم urxvt ويجعل الجرس المرئي يشغل إشارة الطوارئ. هذا عندما تخبرك النافذة أنها تحتاج إلى عناية.


يمكنك التحقق الآن من كيفية تفاعل جهازك مع رمز الجرس:


 sleep 3; echo $'\a' 

يتم منحك ثلاث ثوانٍ للتبديل إلى نافذة أخرى ، وإلا فقد لا تعمل.


لسوء الحظ ، لا يتوفر الجرس المرئي عبر الاستعجال في جميع المحطات. راجعت الأكثر شعبية.


المحطةالجرس البصري عبر الاستعجال
كونسولالمدرجة في الإعدادات
urxvtهل هناك
xfce4- المحطةالمدرجة في الإعدادات
إكستريملا
مصطلح الرجعية باردلا
lxterminalلا
جنوم المحطةلا

لقد استغرق الأمر وقتًا طويلاً لكتابة echo $'\a' ، لذلك قمت بإيقاظ الاسم المستعار.


الأسماء المستعارة


يجب أن تعمل أوامر cp و scp و rm دائمًا بشكل متكرر. الحجة -r هي مجرد إرث سيء! لا يزال هناك عذر ل cp :


 cp * foodir 

يقوم بنسخ الملفات فقط إلى foodir ، ومع التبديل -r ، سيعتقد أنك قررت نسخ foodir إلى نفسه. ولكن كم مرة تحتاج هذه الميزة؟


rm و scp ليس لديهم أعذار على الإطلاق ، فهم مملون فقط! الأمر mkdir لديه وضع مشابه مع مفتاح التبديل -p . لذلك لا تتردد في إضافة إلى ~/.zshrc


 alias cp='cp -r' alias scp='scp -r' alias rm='rm -r' alias mkdir='mkdir -p' 

واو ، كيف عشت بدون هذا من قبل! يمكنك الذهاب إلى أبعد من ذلك وإضافة -f إلى rm ، ولكن على مسؤوليتك الخاصة والمخاطر. أنا أقيّد نفسي الآن.


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


 alias ls='ls -F --color=auto' alias la='ls -A --color=auto' alias ll='ls -l --color=auto -h' alias lla='ll -A --color=auto -h' 

حسنًا ، لون grep أجمل بكثير من عديم اللون:


 alias grep='grep --colour=auto' 

لا تنس أن الأسماء المستعارة لا تعمل في البرامج النصية! يجب تحديد جميع المفاتيح هناك.


طريقة الطباعة العمياء


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


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


لا تنجر في البداية مع مشغلات لوحة المفاتيح. من الصعب نفسياً أن تبقى هادئاً أثناء المنافسة. تعرف على المحاكيات. من الجيد أن يقدم المحاكي الكلمات التي يمكن نطقها عقليًا. لقد درست على vse10 وطباعة المحاكاة على الإنترنت. يبدو أن محاكاة "Solo on the Keyboard" الشهيرة غبية بالنسبة لي.


من الجدير البدء بالصف المركزي لـ Fyvaprolge. فقط بعد أن تتذكر أين يوجد المفتاح ، هل يستحق المتابعة. بعد ذلك فقط.


خذ فترات راحة. أرح عقلك وأصابعك. تشعر بأن الأخطاء قد تدفقت - لقد حان الوقت لأخذ قسط من الراحة.


في البداية ، أتقنت طريقة الطباعة العمياء باللغة الروسية وبدأت في التسارع. الآن أقوم بتحسين مهارتي في تخطيط اللغة الإنجليزية.

Source: https://habr.com/ru/post/ar425137/


All Articles