Product SiteDocumentation Site

ملحق B. دورة تذكيرية قصيرة

بالرغم من أن هذا الكتاب يستهدف مديري النظم و ”المستخدمين المتقدمين“، إلا أننا لم نرغب باستبعاد المبتدئين المتحفزين. وبالتالي فإن هذا الملحق بمثابة حلقة دراسية مكثفة تصف المفاهيم الأساسية المرتبطة بالتحكم في حواسيب يونـِكس.

B.1. الصَدَفة (shell) والأوامر الأساسية

في عالم يونِكس، يضطر كل مدير نظم إلى استخدام سطر الأوامر عاجلاً أو آجلاً؛ مثلاً، عندما يخفق النظام في الإقلاع بشكل صحيح ويكون وضع الإنقاذ النصي متوفرًا فقط. وبالتالي، فإن القدرة على التحكم بمثل هذه الواجهة هي مهارة إنقاذ أساسية في مثل هذه الحالات.
يلقي هذا القسم نظرة سريعة على الأوامر فقط. كل هذه الأوامر لها العديد من الخيارات التي لم نذكرها هنا، لذلك نرجو أن تتطلع على الوثائق الوافرة في صفحات الدليل (manual pages) الخاصة بها.

B.1.1. استعراض شجرة المجلدات وإدارة الملفات

بمجرد فتح جلسة جديدة، يعرض الأمر pwd (اختصاراً للعبارة print working directory أو طباعة مجلد العمل) الموقع الحالي في نظام الملفات. يتم تغيير المجلد الحالي باستخدام الأمر cd directory (الأمر cd يعني change directory أي تغيير المجلد). يرمز للمجلد الأب بنقطتين دائماً ( .. )، في حين يرمز للمجلد الحالي بنقطة واحدة ( . ). يسمح الأمر ls بسرد (listing) محتويات المجلد. إذا لم يُعطَى أية متغيرات، فسيَعرضُ محتويات المجلد الحالي.
$ pwd
/home/rhertzog
$ cd Desktop
$ pwd
/home/rhertzog/Desktop
$ cd .
$ pwd
/home/rhertzog/Desktop
$ cd ..
$ pwd
/home/rhertzog
$ ls
Desktop    Downloads  Pictures  Templates
Documents  Music      Public    Videos
يمكن إنشاء مجلد جديد باستخدام الأمر mkdir directory، ويمكن إزالة مجلد (فارغ) موجود سابقًا بالأمر rmdir directory. يسمح الأمر mv بنقل move و/أو إعادة تسمية الملفات والمجلدات؛ ولإزالة الملفات remove استخدم الأمر rm file.
$ mkdir test
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public    test
$ mv test new
$ ls
Desktop    Downloads  new       Public     Videos
Documents  Music      Pictures  Templates
$ rmdir new
$ ls
Desktop    Downloads  Pictures  Templates  Videos
Documents  Music      Public

B.1.2. استعراض وتعديل الملفات النصية

يقرأ الأمر cat file (يعني concatenate ملف إلى جهاز الإخراج القياسي أي ربطه معه) ملفاً ويعرض محتوياته على الطرفية. إذا كان الملف أكبر من أن يتسع في الشاشة، استعمل أمرَ تصفّحٍ مثل less (أو more) لعرضه صفحة بعد أخرى.
يشغل الأمر editor محرر نصوص (مثل vi أو nano) ويسمح بإنشاء، وتعديل وقراءة الملفات النصية. يمكن إنشاء الملفات البسيطة أحيانًا من مفسِّر الأوامر مباشرة بفضل خاصية إعادة التوجيه: ينشئ الأمر echo "text" >file ملفاً باسم file يحتوي على ”text“. من الممكن إضافة سطر إلى آخر هذا الملف أيضًا، باستخدام الأمر echo "moretext" >>file. لاحظ استخدام >> في هذا المثال.

B.1.3. البحث عن الملفات، والبحث ضمن الملفات

يبحث الأمر find directory criteria عن ملفات تحت المجلد directory وفقاً لعدة معايير. المعيار الأكثر استخداماً هو -name name: الذي يسمح بالبحث عن ملف حسب الاسم.
يبحث الأمر grep expression files في محتويات الملفات ويستخلص السطور التي تطابق التعبير النظامي. (انظر الملاحظة الجانبية أساسيات التعابير المنتظمة). تمكّن إضافة الخيار ‎-r البحث التعاودي على جميع الملفات المحتواة في المجلد المعطى كمتغير. هذا يسمح بالعثور على ملف عندما نعلم جزءًا من محتوياته فقط.

B.1.4. إدارة العمليات

يسرد الأمر ps aux العمليات التي تعمل حالياً ويساعد على التعرف عليها من خلال عرض رقم pid الخاص بها (process id أي معرِّف العملية). بمجرد معرفة pid إحدى العمليات، يسمح الأمر kill -signal pid بإرسال إشارة إليها (إذا كانت العملية خاصة بالمستخدم الحالي). توجد عدة إشارات؛ أكثرها استخداماً TERM (طلب إنهاء العملية بلطف) و KILL (إنهاء قسري).
يسمح مفسر الأوامر أيضاً بتشغيل البرامج في الخلفية إذا اتبعت الأمر بعلامة ”&“. باستخدام هذه العلامة (ampersand)، يتابع المستخدم تحكمه بالصدفة مباشرة بالرغم من أن الأمر لا يزال يعمل (وهو مخفي عن المستخدم؛ كعملية في الخلفية). يسرد الأمر jobs العمليات التي تعمل في الخلفية حالياً؛ إن تشغيل الأمر fg %job-number (اختصاراً لكلمة foreground أي الواجهة) يستعيد البرنامج إلى الواجهة. عندما يعمل البرنامج في الواجهة (سواء لأن تشغيله كان عادياً، أو تمت إعادته إلى الواجهة باستخدام fg)، يوقف المفتاحان Control+Z العملية مؤقتاً ويسمحان بمتابعة التحكم بسطر الأوامر. يمكن بعدها إعادة تشغيل العملية في الخلفية باستخدام bg %job-number (اختصاراً لكلمة background أي الخلفية).

B.1.5. معلومات النظام: الذاكرة، مساحة الأقراص، الهوية

يعرض الأمر free معلومات عن الذاكرة؛ يعطي الأمر df ‏(disk free) تقاريراً عن المساحة المتوفرة على كل واحد من الأقراص المركبة على نظام الملفات. يحوّل خيار ‎-h (اختصاراً للعبارة human readable) الخاص به الأحجام إلى وحدة أكثر وضوحاً (عادة ميبي بايت أو غيبي بايت). وبنفس الأسلوب، يدعم الأمر free الخيار ‎-m والخيار ‎-g، ويعرض بياناته إما بالميبي بايت أو بالغيبي بايت، على التوالي.
$ free
              total        used        free      shared  buff/cache   available
Mem:       16279260     5910248      523432      871036     9845580     9128964
Swap:      16601084      240640    16360444
$ df
Filesystem                1K-blocks      Used Available Use% Mounted on
udev                        8108516         0   8108516   0% /dev
tmpfs                       1627928    161800   1466128  10% /run
/dev/mapper/vg_main-root  466644576 451332520  12919912  98% /
tmpfs                       8139628    146796   7992832   2% /dev/shm
tmpfs                          5120         4      5116   1% /run/lock
tmpfs                       8139628         0   8139628   0% /sys/fs/cgroup
/dev/sda1                    523248      1676    521572   1% /boot/efi
tmpfs                       1627924        88   1627836   1% /run/user/1000
يعرض الأمر id هوية المستخدم الذي يشغل الجلسة، بالإضافة إلى قائمة بالمجموعات التي ينتمي إليها. بما أن الوصول إلى بعض الملفات أو الأجهزة قد يكون محدوداً بأعضاء مجموعة ما، فقد يكون التحقق من عضوية المجموعات مفيداً.
$ id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)