البحث في الموقع
المحتوى عن 'اختصارات'.
-
يُوفّر تطبيق إدارة المشاريع Trello إمكانيات تخصيص واستخدام مُتقدّمة، تُضفي على التعامل مع البرنامج المزيد من السلاسة في متابعة سير العمل أو حتى مجرّد إعطاء طابع شخصي، نتطرّق في مقالنا هنا إلى بعض هذه التلميحات. اختصارات لوحة المفاتيح تمنحك اختصارات لوحة المفاتيح أسلوبًا مميزًا لاختصار تنفيذ الأوامر والعمليات على البطاقات والقوائم في Trello؛ نعرض فيما يلي أشهر هذه الاختصارات: يُظهر الضغط على الحرف "b" من لوحة المفاتيح قائمة الألواح الجانبية مع مربع بحث. اضغط على "b" ثم اكتب الأحرف الأولى من اسم اللوح الذي تريد الانتقال إليه، وأخيرًا اضغط على Enter للدخول. هذه أسرع طريقة ممكنة لتجد طريقك في Trello. عندما تُصبح داخل اللوح المطلوب اضغط على "f" لإظهار مُرشّح/فلتر البطاقات. اكتب كلمة ما وستختفي على الفور جميع البطاقات عدا تلك التي تتضمن هذه الكلمة. تتضمن نتائج التصفية أسماء الأعضاء المشتركين مع هذا اللوح، وكذلك أسماء اللصاقات Labels الموجودة داخله. ضع مؤشّر الفأرة فوق إحدى البطاقات واضغط على الاختصار "t" لتعديل عنوانها. يفيدك الاختصار "e" في حالتين: إن كنت قد فتحت البطاقة فإن ضغط "e" سيظهر صندوق الوصف لتعديله. أما إن وضعت مؤشر الفأرة على البطاقة وضغطت "e" فستفتح لك نافذة مختصرة تمكنك من تعديل عنوانها والقيام بعدة خطوات كالأرشفة والنسخ والنقل. تُستخدم أسهم الحركة في لوحة المفاتيح للانتقال بين البطاقات ابتداء من البطاقة الفعّالة. اضغط "n" للبدء بإنشاء بطاقة جديدة أسفل البطاقة الفعّالة. يمكنك في أي وقت الضغط على "escape" لإغلاق أي حقل نصي أو قائمة منبثقة أو مربع حوار ضمن تريللو. اضغط على "?" لاستكشاف المزيد من الاختصارات المُتاحة. في البداية قد تشعر بأن أسلوب استخدام الفأرة للوصول إلى هذه المهام أكثر "طبيعية" وأقرب لما اعتدته سابقًا، لكن ما إن تتمرّن على هذه الاختصارات حتى تشعر بجدواها وأثرها على سلاسة التعامل مع البرنامج. تلميحات السحب والإفلات يتمتع Trello بإمكانيات مريحة في السحب والإفلات تتجاوز نقل البطاقات بين القوائم المختلفة، وإليك بعض هذه التلميحات: من متصفح الملفات لديك يمكن سحب أي نوع من الملفات وإلقائه على بطاقة ما، لرفعه وإرفاقه ضمنها. من متصفح الإنترنت يمكن سحب أي صورة ثم الانتقال بها (مع الضغط على زر الفأرة الأيسر) إلى علامة التبويب الخاصة بـ Trello وإفلاتها على أية بطاقة، ليتم رفعها مباشرةً إلى تلك البطاقة. يمكن كذلك النقر على أي صورة بزر الفأرة الأيمن ثم نسخها إلى الذاكرة من خلال أمر "Copy Image" وبعد ذلك تحديد أي بطاقة في Trello والضغط في لوحة المفاتيح على Ctrl+V ليتم رفع الصورة وإرفاقها إلى البطاقة. (تعمل هذه الميزة على متصفح Chrome فقط). إذا كنتَ تتعامل مع لوح يتضمن الكثير من القوائم وتجد أن التنقّل أفقيًا (إلى اليمين واليسار) عبر شريط تمرير المتصفح أمر مزعج؛ يمكنك تجريب هذه التلميحة. في أي مكان فارغ ضمن اللوح اضغط بزر الفأرة الأيسر ومع الاستمرار بالضغط حرّك الفأرة إلى اليمين أو اليسار للتنقّل أفقيًا ضمن اللوح. هذا أسهل بكثير أليس كذلك؟ إشعارات سطح المكتب تظهر الإشعارات في تريللو عند الضغط على أيقونة الجرس في الشريط العلوي ضمن الموقع والتي تتحول من اللون الأزرق إلى الأحمر حال وصول إشعار جديد. كما يُفترض تلقيك رسائل بريدية بذلك تبعًا للإعدادات الافتراضية. إذا كنت تستخدم إصدارًا حديثًا من متصفح الإنترنت الخاص بك (باستثناء Internet Explorer وَ Edge) يمكنك تلقيّ الإشعارات على سطح المكتب لضمان تنبّهك في الوقت الحقيقي لوصول الإشعار. اضغط على اسمك في الشريط العلوي ضمن تريللو واختر Settings، مرّر عجلة الفأرة إلى الأسفل قليلًا حتى قسم Notifications ومن هناك اضغط على Enable Desktop Notifications، سيعرض لك المتصفح رسالة تسألك فيما إذا كنتَ راغبًا بتلقي إشعارات الموقع إلى سطح المكتب؛ أجب بنعم، وهكذا ستظهر لك نافذة منبثقة صغيرة في زاوية سطح المكتب حالما تصلك إشعارات جديدة. النقر المزدوج لإضافة قائمة يمكنك النقرّ مرتين باستخدام زر الفأرة الأيمن في أي مكان ضمن اللوح لإنشاء قائمة جديدة على الفور، تُفيدك هذه الطريقة عندما ترغب بإنشاء قائمة بين قائمتين موجودتين مسبقًا، ضع مؤشر الفأرة على المساحة الفارغة بينهما وانقر بشكل مزدوج لتظهر القائمة الجديدة، اختر لها اسمًا ثم اضغط على Add، كما يمكنك تغيير ترتيب القائمة بين القوائم من خلال خيار position عند إنشائها. إنشاء البطاقات بريديا من الممكن استخدام البريد الإلكتروني لتسهيل إنشاء البطاقات، حيث تكتب رسالة وتضمنها بالصور والمرفقات التي ترغب بها عبر بريدك الإلكتروني، وترسلها لقائمة محددة في حسابك بتريللو فتجدها ظهرت كبطاقة جديدة فيها. للقيام بذلك افتح أحد الألواح ثم اضغط على: Show Menu > More > Email to board Settings انسخ عنوان البريد الإلكتروني الذي يظهر تحت خانة Your email address for this board واحفظه ضمن قوائم الأسماء لديك في برنامج البريد الإلكتروني. في الأسفل وتحت خانة Your emailed cards appear in يمكنك اختيار القائمة التي ستصل إليها رسائل البريد الإلكتروني كبطاقات جديدة وموضعها. عند إنشاء رسالة جديدة وإرسالها إلى العنوان السابق سيستخدم عنوان الرسالة كعنوان للبطاقة، بينما يوضع جسم الرسالة ضمن وصف البطاقة، وذلك في أسفل القائمة الأولى تبعًا للإعدادات الافتراضية. يمكنك إرسال المرفقات مع الرسالة ليتم إضافتها إلى البطاقة أيضًا. إضفاء طابع شخصي يُتيح تريللو إمكانية تغيير لون الخلفية الافتراضية وانتقاء واحدًا من تسعة ألوان متاحة للاشتراك المجاني، أو عدد غير محدد من الألوان والتصاميم والصور لاشتراك الخطّة المدفوعة. لتغيير لون الخلفية اضغط على Show Menu في أقصى اليمين ثم Change Background. من هنا يمكن الضغط على أيٍّ من مربعات الألوان المتاحة ليتم تغيير اللون الافتراضي في الحال. تلميحات ونصائح أخرى إذا كان لديك عمود في ورقة spreadsheet وترغب باستيراده إلى تريللو ، قم بتحديده أولًا ثم نسخه إلى الحافظة Ctrl+C وتحرير إحدى البطاقات في تريللو وتنفيذ أمر اللصق فيها Ctrl+V، سيسألك تريللو عن رغبتك في لصق كل سطر كبطاقة منفصلة أو لصق جميع الأسطر إلى بطاقة واحدة. اختر ما يناسبك. إذا أنشأت بطاقة في إحدى القوائم ثم انتبهت إلى أنك لم تختر القائمة الصحيحة؛ يمكنك فورًا الضغط على بطاقة جديدة في القائمة المطلوبة لنقل كامل النص الذي كتبته بالفعل إلى هناك ومتابعة عملك. عند العمل مع فريق من الأفضل الاشتراك بالقوائم التي يهمك متابعتها لتلقي الإشعارات عن التغييرات التي تجري فيها. يتم الاشتراك عبر النقر على النقاط الثلاثة المتجاورة ضمن ترويسة كل قائمة ثم الضغط على زر subscribe.
-
- 1
-
- notifications
- اشعارات
-
(و 6 أكثر)
موسوم في:
-
نظرا لسرعة نمو منصة ووردبريس أصبح من المستحيل الترويج لكل مكوناتها والخاصيات التي تتضمنها، ما يعني إغفال العديد من هذه الخاصيات من طرف عدد كبير من المستخدمين. في هذا المقال نأمل أن نتعرف وإياكم على الأقل على بعض الأمور التي لا يعرفها الكثيرون حول نظام إدارة المحتوى المفضل لدى الجميع. 1. يكفي أن تقوم باللصق للحصول على رابطتُبْهِرُ هذه الخاصية جميع المستخدمين لأن فقط قِلَّةً يعرفون بوجودها. عند استخدام الوضع البصري (visual mode) في محرر النصوص (post editor) يمكنك القيام بنسخ رابط، تحديد (select) النص المعني بالأمر ثم اللصق (paste) ليصبح هذا النص رابطا، عادة ستتوقع أن يظهر الرابط مكان النص، لكن الأمر ليس كذلك مع ووردبريس ما يساعد على توفير الوقت. 2. احذف اسم المنشور لإعادة توليدهعند قيامك بإعادة تسمية منشور ما ستقوم عادة بتغيير الرابط لتتأكد من موافقة اسم المنشور (post name) لعنوانه (post title)، فقط اضغط على edit ثم احذف كل شيء ليُعَادَ تَوْلِيدُ الاسم بالتوافق مع العنوان بشكل أوتوماتيكي، هنا تكمن قوة ووردبريس. 3. خصائص شاشة مختلفة لكل مستخدمقد تكون على دراية بخصائص الشاشة (Screen Options) لكنك لا تستفيد منها، لا يتم تخزين هذه الخصائص في سجلات التتبع (cookies) وفي قاعدة البيانات فحسب بل يتم القيام بذلك لكل مستخدم على حدة (per user)، ما يعني إمكانية إعداد نَسَقٍ (layout) خاص بك مختلف عن ما يراه الآخرون. تسمح خاصية التخزين القائمة على سجلات التتبع وقاعدة البيانات بإعداد نسق خاص على حاسوب ما والحفاظ عليه عند تسجيل الدخول من جهاز آخر، لا يتم شرح هذه الخاصية بشكل جيد في نظام إدارة ووردبريس ما يجعل المستخدمين مُتَوَجِّسِينَ من استخدامها. 4. اختصارات رموز التنسيق شبيهة باختصارات markdownمنذ الإصدار 4.3 من ووردبريس (WordPress 4.3) أصبح بإمكانك استخدام تَرْكِيبَاتٍ مُشَابِهَةٍ لرموز التنسيق لجعل كتابتك أسرع بكثير، حيث تعطي العوارض (dashes) والنجمات (Stars) قوائم (lists) بينما تعطي علامات المربع (hashes) عناوين وهكذا دواليك. للمزيد من التفاصيل حول كيفية استخدام هذه الخاصية قم بإلقاء نظرة على الإعلان الخاص بها. 5. المنشورات متعددة الصفحات (Multi-Page Posts)يمكنك استعمال الوسم التّالي: <!-nextpage-> لتقسيم المحتوى على عدة صفحات، سيعمل ووردبريس على توليد عدد صفحات مكافئ لعدد مرات استخدام هذا الوسم. للإشارة فأنا أكره بشدة خاصية الصفحات المتعددة هذه، لكن يمكنك استعمالها إن أردت ذلك. 6. قدرة ووردبريس على التعديل على الصوريمكن لووردبريس بكل سهولة أن يقوم ببعض التعديلات الأساسية على الصور كالتدوير (rotating)، قطع جزء ما (cropping) وتغيير الحجم (resizing)، لم يتم إدماج أي مُرشّحات (filters) بعد في هذه الخاصية، لكنها رغم ذلك تبقى هذه مفيدة للغاية إن أردت تدوير صورة ما بالشكل المناسب بسرعة. فقط قم بتحديد الصورة ثم الضغط على رابط تعديل الصورة قرب أيقونة الصورة في قسم التفاصيل (details section) لتصبح قادرا على التعديل على صورك بكل سهولة. 7. توفر ووردبريس على واجهة برمجة لنظام الملفاتيقدم ووردبريس هذه الخاصية للمطورين، تمت إضافة واجهة برمجية لنظام الملفات Filesystem API في النسخة 2.6 من ووردبريس (WordPress 2.6) بغرض تسهيل التعامل مع خاصيات التحديث الأوتوماتيكي (auto-update). رغم أنك لن تستعمل هذا النظام بشكل يومي فإن من الجيد أن تعرف أنه موجود في قلب ووردبريس (WordPress core) في حال ما إذا احتجت له. 8. تتوفر أنواع التصنيفات على بيانات وصفيةمنذ إصدار ووردبريس 4.4 أصبحت أنواع التصنيفات (taxonomies) تتوفر على بيانات وصفية (metadata)، يتضمن هذا التحديث إدماج جدول (wp_termmeta wp_termmeta table) كاملا يحتوي على ()get_term_meta()،update_term_meta وكل المكونات الأخرى المعهودة. للمزيد من المعلومات يمكنك الاطلاع على المنشور الخاص بفرق تطوير قلب ووردبريس: 4.4 Taxonomy Roundup. 9. إدماج محتوى طرف ثالث من خلال لصق الرابطيستعمل ووردبريس oEmbed من أجل السماح لك بإدماج تغريدات تويتر (Tweets)، فيديوهات كل من Vimeo وYoutube، Soundcloud والعديد من الأشياء الأخرى الممتعة في محتواك، يمكنك بكل بساطة أن تقوم بلصق رابط مصدر المحتوى الذي تريد إدماجه ليتم ذلك بشكل تلقائي. أصبح ووردبريس مزودا لـ oEmbed بداية من النّسخة 4.4، أي يمكنك أن تقوم بإدماج محتوى مدونة أخرى بكل سهولة شريطة أن تستخدم كلا المدونتين هذه النسخة من ووردبريس. هل تعرف أي اختصارات أو خصائص ووردبريس رائعة وغير معروفة؟ شاركنا إياها في التعليقات أسفله. ترجمة بتصرف للمقال: 9 Awesome And Obscure Wordpress Features You Didn’t Know Existed لصاحبه: DANIEL PATAKI.
-
ما إن تقضي وقتًا أطول مع لينكس حتى تألف العمل مع سطر الأوامر command line والمعروف أيضًا بالطرفيّة Terminal، وشيئًا فشيئًا ستجد أن الأوامر التي تستخدمها تتكرر ذاتها في كلّ يوم، وأن استعمالاتك لا تخرج عن دائرة صغيرة جدًا من الأوامر والتعليمات المتاحة بالفعل. وقد اجتهد مبرمجو معظم الأوامر والأدوات المستخدمة في الطرفية باختصار طرق استدعائها والعمل من خلالها (تخيّل كم توفّر من نقرات لوحة المفاتيح بكتابة "cd" بدلًا من "change-directory"، أو "ls" بدلًا من "list")، إلا أنّ هذا ليس كل شيء بالطبع، فمعظمنا يستخدم الأوامر مع مجموعة من خياراته المفضّلة. لحسن الحظّ فإن حلًا رائعًا لا يزال بانتظارك؛ حيث تسمح لك الطرفيّة بإنشاء اختصاراتك الخاصّة وحفظ وقتك من خلال ما يسمى بالأسماء المستعارة Aliases والدوال Functions. نناقش في هذا الدرس كيفيّة إنشاء هذه الاختصارات وحفظها بشكل دائم، مع بعض الأمثلة المفيدة التي ستيسر لك عملك بالتأكيد. الإعلان عن اسم مستعار Aliasإنشاء الأسماء المستعارة في الطرفيّة أمرٌ في غاية السهولة، لدرجة أنه يمكنك تجريبه على الفور، يتمّ ذلك باستخدام الأداة alias متبوعة بالاختصار الذي ترغب به، والتي تعرّف اسمًا مستعارًا فعّالا ضمن نافذة الطرفيّة المستخدمة فقط: alias alias_name="command_to_run"انتبه إلى أن أسلوب الكتابة السابق لا يتضمن مسافات فارغة قبل وبعد إشارة المساواة (=)، وهذا ليس أمرًا اختياريًا وإلا فإن الاختصار لن يعمل. لننشئ الآن اسمًا مستعارًا كتجربة، حيث سنأخذ واحدًا من أكثر الأوامر استخدامًا على لينكس وليكن الأمر lsمع الخيار -lha أو -lhA (يهمل الثاني عرض المجلد الحالي ومجلده الأب ضمن الخرج، خلاف الخيار الأوّل)، سنختار له اسمًا مستعارًا وليكن ll: alias ll="ls -lhA"يمكننا الآن كتابة ll للحصول على قائمة بمحتويات المجلد الحالي ضمن قائمة طويلة تتضمن المجلدات المخفيّة: ll -rw-r--r-- 1 root root 3.0K Mar 20 18:03 .bash_history -rw-r--r-- 1 root root 3.1K Apr 19 2012 .bashrc drwx------ 2 root root 4.0K Oct 24 14:45 .cache drwx------ 2 root root 4.0K Mar 20 18:00 .gnupg -rw-r--r-- 1 root root 0 Oct 24 17:03 .mysql_history -rw-r--r-- 1 root root 140 Apr 19 2012 .profile drwx------ 2 root root 4.0K Oct 24 14:21 .ssh -rw------- 1 root root 3.5K Mar 20 17:24 .viminfoوفي حال رغبت بالتوقف عن استخدام الاختصار يمكنك تطبيق الأمر التالي: unalias llوهكذا تُحذف قاعدة الاختصار التي أنشأتها للتوّ. بينما يمكنك الهروب من قاعدة ما بشكل مؤقت عن طريق كتابة رمز الهروب "\" قبل الأمر، فلو قمت بإنشاء قاعدة تحيل الأمر ls إلى الأمر ls -a، وترغب الآن بتطبيق الأمر ls دون استدعاء قاعدة الاختصار، فيمكنك كتابة: \lsيمكنك استعراض جميع القواعد المنشأة في أي وقت من خلال الأمر: aliasلكن كما ذكرنا سابقًا فإن الأسماء المستعارة التي يتم إنشاؤها عن طريق الأداة alias لن تعمل سوى في نافذة الطرفيّة المستخدمة، وهذا يعني أنك لو فتحت نافذة أخرى واستدعيت قاعدة ما فلن تحصل على المطلوب. ولجعل هذه التغييرات دائمة، نحن بحاجة إلى وضعها ضمن أحد الملفات التي تقرأها الطرفية في بداية كل تشغيل لها، الخيارات الشائعة لذلك هي استخدام الملف ~/.bashrc أو ~/.bash_profile، وكل ما علينا فعله هو تحرير أحد هذه الملفات وتعريف قواعد اختصارنا هناك: nano ~/.bashrcالآن أضف الأسماء المستعارة التي كنا قد كتبناها في الطرفيّة بذات الصياغة، يمكنك إضافتها في أسفل الملف، أو في أي مكان آخر، كما يمكنك استخدام التعليقات (بالعلامة #) لتوضيح ما قمتُ بإضافته: ######### # Aliases ######### alias ll="ls -lhA"قد تلاحظ وجود بعض الأسماء المستعارة بالفعل ضمن الملف السابق، حيث تأتي العديد من التوزيعات مع بعض الاختصارات التي تجعل من استخدام الطرفية أمرًا أكثر فاعليّة وسهولة. بعد حفظ الملف تصبح التعديلات المُدخلة جاهزة للاستخدام عند فتح نافذة طرفية جديدة، أما لو رغبت باستعمال قواعد الاختصار الجديدة ضمن نافذة الطرفية الحاليّة فيمكنك كتابة الأمر التالي لإعادة قراءة الملف .bashrc: source ~/.bashrc أمثلة أخرىلنمضي الآن في تعلّم بعض الأمثلة الأخرى عن إنشاء اختصارات تسهّل تعاملك مع الطرفيّة وتجعله أكثر فاعلية، تذكّر دومًا أنه يمكنك البحث في الإنترنت عن استخدامات أخرى نافعة للاختصارات، وإلقاء نظرة على تلك التي قد تكون مُعدّة بشكل افتراضي ضمن إعدادات توزيعتك. التنقل والاستعراضيمكن بإضافة بعض الخيارات على أوامر لينكس البسيطة والشائعة الحصول على نتائج أفضل وأكثر تخصيصًا، رأينا ذلك سابقًا مع الأمر ls، لكن هناك بالتأكيد ما هو أبعد من ذلك. فمثلًا يتيح لنا الاختصار التالي استخدام الخيار -CF مع الأمر ls بشكل افتراضي، والذي يفرّق أثناء العرض بين الملفات والمجلدات، بإضافة الرمز "/" في نهاية اسم كلّ مجلد: alias ls="ls -CF"كما يمكننا الالتفاف حول بعض الأخطاء الكتابيّة الشائعة بالنسبة لنا لجعلها تعمل أيضًا: alias sl="ls"يُنشئ الأمر التالي قاعدة اختصار تُمرّر مخرجات الأمر ls إلى الأداة less لاستعراض محتويات المجلدات الكبيرة بأسلوب مريح: alias lsl="ls -lhFA | less"واحدة من الأخطاء المطبعيّة الشائعة نسيان المسافة بين الأمر cd والنقطتين ..، هذه قاعدة تخرجنا من ذلك المأزق: alias cd..="cd .."أو يمكننا اختصار الأمر بالشكل التالي: alias ..="cd .."وهذه قاعدة أخرى لإنشاء اسم مستعار يسهّل عملية البحث عن الملفات: alias fhere="find . -name "إدارة النظاميحتاج مديرو الأنظمة العاملة بلينكس إلى استخدام الكثير من الأوامر مع تفضيلاتهم الخاصة باستمرار، وهذه فرصة جديدة لتعلّم وإنشاء بعض الاختصارات. تتيح القاعدة التالية إنشاء اسم مستعار يسهّل عرض أقسام واستخدامات القرص الصلب لديك ومعلومات أخرى عنه بطريقة مرتبة باستخدام الأمر df: alias df="df -Tha --total"ويمكن تطبيق نفس القاعدة مع كل من الأمر du والأمر free: alias du="du -ach | sort -h" alias free="free -mt"يستخدم الأمر ps لعرض العمليات والبرامج التي يقوم لينكس بتشغيلها مع معلومات تفصيلية عن كل برنامج، يمكن تسهيل قراءة الخرج من خلال الاختصار التالي: alias ps="ps auxf"كما يمكن إنشاء قاعدة تتيح لنا البحث ضمن جدول الخرج عن عملية محدّدة للاكتفاء بعرضها فقط مما يوفر لنا الوقت: alias psg="ps aux | grep -v grep | grep -i -e VSZ -e"فمثلًا للحصول على معلومات العملية bash فقط يمكن كتابة الأمر التالي: psg bash USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 1001 5227 0.0 0.0 26320 3376 pts/0 Ss 16:29 0:00 bashأمثلة إضافيّةيعمل الأمر mkdir على إنشاء مجلّد جديد، لكن عند اختيار اسم لمجلد موجود بالفعل يعيد لنا رسالة خطأ، يمكن استخدام الخيار -p مع الأمر السابق لإهمال تلك الرسالة (ودون إنشاء المجلد)، كما يمكن عن طريق قاعدة الاختصار التالية جعل هذا الخيار افتراضيًا: alias mkdir="mkdir -p"أيضًا بإضافة الخيار v إلى الأمر السابق نحصل على المزيد من التنسيق، ففي حال وجود مجلد بذات الاسم يتم تجاهل الأمر وعدم عرض رسالة خطأ، أما لو كان الاسم غير مُستخدم فيعيد الأمر السابق خرجًا على الشاشة يؤكّد عملية إنشاء المجلد بنجاح: alias mkdir="mkdir -pv"في معظم الحالات التي نستخدم بها الأمر wget لتحميل ملف ما من الويب فإننا غالبا ما نمرّر له الخيار -c لدعم استكمال التنزيل في حال حدوث خطأ بالاتصال، لجعل ذلك افتراضيًا ننشئ القاعدة التالية: alias wget="wget -c"يعتبر الأمر history واحدًا من الأدوات الفعّالة، حيث يتيح لك البحث ضمن الأوامر التي سبق واستخدمتها، ويطبع لك النتائج المطابقة على الشاشة مرفقة بأرقامها التسلسليّة (حسب التنفيذ)، حيث يمكن استدعاء الأمر مجددًا من رقمه مسبوقًا بإشارة (!): alias histg="history | grep"كما هو معروف، تتوفر بعض أدوات الطرفية بنسختين، تكون الأولى أكثر بساطة، فيما تقدّم الأخرى ميزات وخدمات أكثر، ومن خلال إنشاء الاختصارات سيكون بإمكانك تشغيل النسخة المحسّنة بنفس أمر تشغيل النسخة الأولى. فالأمر top على سبيل المثال يملك نسخة محسنة وملونة بالاسم htop (إذا لم تكن لديك ركبّها من مدير الحزم في توزيعتك أولًا)، وبإنشاء قاعدة الاختصار التالي نعمّم استخدام النسخة المحسنة في كل التطبيقات الأخرى التي تستعملها: alias top="htop"تقدّم الأداة ncdu عرضًا تحليليًا لاستخدام مساحة القرص، الملفات والمجلدات في لينكس بأسلوب تفاعليّ وخيارات متنوّعة: alias du="ncdu"يستبدل الأمر السابق الأداة du بالأداة ncdu، كما يمكن استبدال الأداة df بـ pydf المحسّنة من خلال: alias df="pydf"هل ترغب في معرفة رقم الـ IP الخاص بجهازك؟ أنشئ القاعدة التالية: alias myip="curl http://ipecho.net/plain; echo"فكّر دومًا كيف يمكنك الاستفادة من القوّة الرهيبة للأسماء المستعارة، على سبيل المثال إذا كنتَ تدير موقعًا على الإنترنت بينما يلزمك باستمرار إعادة تحجيم الصور التي ترغب برفعها إلى الموقع لتناسب مقاسًا مخصصًا، يمكنك تركيب الأداة imagemagick من مدير الحزم في توزيعتك، وإنشاء قاعدة تسهل عليك العمل: alias webify="mogrify -resize 690\> *.png"حالما تطبّق الأمر الجديد webify سيتم إعادة تحجيم جميع الصور الموجودة ضمن المجلّد النشط عندما يكون عرضها أصغر من 690px. وبذات الطريقة يمكنك تسهيل رفعها إلى الخادوم الخاص بك: alias upload="sftp username@server.com:/path/to/upload/directoryالدوالكما رأينا فإن ميزة الأسماء المستعارة توفّر أسلوبًا رائعًا في اختصار تنفيذ الأوامر وتسهيل مراكبتها، إلا أنها في النهاية محدودة القدرة، إذا لا يمكننا على سبيل المثال تطبيق سلسلة طويلة من الأوامر معًا في اختصارٍ واحد. لحسن الحظ فهناك ما يساعدنا لتلبية هذه المتطلبات، تُقدّم الدوال functions أسلوبًا بسيطًا في اختصار تنفيذ قطعة من الأوامر دفعة واحدة، وهي أسلوب يقع بين ميزة الأسماء المستعارة وبين كتابة النصوص التنفيذيّة shell scripts، وتعمل بذات طريقة الأسماء المستعارة، كما يمكنها استقبال الدخل من المستخدم لمعالجته. سنتحدث في هذه الفقرة عن الاستخدامات الأساسية لميزة كتابة الدوال، مع بعض الأمثلة التوضيحيّة، متجنبين التفاصيل الواسعة لها، والتي يمكن من خلالها برمجة نصوص تنفيذيّة متقدّمة. لتعريف دالّة لدينا أسلوبين أساسيين، يستخدم الأوّل الأمر function ويأخذ الشكل العام كالتالي: function function_name { command1 command2 } بينا يشبه الأسلوب الآخر نمط الأقواس في لغة C: function_name () { command1 command2 }يمكن ضغط مساحة الأسلوب السابق ليُكتب في سطر واحد باستخدام الفاصلة المنقوطة بين الأوامر، انتبه إلى أن الفاصلة المنقوطة يجب أن تلتصق بالأمر الذي يسبقها: function_name () { command1; command2; }لنبدأ مع مثال بسيط، عادةً عندما نقوم بإنشاء مجلد جديد ضمن الطرفية فإن الخطوة التالية مباشرة هي الدخول إليه، سنكتب دالة لذلك؛ تنشئ مجلد جديد ثم تنتقل إليه: mcd () { mkdir -p $1 cd $1 }الآن يمكن استخدام الدالة mcd بدلًا من mkdir ثم cd: mcd test pwd /home/demouser/testالدالة التالية تعرض مثالًا متقدمًا على ما يمكن كتابته وتنفيذه عن طريق الطرفية، وهي تعمل على فكّ ضغط أنواع كثيرة من تنسيقات الملفات المضغوطة: function extract { if [ -z "$1" ]; then # display usage if no parameters given echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>" else if [ -f $1 ] ; then # NAME=${1%.*} # mkdir $NAME && cd $NAME case $1 in *.tar.bz2) tar xvjf ../$1 ;; *.tar.gz) tar xvzf ../$1 ;; *.tar.xz) tar xvJf ../$1 ;; *.lzma) unlzma ../$1 ;; *.bz2) bunzip2 ../$1 ;; *.rar) unrar x -ad ../$1 ;; *.gz) gunzip ../$1 ;; *.tar) tar xvf ../$1 ;; *.tbz2) tar xvjf ../$1 ;; *.tgz) tar xvzf ../$1 ;; *.zip) unzip ../$1 ;; *.Z) uncompress ../$1 ;; *.7z) 7z x ../$1 ;; *.xz) unxz ../$1 ;; *.exe) cabextract ../$1 ;; *) echo "extract: '$1' - unknown archive method" ;; esac else echo "$1 - file does not exist" fi fi }تعمل الدالة على تحديد تنسيق الملف واختيار الأمر المناسب له للتنفيذ. خاتمةنأمل أن يكون هذا الدرس قد أعطاك بعض الإلهام لكتابة قواعد الاختصار والدوال التي تناسبك، مما يسهّل عليك أداء مهامك الروتينيّة وإضافة بعض المتعة على سطر الأوامر. تذكّر أن تبقى حذرًا من إعادة تعريف بعض الأوامر الأساسية بصوّرة قد تسبب مشاكل أو أخطاء قاتلة، كن حذرًا ولا تنشئ اختصارات تؤثّر على ملفات النظام. نقطة البداية الجيدة هي من سجل الأوامر التي كنتَ قد استخدمتها بالفعل في الفترة الماضية، لترى مالذي يتكرّر باستمرار، وتعمل على اختصار العمل من خلال إنشاء أسماء مستعارة جديدة: history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10يعرض السطر السابق خرجًا بالأوامر الأكثر تكرارًا في استخدامك اليوميّ ونسبها المئوية، مما يعطيك الفكرة عن احتياجاتك الحاليّة. نسعد أيضًا بمشاركتكم لنا الاختصارات والدوال التي تستخدمونها عادةً لتبادل الخبرات. ترجمة -وبتصرّف- للمقال An Introduction to Useful Bash Aliases and Functions.