قراءة صفحات الدليل في لينكس (man)

مقدمة

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

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

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

man هي اختصار لكلمة manual

نِّظْرة سريعة على الأمر

يمكنك تجاهل هذا الجزء من المقال والانتقال للجزء التالي إذا كنت ستكمل المقال هذ الجزء هو نبذه سريعة عن الأداة غرضه الوحيد عدم تضيع وقتك ولتتأكد إذا ما كنت مهتما بهذه الأداة أم لا

# input
[random@arch ~]$ man cp
#output

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

وظيفة أمر man

يستخدم الأمر man في لينكس لعرض دليل المستخدم لأي أمر يمكننا تشغيله علي الطرفية وبذلك يوفر معلومات تفصيلية عن الأمر والخيارات والأخطاء وأيضا أمثلة على استخدام الأمر وغيرها الكثير من الأمور الهامة
صفحات دليل الاستخدام تكون مخزنه في المسار التالي: /usr/share/man

كيفية قراءة مخرج أمر man

يمكننا الحصول على دليل الاستخدام لأي أمر من أوامر unix باستخدام الأمر man
في هذا المقال سنستخدم أمر cp كمثال حتى نتمكن فهم أداة اليوم بإذن الله

# input 
[random@arch ~]$ man cp
# هذا جزء من المخرج لأن المخرج طويل 
CP(1)                                       User Commands                                       CP(1)

NAME
       cp - copy files and directories

SYNOPSIS
       cp [OPTION]... [-T] SOURCE DEST
       cp [OPTION]... SOURCE... DIRECTORY
       cp [OPTION]... -t DIRECTORY SOURCE...

DESCRIPTION
       Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --archive
              same as -dR --preserve=all

       --attributes-only
              don't copy the file data, just the attributes

       --backup[=CONTROL]
              make a backup of each existing destination file

       -b     like --backup but does not accept an argument

       --copy-contents
              copy contents of special files when recursive

       -d     same as .....

المخرج يسمي دليل الاستخدام فمثلا هنا سيكون المخرج هو: دليل استخدام أمر cp
يتم عرض مخرج الأداة باستخدام عارض الملفات الافتراضي للطرفيه والذي سنتطرق له في نهاية هذا المقال وكيف يمكننا تغيره
في هذه الحالة عارض الملفات الافتراضي سيكون برنامج يسمى more وللخروج من صفحة دليل استخدام أمر cp يمكننا الضغط على حرف q للخروج من عارض ملفات الطرفية

يمكنك التعرف أكثر على أمر more عن طريق البحث عنه في محرك البحث الخاص بك مثل google

يتم الاعتماد على أمر man كمرجع لأي أداة في عالم لينكس وليس من الصحيح الاعتماد عليه في تعلم أمر أو أداة من الصفر. أغلب صفحات الدليل تكون مقسمه لأجزاء

NAME = الاسم

الشرح

man-2

يحتوي علي اسم الاداه وعلي موجز مختصر جدا يلخص عمل الاداه
NAME = الاسم

SYNOPSIS = ملخص

الشرح

man-3

الملخص هوا كيف يمكن كتابه الأمر وما هي اللواحق الإلزامية واللواحق الاختيارية وسنتطرق إلي كيفية قراءة الملخص
SYNOPSIS = ملخص

DESCRIPTION = الوصف

الشرح

الوصف هو وصف اشمل واكمل من الملخص وفي هذا الجزء يمكن أن يتم وصف جميع خيارات الأمر وقد يكون في هذا الجزء أيضأ أمثلة للاستخدام وشرح لكيفية عمل الأمر
DESCRIPTION = الوصف

كما يوجد أيضأ أجزاءا خري والتي سأتركها لك لتستكشفها بنفسك ومنها

  • EXAMPLES = امثله
  • AUTOHOR = الكاتب الذي قام بكتابه الكود
  • REPORTING BUGS = للتبليغ عن اخطاء في عمل الامر او الاداه
  • COPYRIGHT = الحقوق

كيفيه قراءه جزء الملخص SYNOPSIS

الصورة السابقة توضح ملخص أمر cp كما أنها توضح أيضا انه يوجد ثلاث طرق ل لاستخدام أمر cp حسناً شرح الطريقة الأولي لاستخدام الأمر

cp [OPTION]... [-T] SOURCE DEST

cp: اسم الأداة

[OPTION]...: هنا تعني أن أمر cp يمكن أن يتبعه لاحقه اختياريه واحده أو اكثر
ولكن كيف نعلم أن كتابه اللاحقة أمر اختياري؟
كتابه اللاحقه أمر اختياري بسبب الأقواس المربعة التي تحيط بكلمة OPTION إذا يمكننا أن نستنتج أن الأقواس المربعة ترمز إلى أن ما بداخلها اختياري

وكيف نعلم انه يمكننا كتابه أكثر من لاحقه واحده أو عدم كتابه لاحقه من الأساس؟
يمكننا كتابه أكثر من لاحقه وذلك لوجود ثلاث نِقَاط [OPTION]...

[-T] هي أيضا لاحقه ولكن اختياريه ولكن يجب أن يتم كتابتها بعد الانتهاء من [OPTION]...

SOURCE المصدر: أي المِلَفّ أو المجلد الذي سيتم نسخه

DEST الوجهة: أي المسار الذي سيتم النسخ إليه

cp [OPTION]... SOURCE... DIRECTORY

هذه الطريقة لا تختلف الكثير عن الطريقه السابقة الاختلاف هنا هو إمكانية نسخ أكثر من مِلَفّ أو مجلد لمجلد معين

cp [OPTION]... -t DIRECTORY SOURCE...

أيضا هنا لا يوجد اختلاف سوى أن -t الزامي كتابتها لأنها ليست محاطه بأقواس مربعه

طريقه تغير عارض الملفات الافتراضي للطرفية

ما عارض ملفات الطرفية؟
هو عارض ملفات يعرض الملفات بداخل الطرفية نفسها ويمكن تغيره إلي vim أو bat أو nvim

لتغير عارض الملفات الافتراضي للطرفيه يجب عليك فقط نسخ السطر الخاص بالعارض الذي تود استخدامه ولصقه في مِلَفّ الطرفية الخاص بك

#### "bat" as manpager ####
export MANPAGER="sh -c 'col -bx | bat -l man -p'" 
#### "vim" as manpager #### 
export MANPAGER='/bin/bash -c "vim -MRn -c \"set buftype=nofile showtabline=0 ft=man ts=8 nomod nolist norelativenumber nonu noma\" -c \"normal L\" -c \"nmap q :qa<CR>\"</dev/tty <(col -b)"' 
#### "nvim" as manpager ####
export MANPAGER="nvim -c 'set ft=man' -"

البحث عن لاحقه معينة

إذا كنا نريد البحث عن لاحقه ما يمكننا ذلك عن طريق الضغط علي الشرطة المائلة / ثم بعد ذلك كتابه ما نريد البحث عنه
وتعد هذه الطريقة هي طريقه البحث بداخل عوارض الملفات السابق ذكرها أم more او nvim أو vim أو bat
وللتنقل بين نتائج البحث نضغط على حرف n للنتيجة التالية و للنتيجة السابقة N

قصور أمر man

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

وفي الختام

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

المصادر

Manual Pages
Linux manual pages

الترخيص

هذا الموضوع يتبع ترخيص جميع مواضيع أسس: CC-BY-SA 4.0

3 إعجابات

دليل باش سيء مقارنة مع الصدف الأخرى. و لكن يفي بالغرض لتعلم الأساسيات. يمكنك القيام أيضا بهذه الحيلة للحصول على معلومات اضافية حول أداة help
info bash help

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