You are on page 1of 181

‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪1‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫بسم ال الرحمن الرحيم‬


‫دليل المستخدم العربي فى أوامر لينكس‬

‫الصدار الثانى‬
‫‪ 25‬رمضان ‪1429‬‬
‫‪ 25‬سبتمبر ‪2008‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪2‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

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

‫تأليف ‪ :‬مهندس ‪ /‬أحمد السيد أحمد علي‬


‫السم المستعار فى منتديات لينكس ‪remstereo‬‬
‫البريد الكترونى ‪remstereo555@yahoo.com :‬‬
‫‪remstereo@gmail.com‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪3‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫مقدمة‪:‬‬
‫الحمد ل رب العالمين والصلة و السلم على أشرف المرسلين وخاتم النبيين ورحمة ال للعالمين‬
‫سيدنا محمد وعلى آله وصحبه وسلم ‪.‬‬

‫السلم عليكم ورحمة ال وبركاته ‪:‬‬


‫يتحدث هذا الكتاب عن سطر الوامر ولقد اخترت ذلك الموضوع لهميته الكبيرة ولذلك‬
‫احببت ان اؤلف كتاب كبير يتكلم عن سطر الوامر باستفاضه وادعو ال ان يكون هذا الكتاب‬
‫عونا طيبا لكم ‪.‬‬

‫لحظت ان البعض هذه اليام يرى ان سطر الوامر قل استخدامه خصوصا بعد التطور الكبير فى‬
‫الواجهات الرسومية وظهور توزيعات غاية فى السهولة مثل توزيعة ‪ . mint‬وهذه النظرة خاطئة عن‬
‫سطر الوامر ‪.‬‬
‫فانا ارى ان سطر الوامر يساوى لينكس حيث انك من خلله تشعر وكان الدنيا كلها بين يديك‬
‫وذلك لقدراته العظيمة التى لتجاريها الواجهات الرسومية مع احترامى لها فانا لانكر التطور الكبير‬
‫فى الواجهات الرسومية التى سهلة علينا الكثير و الكثير لكن يظل سطر الوامر هو الساس لكى تعتبر‬
‫نفسك مستخدم جيد للينكس‪ .‬ومن خلل قراءتك لهذا الكتاب ستكتشف ذلك بنفسك ‪.‬‬

‫يتوجه هذا الكتاب الى جميع مستخدمى لينكس بداية بالمبتدئ و انتهاء بمدير النظام المحترف‪.‬‬
‫وبالرغم كونى قد كتبت هذا الكتاب واختبرت ما فيه من اوامر على توزيعة ‪opensuse 11‬‬
‫ال انى قد راعيت فيه الحيادية حيال التوزيعات المختلفة ال انى لحظت عدم وجود بعض‬
‫الوامر فى توزيعتى مثل المر ‪ adduser‬ولذلك فانى لم اتمكن من شرح هذه الوامر ولكنى‬
‫شرحت اوامر بديلة لها مثل المر ‪. useradd‬‬

‫إن شاء ال سيصدر هذا الكتاب على إصدرات متتالية بحيث يلم الكتاب بأكبر قدر ممكن‬
‫من الوامر ‪ .‬وإن شاء ال ستحمل الصدارة التالية رقم ‪. 3‬‬

‫تمت كتابة هذا الكتاب على توزيعة ‪ opensuse 11‬وذلك باستخدام برنامج‬
‫‪ openoffice.org‬الصدارة ‪2.4‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪4‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫هذا الكتاب خاضع لرخصة ‪ GNU FDL‬أي ) ‪GNU Free Documentation‬‬


‫‪( License‬‬
‫جميع حقوق الطبع محفوظة للمؤلف أحمد السيد أحمد علي‬

‫ملحظة مهمة ‪ :‬هذه العلمة تعنى اترك مسافة بعد المر ‪ .‬وسوف أضع هذه العلمة فى شرح‬
‫المر بالعربى فقط ولن أضعها فى المثلة ‪ .‬وساتبع تلك الطريقة فى الوامر الولى فقط لكى تشعر‬
‫بالمسافات ومدى وجوبها ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪5‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫قائمة المحتويات‬

‫مقدمة ‪:‬‬
‫الفصل الول ‪ :‬اساسيات سطر الوامر‬
‫المر ‪man‬‬
‫المر ‪info‬‬
‫المر ‪xman‬‬
‫طريقة فهم صفحات المساعدة ‪manual‬‬
‫المر ‪whatis‬‬
‫المر ‪apropos‬‬
‫استخدام الخيار ‪--help‬‬
‫استخدام المفتاح ‪tab‬‬
‫علمتى التنصيص ””‬
‫تنفيذ عدة اوامر باستخدام ) ; (‬
‫تنفيذ عدة اوامر باستخدام العلمة &&‬
‫المعامل النبوبى ‪( | ) pipes‬‬
‫المعاملت > و >> و < و <<‬

‫الفصل الثانى ‪ :‬أومر البحث‬


‫المر ‪whereis‬‬
‫المر ‪locate‬‬
‫المر ‪find‬‬

‫الفصل الثالث ‪ :‬التعامل مع الملفات والمجلدات‬


‫‪ -a‬أوامر عامة‬
‫المر ‪pushd‬‬
‫المر ‪popd‬‬
‫المر ‪cd‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪6‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫المر ‪pwd‬‬
‫المر ‪ls‬‬
‫المر ‪dir‬‬
‫‪ -b‬التعامل مع الملفات‬
‫المر ‪touch‬‬
‫المر ‪cat‬‬
‫المر ‪tac‬‬
‫المر ‪file‬‬
‫المر ‪paste‬‬
‫المر ‪more‬‬
‫المر ‪less‬‬
‫المر ‪head‬‬
‫المر ‪tail‬‬
‫المر ‪wc‬‬
‫المر ‪grep‬‬
‫المر ‪zgrep‬‬
‫المر ‪diff‬‬
‫‪ -c‬التعامل مع المجلدات‬
‫المر ‪mkdir‬‬
‫المر ‪tree‬‬
‫‪ -d‬أوامر النسخ و النقل و إعادة التسمية‬
‫المر ‪rm‬‬
‫المر ‪cp‬‬
‫المر ‪mv‬‬
‫‪ #‬النسخ و النقل باستخدام علمة *‬
‫المر ‪ln‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪7‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الرابع ‪ :‬الضغط و الرشفة‬


‫‪ -a‬الرشفة‬
‫المر ‪tar‬‬
‫‪ #‬عمل أرشيف‬
‫‪ #‬عرض محتويات أرشيف‬
‫‪ #‬فك أرشيف‬
‫‪ #‬إضافة ملف أو مجلد إلى أرشيف‬
‫المر ‪cpio‬‬
‫‪ -b‬الضغط‬
‫المر ‪gzip‬‬

‫الفصل الخامس ‪ :‬محررات النصوص‬


‫المحرر ‪mcedit‬‬
‫المحرر ‪ vim‬أو ‪gvim‬‬
‫المحرر ‪pico‬‬
‫المحرر ‪nano‬‬
‫المحرر ‪emacs‬‬
‫المحرر ‪xemacs‬‬
‫المحررات الدفقيه أو التجاهيه‬
‫المحرر ‪sed‬‬
‫التدقيق الملئي بواسطة المر ‪ispell‬‬

‫الفصل السادس ‪ :‬إدارة القراص الصلبة‬


‫‪ -a‬تقسيم القرص الصلب‬
‫مقدمة‬
‫المر ‪fdisk‬‬
‫المر ‪cfdisk‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪8‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -b‬تهيئة برتشنات القرص الصلب‬


‫المر ‪mkfs‬‬
‫‪ -c‬ربط محرك أقراص جديد‬
‫‪ #‬خطوات ربط البرتشنات مؤقتا‬
‫‪ #‬خطوات ربط البرتشنات دائما‬
‫المر ‪df‬‬

‫الفصل السابع ‪ :‬إدارة المستخدمين و المجموعات‬


‫مقدمة‬
‫‪ -a‬أوامر التعامل مع المجموعات‬
‫‪ #‬إنشاء مجموعة باستخدام المر ‪groupadd‬‬
‫‪ #‬تعديل المجموعات باستخدام المر ‪groudmod‬‬
‫‪ #‬حذف المجموعات باستخدام المر ‪groupmod‬‬
‫‪ #‬الملفات الخاصة بالمجموعات‬
‫الملف ‪/etc/group‬‬
‫‪ -b‬أوامر التعامل مع المستخدمين‬
‫‪ #‬إنشاء مستخدم باستخدام المر ‪useradd‬‬
‫‪ #‬تعديل بيانات المستخدمين باستخدام المر ‪usermod‬‬
‫‪ #‬حذف المستخدمين باستخدام المر ‪userdel‬‬
‫‪ #‬الملفات الخاصة بالمستخدمين‬
‫الملف ‪/etc/passwd‬‬
‫الملف ‪/etc/shadow‬‬
‫‪ #‬كيفية عمل ‪ disable‬للمستخدم من خلل ملف ‪/etc/shadow‬‬
‫‪ #‬نقل مستخدم من نظام لخر‬
‫‪ -a‬العتماد على الملف ‪ group‬فى إدارة المجموعات‬
‫‪ -b‬العتماد على الملف ‪ passwd‬فى إدارة المجموعات‬
‫‪ #‬كيفية نقل المستخدم من مجموعة لخرى‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪9‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬التعرف على بياناتك‬


‫المر ‪id‬‬
‫المر ‪groups‬‬
‫المر ‪gpasswd‬‬
‫المر ‪passwd‬‬
‫‪ -c‬التصاريح ‪permission‬‬
‫‪ #‬مقدمة‬
‫كتابة التصاريح بالحرف‬
‫كتابة التصاريح بالرقام‬
‫بحث حول معانى التصاريح و تأثير التصاريح على العمليات المختلفة‬
‫أول ‪ :‬تأثير التصاريح على العمليات التى يمكن إجراؤها على المجلدات‬
‫ثانيا ‪ :‬تأثير التصاريح على العمليات التى يمكن إجراؤها على الملفات‬
‫المر ‪chmod‬‬
‫‪ -a‬تغيير السماحيات بالرقام‬
‫‪ -b‬تغيير السماحيات بالحرف‬
‫المر ‪chown‬‬
‫المر ‪chgrp‬‬
‫كيفية إنشاء مستخدم‬

‫الفصل الثامن ‪ :‬إدارة العمليات‬


‫مقدمة‬
‫جعل برنامج يعمل فى الخلفية‬
‫تعليق برنامج ليعمل فى الخلفية‬
‫عرض قائمة بالبرامج التى تعمل فى الخلفية و البرامج المعلقة‬
‫اعادة برنامج معلق الى العمل فى المقدمة‬
‫اعادة برنامج معلق الى العمل فى الخلفية‬
‫المر ‪ps‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪10‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫المر ‪pstree‬‬
‫المر ‪kill‬‬
‫المر ‪killall‬‬
‫الخاتمة‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪11‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الول ‪ :‬اساسيات سطر الوامر‬

‫أخي القارئ ‪ :‬لكي تفهم مهمة أحد الوامر واستخداماته المتعددة وخياراته يمكنك الستعانة‬
‫بأوأمر هذا الفصل لتتمكن من الحاطة بوظيفة المر ‪.‬‬

‫‪#‬يوجد لكل أمر صفحات ‪) manual‬صفحات مساعدة( الغرض منها التعريف بوظيفة المر‬
‫وبيان كيفية استخدامه ‪.‬‬

‫‪#‬المر ‪: man‬‬
‫ووظيفة المر ‪ :‬يعرض لك جميع المعلومات المتعلقة بأي أمر تريد مثل ) كيفية استخدام هذا المر‬
‫‪ -‬اسم المبرمج الذى كتب هذا المر وبريده اللكترونى – أوامر أخرى لها صلة بهذا المر ‪-‬‬
‫‪......‬الخ ( ‪.‬‬
‫ويتم استخدام هذا المر كالتالى ‪:‬‬
‫المر الذى تريد الستعلم عنه ‪man‬‬
‫‪ -1‬إذا أردت معرفة جميع المعلومات المتعلقة بالمر ‪ ls‬اكتب ما يلي‪:‬‬

‫‪ahmed@the-game:~> man ls‬‬

‫‪ -2‬لمعرفة وظيفة أمر معين دون عرض كامل لصفحة المساعدة نستخدم الخيار ) ‪ ( f‬فمثل إذا‬
‫أردت معرفة وظيفة المر ‪ ls‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> man -f ls‬‬

‫وتكون الجابة كالتالى ‪:‬‬

‫)‪ls (1p‬‬ ‫‪- list directory contents‬‬


‫)‪ls (1‬‬ ‫‪- list directory contents‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪12‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫أي أن المر ‪ ls‬يستعمل فى عرض محتويات المجلدات ‪.‬‬

‫‪ -3‬لمعرفة جميع الوامر التى تؤدى غرضا معينا استخدم الخيار )‪ (k‬فمثل إذا أردت معرفة جميع‬
‫الوامر التى تقوم بالتقسيم ‪ fdisk‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> man -k fdisk‬‬

‫وتكون الجابة كالتالى ‪:‬‬

‫)‪cfdisk (8‬‬ ‫‪- Curses based disk partition table manipulator for Linux‬‬
‫)‪fdisk (8‬‬ ‫‪- Partition table manipulator for Linux‬‬
‫)‪sfdisk (8‬‬ ‫‪- Partition table manipulator for Linux‬‬

‫ملحظة ‪ :‬الخيارات ]‪ [-f‬و ]‪ [-k‬تعتمد على قاعدة بيانات المر ‪whatis‬‬

‫مفاتيح التعامل مع صفحات المساعدة ‪: manual‬‬

‫‪down arraw‬‬ ‫للذهاب لنهاية الصفحة سطر سطر‬


‫‪up arraw‬‬ ‫للذهاب لبداية الصفحة سطر سطر‬
‫‪page down‬‬ ‫للتنقل صفحة صفحة لسفل‬
‫‪page up‬‬ ‫للتنقل صفحة صفحة لعلى‬
‫‪q‬‬ ‫للخروج من صفحة ‪manual‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪13‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪#‬المر ‪: info‬‬
‫ووظيفة هذا المر نفس وظيفة المر السابق ‪ man‬ولكن المر ‪ info‬أكثر تفصيل‪.‬‬

‫ويتم استخدام هذا المر كالتالى ‪:‬‬

‫المر الذى تريد الستعلم عنه ‪info‬‬

‫‪ -1‬إذا أردت معرفة جميع المعلومات المتعلقة بالمر ‪ ls‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> info ls‬‬

‫مفاتيح التعامل مع صفحات المساعدة ‪: info‬‬

‫‪e‬‬ ‫للذهاب لنهاية الصفحة‬


‫‪b‬‬ ‫للذهاب لبداية الصفحة‬
‫‪down arraw‬‬ ‫للذهاب لخر الصفحة خطوة خطوة‬
‫‪up arraw‬‬ ‫للذهاب لبداية الصفحة خطوة خطوة‬
‫*‬ ‫عند وجود تلك العلمة فإنها تدل على وجود‬
‫صفحة جديدة تحرك بالسهم وقف عليها‬
‫واضغط ‪ Enter‬للدخول لتلك الصفحة‬
‫? ‪shift +‬‬ ‫لمعرفة المفاتيح المفيدة فى صفحة ‪info‬‬
‫‪d‬‬ ‫يرجعك إلى الصفحة الرئيسية لل ‪info‬‬
‫‪q‬‬ ‫للخروج من صفحة ‪info‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪14‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪#‬المر ‪: xman‬‬
‫يستخدم هذا المر لعرض صفحات المساعدة ‪ manual‬مثل المر ‪ man‬تماما لكنه يتميز‬
‫بالتى ) تستطيع استخدام الفارة لعرض الوامر والبحث عنها – يمكنه عرض الوأمر حسب رقمها‬
‫) ‪ ( 9 – 1‬كما سيشرح فى جزء كيفية فهم صفحات ‪.( man‬‬

‫ويتم استخدام هذا المر كالتالى ‪:‬‬

‫& ‪ahmed@the-game:~> xman‬‬

‫وسوف يظهر لك الشكل التي ‪:‬‬

‫لعرض صفحات المساعدة اضغط على ‪ manual page‬وسوف يظهر لك الشكل التي ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪15‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫لعرض الوامر حسب رقمها اضغط على الزر العلوى ‪ sections‬وللبحث عن أمر معين اضغط‬
‫على الزر العلوى ‪ options‬ثم اضعط على ‪ search‬فيظهر لك الشكل التي ‪:‬‬

‫للبحث عن الوامر حسب السم اضغط على ‪ manual page‬بعد إدخال اسم المر‪.‬‬

‫للبحث عن الوامر حسب الوظيفة اضغط على ‪ Apropos‬بعد إدخال وظيفة المر ‪.‬‬

‫‪##‬طريقة فهم صفحات ‪: manual‬‬


‫فى البداية يجب أن تعرف أن لكل أمر فى لينكس رقم يتراوح بين}‪ {9-1‬يستخدم لتقسيم الوامر‬
‫حسب وظيفتها وذلك كالتى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪16‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫رقم ‪ } 1‬أوامر تقليدية يمكن لى مستخدم تنفيذها { ‪.‬‬


‫رقم ‪ } 2‬أوامر خاصة بالكيرنال ‪. { system calls‬‬
‫رقم ‪ } 3‬أوامر خاصة بالمكتبات )توابع البرمجيات( { ‪.‬‬
‫رقم ‪ } 4‬أوامر خاصة بالــ ‪ devices‬مثل الهارد و ‪... viga‬الخ { ‪.‬‬
‫رقم ‪ } 5‬أوامر خاصة بملفات التهيئة ‪ configration files‬وكذلك ملفات ‪/etc/passwd‬‬
‫وملفات أخرى { ‪.‬‬
‫رقم ‪ } 6‬أوامر خاصة باللعاب { ‪.‬‬
‫رقم ‪ } 7‬أوامر متفرقة مثل صيغ ملفات ‪. { man‬‬
‫رقم ‪ } 8‬أوامر خاصة بإدارة النظام { ‪.‬‬
‫رقم ‪ } 9‬منهجيات النواه ‪ , kernel routines‬الملفات الصل لمنهجيات النواة {‬

‫وأهم أرقام هى }‪. {1,2,5,8‬‬

‫ملحظة مهمة‪:‬‬
‫قد يكون للمر الواحد أكثر من رقم ) أي أنه موجود فى أكثر من قسم (‬
‫فمثل المر ‪ kill‬موجود بالقسم )‪. (2) , (1‬‬
‫المشكله هنا أننا عندما نستدعى صفحة المساعدة الخاصة بمثل هذا المر )‪ (kill‬فإن المر ‪man‬‬
‫سوف يبحث عن المر فى قاعدة بياناته ويأتى بأول نتيجة تصادفه ) أي أنه سيأتى لك بالمر ‪kill‬‬
‫الموجود فى القسم ‪. ( 1‬‬

‫ولتفادى ذلك لبد من تحديد القسم الذى سيبحث فيه عن المر وذلك عن طريق كتابة رقم‬
‫القسم قبل المر كالتالى ‪:‬‬

‫‪ahmed@the-game:~> man 2 kill‬‬

‫مثال ‪ :‬إذا أردنا معرفة معلومات عن المر ‪ clear‬افتح الترمينال ‪ termenal‬واكتب التي ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪17‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

ahmed@the-game:~> man clear

: ‫ وتكون كالتالى‬clear ‫فتظهر لك صفحة المساعدة الخاصة بالمر‬

clear(1) clear(1 )

NAME
clear - clear the terminal screen

SYNOPSIS
clear

DESCRIPTION
clear clears your screen if this is possible. It looks in the environment
for the terminal
type and then in the terminfo database to figure out how to clear the
.screen

.clear ignores any command-line parameters that may be present

SEE ALSO
(tput(1), terminfo(5

.(This describes ncurses version 5.6 (patch 20070128

: ‫الشـــــرح‬
1 ‫ ورقمه‬clear ‫ تبدأ صفحة المساعدة بكتابة اسم المر الذى استعلمت عنه ورقمه ) وهو هنا‬-1
( ‫أي من الوامر التقليدية التى يمكن لى مستخدم تنفيذها‬
clear(1) clear(1)

‫دليل المستخدم العربى فى أوامر لينكس‬ 18


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪2- NAME:‬‬
‫وهنا نجد اسم المر تتبعه وظيفته‪.‬‬

‫‪3- SYNOPSIS:‬‬
‫وهنا يبين لك كيفية استخدام المر ‪ .‬فنجد مثل المر ‪: emacs‬‬

‫] ‪emacs [ command-line switches ] [ files ...‬‬

‫فالمر يكتب أول ثم يتبعه ‪ option‬ثم بعد ذلك الملف أو المجلد الذى يطبق عليه المر‪.‬‬
‫‪#‬قبل النتقال إلى النقطة التالية يجب معرفة كيف تفهم صيغة كتابة المر وذلك كما يلى‪:‬‬
‫] [ مابداخلها اختيارى يمكن أن تكتبه أو ل تكتبه‬
‫> < مابداخلها اجبارى لبد أن تكتبه مع إبداله بالنص المناسب‬
‫فمثل إذا كان >‪ <file‬لبد ابدال كلمة ‪ file‬بالملف الذى سوف‬
‫تتعامل معه‪.‬‬
‫} { أي لبد كتابة أحد الخيارات الموجودة بداخله أي اختر مايناسبك‪.‬‬
‫‪ ...‬الثلث نقط تعنى الخ‪.‬‬
‫فمثل نجد مكتوبا ‪ [option]...‬أي اكتب خيار واحد أو أكثر ونجد ‪ [file]...‬أي ملف واحد‬
‫أو أكثر‪.‬‬

‫يمكن دمج هذه الرموز مع بعضها وتقرأ من الخارج للداخل فمثل الرمز ]> <[ يعنى أنه اختيارى‬
‫ولو اخترته استبدل مابداخله بما يناسبك‪.‬‬

‫‪4- DESCRIPTION:‬‬
‫وهنا نجد شرحا لما يقوم به المر بإيجاز وشرح لخياراته‪.‬‬

‫‪5- OPTIONS:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪19‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫وهنا شرح مختصر لخيارات المر‪.‬‬

‫‪6- EXAMPLES:‬‬
‫هنا بعض المثلة التوضيحية ‪.‬‬

‫‪7- AUTHORS:‬‬
‫هنا نجد اسم المبرمج الذى كتب المر أو البرنامج وكذلك صفحة ‪.manual‬‬

‫‪8- BUGS:‬‬
‫هنا نجد البريد اللكترونى الذى نرسل إليه المشاكل التى تواجهنا أثناء تنفيذ المر أو البرنامج‪.‬‬

‫‪9- COPYRIGHT:‬‬
‫هنا نجد معلومات عن حقوق الملكية للمر أو البرنامج‪.‬‬

‫‪10- SEE ALSO:‬‬


‫يدلك على الوامر المتعلقة بنفس الموضوع‪.‬‬

‫‪11- F IL ES:‬‬
‫نجد هذا القسم فى الوامر التى لها ملفات تهيئة مثل المر ‪.mount‬‬

‫‪12- HISTORY:‬‬
‫يذكر تاريخ المر من حيث إذا كان يستخدم فى أنظمة أخرى مثل ‪ unix‬أو ‪.bsd‬‬

‫‪#‬المر ‪: whatis‬‬
‫يستخدم لعرض معلومات مختصرة عن أي أمر‪ .‬ولكى يعمل هذا المر يلزم له قاعدة بيانات‪.‬‬
‫ولعمل قاعدة البيانات اتبع إحدى الطريقتين التيتين‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪20‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> su‬‬

‫‪Password:‬‬
‫‪the-game:/home/ahmed # makewhatis‬‬

‫إذا لم تعمل معك تلك الطريقة اتبع الطريقة الثانية‪:‬‬

‫‪ahmed@the-game:~> su‬‬

‫‪Password:‬‬
‫‪the-game:/home/ahmed # mandb‬‬

‫الن معظم التوزيعات بها قاعدة بيانات جاهزة لهذا المر ول تحتاج كل هذا بل وقد ليوجد بها‬
‫المر ‪ makewhatis‬أصل‪.‬‬

‫وطريقة استعمال المر كالتالى‪:‬‬

‫المر الذى تريد الستعلم عن وظيفته ‪whatis‬‬

‫‪ -1‬إذا أردت الستعلم عن وظيفة أمر واحد فقط اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> whatis ls‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫)‪ls (1‬‬ ‫‪- list directory contents‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪21‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -2‬إذا أردت الستعلم عن وظيفة أكثر من أمر اكتب الوامر المراد الستعلم عنها وراء بعض‬
‫كالتالى ‪:‬‬

‫‪ahmed@the-game:~> whatis ls dir cd ifconfig‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫)‪ls (1‬‬ ‫‪- list directory contents‬‬


‫)‪dir (1‬‬ ‫‪- list directory contents‬‬
‫‪cd: nothing appropriate.‬‬
‫)‪ifconfig (8‬‬ ‫‪- configure a network interface‬‬

‫ونلحظ هنا ان المر ‪ cd‬لم يتم العثور له على وظيفة مناسبة ‪.‬‬

‫‪#‬المر ‪: apropos‬‬
‫يستخدم للبحث عن أي أمر أعرف وظيفته‪ .‬أي أنك تستخدم هذا المر إذا كنت تبحث عن‬
‫الوامر التى تؤدى وظيفة معينة‪.‬‬

‫وطريقة استعمال هذا المر كالتالى‪:‬‬

‫وظيفة المر الذى تريد الستعلم عنه ‪apropos‬‬

‫‪ -1‬إذا أردت الستعلم عن الوامر التى يمكن أن تقسم الهارد ديسك اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> apropos fdisk‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫)‪cfdisk (8‬‬ ‫‪- Curses based disk partition table manipulator for Linux‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪22‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫)‪fdisk (8‬‬ ‫‪- Partition table manipulator for Linux‬‬


‫)‪sfdisk (8‬‬ ‫‪- Partition table manipulator for Linux‬‬

‫يستخدم المر ‪ apropos‬نفس ‪ database‬الخاصة بالمر ‪.whatis‬‬

‫‪ #‬استخدام الخيار ‪: -- help‬‬


‫للحصول على معلومات مختصره عن اى امر استخدم الخيار ‪ --help‬مع المر الذى تريد الحصول‬
‫على معلومات عنه‬

‫مثال ‪ :‬للحصول على معلومات مختصره عن المر ‪ ls‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls --help‬‬

‫‪ #‬استخدام المفتاح ‪: tab‬‬


‫‪ -1‬اذا اردت مشاهدة جميع الوامر افتح الترمينال ثم اضغط المفتاح ‪ tab‬مرتين فتظهر لك رساله‬
‫تسالك هل تريد عرض جميع الوامر وتذكر عددها وتكون الجابه بـ ‪ y‬للموافقه او ‪ n‬للرفض وذلك‬
‫كالتالى ‪:‬‬

‫>~‪ahmed@the-game:‬‬
‫)‪Display all 4575 possibilities? (y or n‬‬

‫‪ -2‬اذا اردت مشاهدة جميع الوامر التى تبدأ بحرف معين وليكن ‪ m‬افتح الترمينال ثم اكتب‬
‫الحرف ‪ m‬ثم اضغط على المفتاح ‪ tab‬مرتين فتظهر لك رساله تسالك هل تريد عرض جميع الوامر‬
‫التى تبدأ بحرف ‪ m‬وتذكر عددها وتكون الجابه بـ ‪ y‬للموافقه او ‪ n‬للرفض وذلك كالتالى ‪:‬‬

‫‪ahmed@the-game:~> m‬‬
‫)‪Display all 296 possibilities? (y or n‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪23‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -3‬اذا كنت غير متذكر صيغة المر بالضبط لكنك متاكد من الحروف الولى من المر افتح‬
‫الترمينال واكتب تلك الحروف ثم اضغط على المفتاح ‪ tab‬مره واحده فيكمل لك المر مباشرة اما‬
‫اذا كان يوجد اكثر من امر يبدأو نتلك الحرف الولى ستحتاج فقط للضغط على المفتاح ‪tab‬‬
‫مرتين وبالتالى سيعرض لك جميع الوامر التى تبدأ بتلك الحرف الولى وذلك كالتالى ‪:‬‬

‫‪ahmed@the-game:~> chk‬‬
‫‪chkstat chktrust‬‬

‫‪ -4‬ليقتصر استخدام المفتاح ‪ tab‬على الوامر وانما يمكن ايضا استعماله مع اسماء الملفات‬
‫والمجلدات فمثل اذا اردت الدخول الى مجلد اسمه طويل وبه مسافات باستخدام المر ‪ cd‬ولم‬
‫ترد كتابة ذلك السم فكل ماعليك فعله هو كتابة الحرف الول من المجلد اذا لم يكن هناك مجلد‬
‫اخر يبدا بذلك الحرف او الحرف الولى من المجلد ثم الضغط على المفتاح ‪ tab‬مره واحده‬
‫ليكمل لك اسم المجلد ‪.‬‬

‫‪ #‬علمتى التنصيص ”” ‪:‬‬


‫ويتم استخدامهم مع اسماء الملفات و المجلدات التى تحتوى على مسافات فمثل اذا كان لديك‬
‫مجلد اسمه ‪ New folder‬و اردت الدخول عليه فما عليك ال وضع اسمه بين علمتى‬
‫التنصيص و ذلك كالتالى ‪:‬‬

‫"‪ahmed@the-game:~> cd "New folder‬‬

‫‪ #‬تنفيذ عدة اوامر باستخدام ) ; ( ‪:‬‬


‫تستخدم تلك العلمه لتنفذ عدة اوامر معا فى نفس الوقت ودون ان تعتمد تلك الوامر على بعضها‬
‫اى انه اذا فشل تنفيذ امر منهم ليؤثر على تنفيذ بقية الوامر فمثل اذا اردت انشاء مجلد اسمه‬
‫‪ ng‬و الدخول الى المجلد ‪ ng‬ثم انشاء ملف اسمه ‪ toma‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir ng ; cd ng ; touch toma‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪24‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬تنفيذ عدة اوامر باستخدام العلمة && ‪:‬‬


‫تستخدم تلك العلمه لتنفذ عدة اوامر معا فى نفس الوقت ودون ان تعتمد تلك الوامر على بعضها‬
‫اى انه اذا فشل تنفيذ امر منهم ليؤثر على تنفيذ بقية الوامر فمثل اذا اردت انشاء مجلد اسمه‬
‫‪ hgh‬و الدخول اليه وانشاء ملف اسمه ‪ ds‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir hgh && cd hgh && touch ds‬‬

‫‪ #‬المعامل النبوبى ‪: ( | ) pipes‬‬


‫‪ : pipes‬هو عبارة عن نوع خاص من الملفات يقوم بعمل مشاركة بين برنامجين بحيث يقوم‬
‫البرنامج الول بالكتابة الى ‪ pipe file‬بينما يقوم البرامج الثانى بالقراءة من ‪. pipe file‬‬

‫وتعنى تلك الصورة ان خرج المر الول هو دخل المر الثانى ‪ .‬و المعامل النبوبى ليستخدم مع‬
‫جميع الوامر وانما يستخدم مع الوامر القادره على القراءه من الدخل النظامى والكتابه الى الخرج‬
‫النظامى ‪.‬‬

‫وفيما يلى بعض المثله على استخدام المعامل النبوبى مع شرح مبسط لها ‪:‬‬

‫‪ -1‬اذا اردت عد السطر الموجوده فى ملف اسمه ‪ mido‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat mido | wc -l‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪25‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫هنا المر الول ‪ cat‬يستخدم لعرض الملف النصى ‪ mido‬لكن بدل من عرضه فى الترمينال تم‬
‫ارسال خرج ذلك المر ‪ cat‬الى دخل المر ‪ wc‬لكى يقوم بعد السطر فى ذلك الملف‬

‫‪ -2‬اذا اردت احصاء عدد السطر الموجوده فى جميع ملفات النظام اى الموجوده تحت الدليل ‪/‬‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # find / | wc -l‬‬

‫هنا المر ‪ find‬يقوم بعرض جميع الملفات و المجلدات الفرعيه لكن بدل من ان يتم العرض داخل‬
‫الترمينال يتم ارسال خرج المر ‪ find‬الى دخل المر ‪ wc‬ليتمكن الخير من عد السطر الموجوده‬
‫فى جميع الملفات على الجهاز‬

‫‪ -3‬اذا اردت التاكد من عمل خدمه او برنامج معين مثل برنامج ‪ tvtime‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ps -A | grep tvtime‬‬

‫اذا كان برنامج ‪ tvtime‬يعمل سيظهر لك معلومات عن البرنامج مثل رقم العمليه ‪ pid‬واذا لم يكن‬
‫برنامج ‪ tvtime‬يعمل فلن يظهر لك شئ فى الترمينال ‪.‬‬

‫‪ #‬المعاملت > و >> و < و << ‪:‬‬

‫وتستخدم تلك العلمات فى اعادة توجيه الخرج و الدخل النظامى‬

‫اول ‪ :‬المعامل > و >> ) معامل اعادة توجيه الخرج النظامى ( ‪:‬‬

‫يستخدم فى اعادة توجيه خرج المر السابق له فمثل اذا كان المر السابق لذلك المعامل يعطى‬
‫خرجه للشاشه يمكن باستخدام ذلك المعامل اعادة توجيه الخرج الى ملف مثل ‪ .‬وفيما يلى بعض‬
‫المثله لليضاح ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪26‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫مثال ‪: 1‬‬
‫اذا اردت نسخ محتويات ملف نصى اسمه ‪ mido‬الى ملف اخر اسمه ‪ jack‬اكتب مايلى ‪:‬‬

‫‪ahmed@the-game:~> cat mido > jack‬‬


‫او‬
‫‪ahmed@the-game:~> cat mido >> jack‬‬

‫الشرح‪:‬‬
‫المر ‪ ) cat‬بدون استخدام المعامل > او >> ( يقوم بعرض محتويات الملف المسمى ‪ mido‬على‬
‫الشاشه اى فى الترمينال ولكن بعد استخدام المعامل > او >> تم تحويل خرج المر ‪ cat‬الى ملف‬
‫اخر اسمه ‪jack‬‬

‫مثال ‪: 2‬‬
‫اذا اردت نسخ صفحة المساعده الخاصه بالمر ‪ ls‬فى ملف اسمه ‪ zico‬بحيث نستطيع قراءة‬
‫صفحة المساعده الخاصه بالمر ‪ ls‬باى محرر نصوص اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> man ls > zico‬‬


‫او‬
‫‪ahmed@the-game:~> man ls >> zico‬‬

‫الشرح‪:‬‬
‫المر ‪ ) man‬بدون استخدام المعامل > او >> ( يقوم بعرض صفحة المساعده الخاصه بالمر ‪ls‬‬
‫على الشاشه اى فى الترمينال و لكن بعد استخدام المعامل > او >> تم تحويل خرج المر ‪man‬‬
‫الى ملف اسمه ‪zico‬‬

‫مثال ‪: 3‬‬
‫اذا اردت انشاء ملف اسمه ‪ nona‬والكتابه بداخله باستخدام المر ‪ cat‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪27‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> cat > nona‬‬


‫او‬
‫‪ahmed@the-game:~> cat >> nona‬‬

‫ادخل النص الذى تريد ثم اضغط على ‪ctrl+d‬‬

‫الشرح‪:‬‬
‫المر ‪ cat‬مفردا وظيفته ) ‪ ( Copy standard input to standard output‬عرض ما‬
‫تكتبه فى الدخل القياسى ) الترمينال ( على الخرج القياسى ) الشاشه ( ‪.‬‬
‫لكن بعد استخدام المعامل > او >> تم تحويل ماسيتم كتابته فى الترمينال الى الملف ‪. nona‬‬

‫لكن ما الفرق بين المعامل > و المعامل >> ؟‬

‫يظهر الفرق فى حالة اذا كان لديك ملف يحمل نفس اسم الملف الموجه اليه الخرج فنجد ان‬
‫المعامل > يكتب على الملف مع مسح محتوياته اما المعامل >> فانه يعدل على الملف مع عدم‬
‫مسح محتوياته بحيث يتم اضافة الخرج الى اسفل الملف ‪ .‬ولذلك فان من المان استخدام‬
‫المعامل >> خاصة وانت مستخدم جذر ‪.‬‬

‫ثانيا ‪ :‬المعامل < ) معامل اعادة توجيه الدخل النظامى ( ‪:‬‬


‫يستخدم فى اعادة توجيه دخل المر السابق له اى جعل المر السابق له ياخذ دخله من ملف‬
‫وفيما يلى مثال لليضاح ‪:‬‬

‫مثال ‪:‬‬
‫اذا كان لديك ملف اسمه ‪ gamal‬محتواه ما يلى ‪:‬‬
‫‪mr.ahmed mr.hazem mr.hassan mr.islam‬‬
‫واردت تغيير كلمة ‪ mr.‬الى ‪ mrs.‬فى كامل الملف ووضع تلك التغييرات فى ملف جديد اسمه‬
‫‪ lila‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> sed s/mr./mrs./g <gamal> lila‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪28‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الشرح‪:‬‬
‫هنا تم اخذ دخل المر ‪ sed‬من الملف ‪ gamal‬عن طريق العلمه < وارسال الخرج الى ملف‬
‫جديد اسمه ‪ lila‬عن طريق العلمه >‬

‫ثالثا ‪ :‬المعامل << ) المعامل هنا ‪: ( here operator‬‬


‫يستخدم فى اعلم الصدفه متى تتوقف عن قراءة الدخل وفيما يلى مثال لليضاح‬

‫مثال ‪:‬‬
‫اذا اردت انشاء ملف اسمه ‪ sica‬والكتابه بداخله باستخدام المر ‪ cat‬بحيث تتوقف الصدفه‬
‫عن قراءة الدخل عند كتابة الكلمه ‪ game over‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat << "game over" > sica‬‬


‫او‬
‫"‪ahmed@the-game:~> cat > sica << "game over‬‬

‫ادخل النص الذى تريد وفى نهايته اكتب كلمة ‪ game over‬فى سطر منفرد وبدون علمتى‬
‫التنصيص وبالتالى ستتوقف عملية الدخال ولن تحتاج للضغط على ‪ ctrl+d‬مع ملحظة ان‬
‫كلمة ‪ game over‬لن تظهر فى النص الذى قمت بادخاله فى الملف ‪. sica‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪29‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪30‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الثانى ‪ :‬أومر البحث‬

‫‪#‬المر ‪: whereis‬‬
‫يستخدم هذا المر للبحث عن البرامج ] ملفات ثنائية [ والملفات المتعلقة بها وصفحات كتيب‬
‫التشغيل ‪. manual‬‬

‫وطريقة استعمال هذا المر كالتالى‪:‬‬

‫‪ -1‬إذا أردت البحث عن برنامج أو أمر معين وكل شىء متعلق به }مثل صفحات ‪manual‬‬
‫الخاصة به والملفات ‪ { source‬اكتب ما يلى‪:‬‬

‫اسم البرنامج ‪whereis‬‬


‫مثال‪:‬للبحث عن المر ‪ ls‬وكل شىء متعلق به‬

‫‪ahmed@the-game:~> whereis ls‬‬

‫فتكون النتيجة كما يلى‪:‬‬

‫‪ls: /bin/ls /usr/share/man/man1p/ls.1p.gz‬‬


‫‪/usr/share/man/man1/ls.1.gz‬‬

‫‪ -2‬إذا أردت البحث عن صفحات ‪ manual‬فقط اكتب ما يلى‪:‬‬

‫اسم البرنامج ‪whereis -m‬‬

‫مثال‪:‬للبحث عن صفحات ‪ manual‬الخاصة بالمر ‪ ls‬فقط‪.‬‬

‫‪ahmed@the-game:~> whereis -m ls‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪31‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة كما يلى‪:‬‬

‫‪ls: /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz‬‬


‫‪ -3‬إذا أردت البحث عن الملفات الثنائية فقط اكتب ما يلى‪:‬‬

‫اسم البرنامج ‪whereis -b‬‬

‫مثال‪ :‬للبحث عن الملفات الثنائية الخاصة بالمر ‪ ls‬فقط‪.‬‬

‫‪ahmed@the-game:~> whereis -b ls‬‬

‫فتكون النتيجة كما يلى‪:‬‬

‫‪ls: /bin/ls‬‬

‫‪ -4‬إذا أردت البحث عن الملفات الصل }‪ {source‬فقط اكتب ما يلى‪:‬‬

‫اسم البرنامج ‪whereis -s‬‬

‫مثال‪ :‬للبحث عن الملفات الصل }‪ {source‬الخاصة بالمر ‪ ls‬فقط‪.‬‬

‫‪ahmed@the-game:~> whereis -s ls‬‬

‫فتكون النتيجة كما يلى‪:‬‬

‫‪ls:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪32‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬المر ‪: locate‬‬
‫يستخدم للبحث عن الملفات داخل النظام أو داخل الهارد وهو أسرع من المر ‪.find‬‬

‫ملحظة ‪ :‬بعض التوزيعات تحتاج عمل قاعدة بيانات للمر ‪ locate‬قبل استخدامه وذلك كما‬
‫يلى ‪:‬‬
‫‪ahmed@the-game:~> su‬‬

‫‪Password:‬‬
‫‪the-game:/home/ahmed # updatedb‬‬

‫وطريقة استعمال هذا المر كالتالى‪:‬‬

‫الملف المراد البحث عنه ‪locate‬‬

‫‪ -1‬إذا أردت البحث عن جميع الملفات ذات نوع واحد فقط داخل جهازك اكتب ما يلى‪:‬‬

‫المتداد الذى تريد‪locate *.‬‬

‫مثال ‪ :‬للبحث عن الملفات ذات امتداد ‪ mp4‬فقط داخل جهازك‪.‬‬

‫‪the-game:/home/ahmed # locate *.mp4‬‬

‫فتكون النتيجة مثل كما يلى‪ } :‬وذلك طبعا حسب الملفات الموجودة على جهازك {‬

‫‪/amr1.mp4‬عمرو‪/‬دبى ‪/mnt/collection1/ar v.clip/2008‬‬

‫‪ -2‬إذا أردت البحث عن الملفات ذات امتداد ‪ mp4‬و ‪ mp2‬معا داخل جهازك اكتب ما‬
‫يلى‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪33‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # locate *.mp4 *.mp2‬‬

‫فتكون النتيجة مثل كما يلى‪ } :‬وذلك طبعا حسب الملفات الموجودة على جهازك {‬

‫‪/amr1.mp4‬عمرو‪/‬دبى ‪/mnt/collection1/ar v.clip/2008‬‬


‫‪.mp2‬كــوكــتيل‪/‬بنحب بعض‪/mnt/collection1/ogg/ar---ogg/‬‬

‫‪ -3‬إذا أردت البحث عن امتداد معين و ليكن ‪ avi‬فى المسار ‪/mnt/collection1‬‬


‫اكتب مايلى ‪:‬‬

‫‪ahmed@the-game:~> locate /mnt/collection1/*.avi‬‬

‫فتكون النتيجة كما يلى ‪ } :‬وذلك طبعا حسب الملفات الموجوده على جهازك {‬

‫‪.avi‬عمرو‪/‬ليلى نهارى‪/mnt/collection1/ar v.clip/‬‬


‫‪.avi‬محمد فؤاد‪/‬محمد فؤاد ميشينا‪/mnt/collection1/ar v.clip/‬‬
‫‪.avi‬مصطفى قمر‪/‬غزالى‪/mnt/collection1/ar v.clip/‬‬
‫‪.avi‬هشام عباس‪/‬ياليلة‪/mnt/collection1/ar v.clip/‬‬

‫‪ .‬تكتب دون مسافات } ‪note : {/mnt/collection1/*.avi‬‬

‫‪ #‬المر ‪: find‬‬
‫يستخدم للبحث عن الملفات و المجلدات كما يستخدم لعرض الملفات و المجلدات الموجوده‬
‫فى المسار الحالى مثلما يفعل المر ‪ ls‬و الصيغه العامه لستخدام المر هى ‪:‬‬

‫‪find path option action‬‬

‫ملحظه ‪ :‬اذا لم تحدد مسار البحث فان البرنامج سيبحث فى المجلد الحالى‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪34‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫البحث عن الملفات و المجلدات حسب السم و المتداد ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب السم و المتداد باستخدام الخيار ‪-name‬‬

‫‪ -1‬اذا اردت البحث عن جميع الملفات ذات امتداد ‪ mp4‬فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -name *.mp4‬‬

‫‪ -2‬للبحث عن الملفات و المجلدات التى اسمها ‪ ogg‬فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -name ogg‬‬

‫البحث عن الملفات و المجلدات حسب تاريخ الستخدام ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب تاريخ استخدامها او الولوج اليها باستخدام الخيار‬
‫‪ -atime‬وهنا الوحدة المعتبره ‪ 24‬ساعة ‪.‬‬

‫‪ -3‬للبحث عن الملفات و المجلدات التى تمت عملية الوصول اليها او استعمالها من اكثر من ‪10‬‬
‫ايام فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -atime +10‬‬

‫‪ -4‬للبحث عن الملفات و المجلدات التى تمت عملية الوصول اليها او استعمالها من اقل من ‪10‬‬
‫ايام فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -atime -10‬‬

‫‪ -5‬للبحث عن الملفات و المجلدات التى تمت عملية الوصول اليها او استعمالها من ‪ 10‬ايام‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪35‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫بالضبط فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -atime 10‬‬

‫اما اذا اردت البحث عن الملفات و المجلدات حسب تاريخ استخدامها او الولوج اليها بحيث‬
‫تكون وحدة الزمن المعتبره هى الدقيقة استخدم الخيار ‪ -amin‬وذلك تماما مثلما سبق ‪.‬‬

‫البحث عن الملفات و المجلدات حسب تاريخ التعديل عليها ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب تاريخ التعديل عليها باستخدام الخيار‬
‫‪ -mtime‬وهنا الوحدة المعتبره ‪ 24‬ساعة ‪.‬‬

‫‪ -6‬للبحث عن الملفات و المجلدات التى تم التعديل عليها من اكثر من ‪ 10‬ايام فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -mtime +10‬‬

‫‪ -7‬للبحث عن الملفات و المجلدات التى تم التعديل عليها من اقل من ‪ 10‬ايام فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -mtime -10‬‬

‫‪ -8‬للبحث عن الملفات و المجلدات التى تم التعديل عليها من ‪ 10‬ايام بالضبط فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -mtime 10‬‬

‫اما اذا اردت البحث عن الملفات و المجلدات حسب تاريخ التعديل عليها بحيث تكون وحدة‬
‫الزمن المعتبره هى الدقيقة استخدم الخيار ‪ -mmin‬وذلك تماما مثلما سبق ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪36‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫البحث عن الملفات و المجلدات تاريخ انشائها ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب تاريخ انشائها باستخدام الخيار ‪ -ctime‬وهنا‬
‫الوحدة المعتبره ‪ 24‬ساعة ‪.‬‬

‫‪ -9‬للبحث عن الملفات و المجلدات التى تم انشائها من اكثر من ‪ 15‬يوم فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -ctime +15‬‬


‫‪ -10‬للبحث عن الملفات و المجلدات التى تم انشائها من اقل من ‪ 15‬يوم فى المسار‬
‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -ctime -15‬‬

‫‪ -11‬للبحث عن الملفات و المجلدات التى تم انشائها من ‪ 15‬يوم فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -ctime 15‬‬

‫اما اذا اردت البحث عن الملفات و المجلدات حسب تاريخ انشائها بحيث تكون وحدة الزمن‬
‫المعتبره هى الدقيقة استخدم الخيار ‪ -cmin‬وذلك تماما مثلما سبق ‪.‬‬

‫البحث عن الملفات و المجلدات حسب المالك لها ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب المجموعه المالكه لها باستخدام الخيار ‪ -user‬و‬
‫الخيار ‪. -uid‬‬

‫‪ -12‬للبحث عن الملفات و المجلدات التى يملكها مستخدم معين رقم ‪ UID‬الخاص به هو‬
‫‪ 1002‬فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -user 1002‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪37‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫او‬
‫‪ahmed@the-game:~> find /media/collection1/ -uid 1002‬‬

‫‪ -13‬للبحث عن الملفات و المجلدات التى يملكها مستخدم اسمه ‪ conan‬فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /home/ -user remstereo‬‬

‫البحث عن الملفات و المجلدات حسب المجموعه المالكه لها ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب المجموعه المالكه لها باستخدام الخيار ‪-group‬‬
‫و الخيار ‪. -gid‬‬

‫‪ -14‬للبحث عن الملفات و المجلدات التى تملكها مجموعه معينه رقم ‪ GID‬الخاص به هو‬
‫‪ 1000‬فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -group 1000‬‬


‫او‬
‫‪ahmed@the-game:~> find /media/collection1/ -gid 1000‬‬

‫‪ -15‬للبحث عن الملفات و المجلدات التى تملكها مجموعه اسمها ‪ video‬فى المسار ‪media/‬‬
‫‪ /collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -group video‬‬

‫البحث عن الملفات و المجلدات حسب التصاريح ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب التصاريح اما بالحرف او بالرقام باستخدام‬
‫الخيار ‪ -perm‬ولكن عليك اول قبل قراءة ذلك الجزء مراجعة الفصل الخاص بالتصاريح‬
‫‪ . permission‬مع ملحظة ان ‪ g‬تعنى ‪ group‬و ‪ u‬تعنى ‪ user‬و ‪ o‬تعنى ‪. other‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪38‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -16‬للبحث عن الملفات و المجلدات ذات صلحية القراءه فقط للمجموعات فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -perm g=r‬‬

‫وتكون النتيجه هى ايجاد الملفات و المجلدات ذات صلحية القراءه فقط للمجموعات والتى‬
‫تعادل الصلحيه ‪0040‬‬

‫‪ -17‬للبحث عن الملفات و المجلدات ذات صلحية القراءه للمجموعات فى المسار ‪media/‬‬


‫‪ ) /collection1‬بحيث يعرض لك جميع الملفات التى تحمل صلحية القراءه للمجموعات مهما‬
‫كانت الصلحيات المقترنه بها ( اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -perm -g=r‬‬

‫‪ -18‬للبحث عن الملفات و المجلدات ذات الصلحية المركبه ‪ r+w‬فقط للمجموعات فى‬


‫المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find -perm g=r+w‬‬

‫وتكون النتيجه هى ايجاد الملفات و المجلدات ذات الصلحية المركبه ‪ r+w‬فقط للمجموعات‬
‫اى انها تعادل الصلحيه ‪0060‬‬

‫‪ -19‬للبحث عن الملفات و المجلدات ذات الصلحية المركبه ‪ r+w‬للمجموعات فى المسار‬


‫‪ ) /media/collection1‬بحيث يعرض لك جميع الملفات التى تحمل صلحية القراءه و‬
‫الكتابه للمجموعات مهما كانت الصلحيه المقترنه بها ( اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find -perm -g=r+w‬‬

‫ملحظه ‪ :‬مثلما بحثنا عن التصاريح الخاصه بالمجموعات ‪ group‬باستخدام الحرف ‪ g‬يمكن‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪39‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫البحث عن التصاريح الخاصه بالمستخدمين ‪ user‬باستخدام الحرف ‪ u‬و البحث عن التصاريح‬


‫الخاصه بالخرين ‪ other‬باستخدام الحرف ‪ o‬تماما مثلما سبق ‪.‬‬

‫‪ -20‬للبحث عن الملفات و المجلدات ذات الصلحية ‪ 0040‬فقط فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -perm 0040‬‬

‫وتكون النتيجه هى ايجاد الملفات و المجلدات ذات الصلحية ‪ 0040‬فقط والتى تعادل‬
‫صلحيه القراءه للمجموعات ‪.‬‬

‫‪ -21‬للبحث عن الملفات و المجلدات ذات صلحية القراءه للخرين ‪ 0004‬فى المسار‬


‫‪ ) /media/collection1‬بحيث يعرض لك جميع الملفات التى تحمل صلحية القراءه‬
‫للخرين ‪ 0004‬مهما كانت الصلحيات المقترنه بها ( اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -perm -0004‬‬

‫البحث عن الملفات و المجلدات حسب حجمها ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات حسب الحجم باستخدام الخيار ‪ -size‬مع اتباع الحجم‬
‫باحد الرموز التاليه ‪:‬‬
‫‪ c‬تستخدم مع الحجم بالـ ‪bytes‬‬
‫‪ k‬تستخدم مع الحجم بالـ ‪Kilobytes‬‬
‫‪ M‬تستخدم مع الحجم بالـ ‪Megabytes‬‬
‫‪ G‬تستخدم مع الحجم بالـ ‪Gigabytes‬‬

‫‪ -22‬للبحث عن الملفات و المجلدات التى حجمها اكبر من ‪ 3‬جيجا بايت فى المسار‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -size +3G‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪40‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -23‬للبحث عن الملفات و المجلدات التى حجمها اقل من ‪ 5‬ميجا بايت فى المسار ‪media/‬‬
‫‪ /collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -size -5M‬‬

‫‪ -24‬للبحث عن الملفات و المجلدات التى حجمها يساوى ‪ 7‬كيلو بايت فى المسار ‪media/‬‬
‫‪ /collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -size 5k‬‬

‫البحث عن الملفات و المجلدات الفارغه ‪:‬‬


‫يمكن البحث عن الملفات و المجلدات الفارغه باستخدام الخيار ‪-empty‬‬

‫‪ -25‬للبحث عن الملفات و المجلدات الفارغه الموجوده فى المسار ‪/media/collection1‬‬


‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -empty‬‬

‫البحث عن الملفات حسب نوعها ‪:‬‬


‫يمكن البحث عن الملفات حسب نوعها باستخدام الخيار ‪ -type‬بحيث يتبع ذلك الخيار احد‬
‫الرموز التيه ‪:‬‬
‫‪ d‬يستخدم للبحث عن المجلدات‬
‫‪ f‬يستخدم للبحث عن الملفات العاديه ‪regular file‬‬
‫‪ l‬يستخدم للبحث عن الينكات ‪links‬‬

‫‪ -26‬للبحث عن الملفات العاديه ‪ regular file‬فى المسار ‪ /media/collection1‬اكتب‬


‫ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪41‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> find /media/collection1/ -type f‬‬

‫‪ -27‬للبحث عن المجلدات الموجوده فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -type d‬‬

‫‪ -28‬للبحث عن الينكات ‪ links‬الموجوده فى المسار ‪ /media/collection1‬اكتب ما‬


‫يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -type l‬‬

‫عرض الملفات و المجلدات الموجوده فى مسار معين ‪:‬‬


‫‪ -29‬اذا اردت عرض جميع الملفات و المجلدات الموجوده فى المسار‬
‫‪ /media/collection1‬بما فى ذلك الملفات و المجلدات الفرعيه و ايضا الملفات و‬
‫المجلدات المخفيه اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/‬‬

‫نلحظ هنا انه يتم عرض المجلد ومن ثم يتم عرض محتوياته ‪.‬‬

‫‪ -30‬اذا اردت عرض جميع الملفات و المجلدات الموجوده فى المسار‬


‫‪ /media/collection1‬بحيث يتم عرض محتويات المجلد قبل عرض المجلد نفسه اكتب‬
‫ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -depth‬‬

‫‪ -31‬اذا اردت البحث فى المسار الحالى عن جميع الملفات و المجلدات الجدد من مجلد‬
‫اسمه ‪ koko‬موجود فى المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪42‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> find -newer /media/collection1/koko‬‬

‫‪ACTIONS :‬‬

‫‪1- delete :‬‬

‫‪ -32‬اذا اردت مسح جميع الملفات و المجلدات الموجوده داخل مسار معين وليكن ‪media/‬‬
‫‪ ) /collection1/ogg‬اى مسح المجلد ‪ ogg‬بما يحتويه من مجلدات و ملفات فرعيه (‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ogg -delete‬‬

‫ملحظه ‪ :‬عند استخدام الفعل ‪ -delete‬فانه يقوم بتشغيل الخيار ‪ -depth‬اتوماتيكيا ) اى انه‬
‫يقوم بمسح محتويات المجلد المذكور و من ثم يتم مسح المجلد الب نفسه ( ‪.‬‬

‫‪ -33‬اذا اردت مسح جميع المجلدات الفارغه من مسار معين و ليكن‬


‫‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> find /media/collection1/ -empty -delete‬‬

‫‪2- exec :‬‬

‫‪ -34‬لمسح جميع الملفات الموجوده داخل المسار ‪ /media/collection1‬اكتب ما يلى ‪:‬‬

‫;\ '}{' ‪ahmed@the-game:~> find /media/collection1/ -type f -exec rm‬‬

‫‪ -35‬لمسح جميع المجلدات الفارغه من المسار ‪ /media/win-xp‬اكتب ما يلى ‪:‬‬

‫;\ '}{' ‪ahmed@the-game:~> find /media/win-xp/ -empty -exec rm -r‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪43‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫او‬
‫;\ '}{' ‪ahmed@the-game:~> find /media/win-xp/ -empty -exec rmdir‬‬

‫‪ -36‬للبحث عن جميع الملفات ذات المتداد ‪ avi‬فى المسار ‪ /media/linux‬ثم نسخها‬


‫الى المسار ‪ /home/ahmed‬اكتب ما يلى ‪:‬‬

‫;\ ‪ahmed@the-game:~> find /media/linux -name *.avi -exec cp '{}' /home/ahmed‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪44‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الثالث ‪ :‬التعامل مع الملفات والمجلدات‬

‫‪-a‬أوامر عامة ‪:‬‬

‫‪#‬المر ‪: pushd‬‬
‫يستخدم للدخول إلى أى مجلد أو أى مسار ‪ .‬وطريقة استعمال هذا المر كالتالى‪:‬‬

‫‪pushd‬‬ ‫المسار المراد النتقال إليه‬


‫أو‬
‫المجلد المراد النتقال إليه ‪pushd‬‬

‫مثال ‪ :‬إذا أردت النتقال للمسار التالى } ‪ { /mnt/games/chm‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> pushd /mnt/games/chm/‬‬

‫مثال ‪ :‬إذا أردت النتقال للمجلد التالى } ‪ { ahmed‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:/mnt/games/chm> pushd ahmed‬‬

‫‪#‬المر ‪: popd‬‬
‫يستخدم للرجوع إلى الخلف خطوة واحدة عن المكان الذي تقف عنده ‪ .‬ويستخدم بعد المر‬
‫‪ pushd‬فقط أي أنك إذا استخدمت المر ‪ cd‬للدخول لحد المجلدات وأردت استخدام‬
‫المر ‪ popd‬للرجوع خطوة واحدة فإن المر لن ينفذ ويستخدم هذا المر منفردا كالتالى ‪:‬‬

‫‪ahmed@the-game:/mnt/games/chm/ahmed> popd‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪45‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫~ ‪/mnt/games/chm‬‬
‫>‪ahmed@linux-r58p:/mnt/games/chm‬‬

‫ملحظة مهمة ‪ :‬المران ‪ popd‬و ‪ pushd‬ليس لهم صفحات مساعده ‪. manual‬‬

‫‪#‬المر ‪: cd‬‬
‫يستخدم للتنقل بين المجلدات والدخول إليها ‪.‬‬
‫‪ -1‬للدخول إلى مجلد فى نفس المكان الذى تقف فيه اكتب التي ‪:‬‬

‫اسم المجلد ‪cd‬‬

‫مثال ‪ :‬للدخول إلى المجلد ‪ ahmed‬فى المسار الذي تقف فيه حاليا اكتب التالى‪:‬‬

‫‪ahmed@the-game:~> cd ahmed‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫>‪ahmed@the-game:~/ahmed‬‬

‫‪ -2‬للدخول إلى مجلد ما فى مسار غير الذي تقف عليه اكتب التي ‪:‬‬

‫المسار ‪cd‬‬

‫مثال ‪ :‬للدخول إلى المجلد ‪ ogg‬الموجود فى المسار التالى ‪ /mnt/collection1‬اكتب ما‬


‫يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1/ogg‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪46‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫>‪ahmed@the-game:/mnt/collection1/ogg‬‬

‫‪ -3‬للرجوع للخلف خطوة واحدة اكتب التي ‪:‬‬

‫‪ahmed@the-game:/mnt/collection1/ogg> cd ..‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫>‪ahmed@the-game:/mnt/collection1‬‬

‫‪ -4‬للرجوع إلى المكان الصلي الذي كنت واقفا فيه اكتب ما يلى ‪:‬‬

‫~ ‪ahmed@the-game:/mnt/collection1/ogg> cd‬‬
‫أو‬
‫‪ahmed@the-game:/mnt/collection1/ogg> cd‬‬
‫أو‬
‫‪ahmed@the-game:~> cd --‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫>~‪ahmed@the-game:‬‬

‫أي ان ] ~ ‪ [ cd‬و ] فقط ‪ [ cd‬و ] ‪ [ cd --‬يؤديا نفس الغرض ‪.‬‬

‫‪ -5‬للنتقال لعلى مرتين اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪47‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:/mnt/collection1/ogg> cd ../..‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫>‪ahmed@the-game:/mnt‬‬

‫‪#‬المر ‪: pwd‬‬
‫يستخدم لعرض المسار أو المكان الذي تقف فيه ‪ .‬وطريقة استخدامه سهلة جدا ببساطة اكتب‬
‫المر هكذا منفردا وفقط ‪.‬‬

‫‪ahmed@the-game:~> pwd‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪/home/ahmed‬‬

‫مثال آخر ‪:‬‬

‫‪ahmed@the-game:/mnt/collection1/ogg> pwd‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪/mnt/collection1/ogg‬‬

‫‪#‬المر ‪: ls‬‬
‫يستخدم هذا المر لعرض الملفات و المجلدات الموجودة فى المسار الذى تحدده أنت أو لعرض‬
‫الملفات والمجلدات الموجوده فى المسار الحالى إذا لم تحدد له أي مسار ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪48‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -1‬لعرض جميع الملفات والفهارس فى المسار الحالى } المكان إلى انت واقف فيه دلوقتى {‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls‬‬

‫فتكون النتيجة مثل كالتالى ‪:‬‬

‫‪bin Desktop Documents RealPlayer11GOLD.bin public_html‬‬

‫نلحظ أن النتيجة مرتبة أبجديا ‪.‬‬

‫‪ -2‬لعرض جميع الملفات والفهارس فى أي مسار على الجهاز اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls /var‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪adm‬‬ ‫‪cache lib log opt spool X11R6‬‬


‫‪agentx games lock mail run tmp yp‬‬

‫نلحظ أن النتيجة مرتبة أبجديا ‪.‬‬

‫‪ -3‬لعرض جميع الملفات والمجلدات المخفية وغير المخفية اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -a‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪49‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

. .gconf .qt
.. .gconfd .realplayerrc
.bash_history .gnome2 .recently-used
.bashrc .gnome2_private .recently-used.xbel
.beagle .gnu-emacs .scim
bin .gtk_qt_engine_rc .skel
.config .ICEauthority .subversion
.DCOPserver_the-game__0 .inputrc .thumbnails
.DCOPserver_the-game_:0 .kde .tvtime
Desktop .kermrc .urlview
.dmrc .local .wapi
Documents .mailcap .Xauthority
.dvipsrc .mcop .xchat2
.emacs .mozilla .xcoralrc
.esd_auth .mplayer .xemacs
.exrc .muttrc .xim.template
.fontconfig .ooo-2.0 .xine
.fonts .opera .xinitrc.template
.fonts.conf .profile .xsession-errors
RealPlayer11GOLD.bin public_html .xtalkrc

. ‫نلحظ أن النتيجة مرتبة أبجديا‬

‫" وذلك كما‬U "capital- ‫ لعرض جميع الملفات والمجلدات دون ترتيب استخدم الخيار‬-4
: ‫يلى‬

ahmed@the-game:~> ls -U

: ‫فتكون النتيجة كالتالى‬

‫دليل المستخدم العربى فى أوامر لينكس‬ 50


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪Documents Desktop bin public_html RealPlayer11GOLD.bin‬‬

‫‪ -5‬لعرض جميع الملفات مرتبة بالتاريخ بدل من الحروف البجدية اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -t‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Text File Desktop bin Documents public_html RealPlayer11GOLD.bin‬‬

‫هنا أنشأت ملفا جديدا اسمه ‪ Text File‬ليظهر الفرق ‪.‬‬

‫‪ -6‬لعرض جميع الملفات بطريقه عكسية } أي ترتب أبجديا من أسفل إلى أعلى { اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -r‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Text File public_html RealPlayer11GOLD.bin Documents Desktop bin‬‬

‫‪ -7‬لعرض معلومات تفصيلية عن الملفات و المجلدات مثل ) نوع الملف و التصاريح الممنوحة له‬
‫وعدد الروابط الصلبة ‪ hard links‬للملف أو عدد المجلدات الفرعية للمجلد و المالك‬
‫والمجموعه والحجم بالبايت و تاريخ النشاء واخيرا اسم الملف ( اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -l‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪total 7384‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪51‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪drwxr-xr-x 2 ahmed users 4096 2008-06-12 15:01 bin‬‬


‫‪drwx------ 10 ahmed users 4096 2008-06-18 13:47 Desktop‬‬
‫‪drwx------ 2 ahmed users 4096 2008-06-14 22:20 Documents‬‬
‫‪drwxr-xr-x 2 ahmed users 4096 2008-06-12 15:01 public_html‬‬
‫‪-rwxrwxrwx 1 ahmed users 7502048 2008-06-07 02:45‬‬
‫‪RealPlayer11GOLD.bin‬‬
‫‪-rw-r--r-- 1 ahmed users‬‬ ‫‪16 2008-06-13 11:25 Text File‬‬

‫سنبدأ فى شرح المر من اليمين إلى اليسار ‪:‬‬

‫نلحظ أنه فى بداية النتيجة يكتب الحجم الجمالى للملفات والمجلدات بوحدة ‪ bytes‬مع‬
‫ملحظة أن حجم المجلدات ليشمل حجم محتوى تلك المجلدات ‪.‬‬

‫اول ‪ :‬اسم الملف مثل ) ‪. (bin ,Desktop ,........‬‬


‫ثانيا ‪ :‬وقت النشاء مثل ) ‪. ( 15:01‬‬
‫ثالثا ‪ :‬تاريخ النشاء مثل ) ‪. ( 12-06-2008‬‬
‫رابعا ‪:‬حجم الملفات بوحدة ‪ bytes‬مثل ) ‪. ( 4096‬‬
‫خامسا ‪ :‬المجموعة المالكة للملف وهى هنا ) ‪. ( users‬‬
‫سادسا ‪ :‬اسم مالك الملف وهو هنا ) ‪. ( ahmed‬‬
‫سابعا ‪ :‬رقم له إحدى دللتين ‪:‬‬
‫‪ -a‬إذا كان هذا الرقم أمام أحد المجلدات فإنه يوضح عدد المجلدات الفرعية الموجودة داخل‬
‫هذا المجلد فمثل المجلد ) ‪ ( Desktop‬نجد به ‪ 10‬مجلدات فرعية ‪.‬‬
‫‪ -b‬إذا كان هذا الرقم أمام أحد الملفات الفرعية فإنه يوضح عدد الروابط الصلبة ‪hard links‬‬
‫الموجوده لذلك الملف ‪.‬‬
‫ثامنا ‪ :‬التصاريح الموجودة على ذلك الملف أو المجلد مثل ) ‪ ( drwxr-xr-x‬وسنتناول شرح‬
‫هذه التصاريح لحقا ‪.‬‬

‫‪ -8‬لعرض معلومات تقصيلية عن الملفات و المجلدات كما سبق لكن مع إظهار الحجم بالكيلو‬
‫والميجا والجيجا اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪52‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> ls -hl‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪total 7.3M‬‬
‫‪drwxr-xr-x 2 ahmed users 4.0K 2008-06-12 15:01 bin‬‬
‫‪drwx------ 10 ahmed users 4.0K 2008-06-18 13:47 Desktop‬‬
‫‪drwx------ 2 ahmed users 4.0K 2008-06-14 22:20 Documents‬‬
‫‪drwxr-xr-x 2 ahmed users 4.0K 2008-06-12 15:01 public_html‬‬
‫‪-rwxrwxrwx 1 ahmed users 7.2M 2008-06-07 02:45 RealPlayer11GOLD.bin‬‬
‫‪-rw-r--r-- 1 ahmed users 16 2008-06-13 11:25 Text File‬‬

‫نلحظ أنه فى بداية النتيجة يكتب الحجم الجمالى للملفات والمجلدات بوحدة ‪ mega‬مع‬
‫ملحظة أن حجم المجلدات ليشمل حجم محتوى تلك المجلدات ‪.‬‬

‫‪ -9‬لعرض جميع الملفات والمجلدات حسب الحجم اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -S‬‬

‫ولمزيد من اليضاح سوف ندمج الخيار ‪ l‬مع الخيار ‪ S‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -lS‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪total 9760‬‬
‫‪-rwxrwxrwx 1 ahmed users 7502048 2008-06-07 02:45‬‬
‫‪RealPlayer11GOLD.bin‬‬
‫‪-rw-r--r-- 1 ahmed users 2111499 2008-06-18 04:23 Chikenux.01.7z‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪53‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

-rw-r--r-- 1 ahmed users 284959 2008-06-18 04:07 83425-


opensusestreet.png
-rw-r--r-- 1 ahmed users 11390 2008-06-18 02:30 hijra-0.1.2.tar.bz2
drwxr-xr-x 2 ahmed users 4096 2008-06-12 15:01 bin
drwx------ 10 ahmed users 4096 2008-06-18 13:47 Desktop
drwx------ 4 ahmed users 4096 2008-06-18 18:22 Documents
drwxr-xr-x 2 ahmed users 4096 2008-06-12 15:01 public_html
-rw-r--r-- 1 ahmed users 16 2008-06-13 11:25 Text File.txt

: ‫ لعرض جميع الملفات والمجلدات ومحتويات المجلدات أيضا اكتب ما يلى‬-10

ahmed@the-game:~> ls -R

: ‫فتكون النتيجة كما يلى‬

.:
bin Desktop Documents public_html RealPlayer11GOLD.bin Text File

./bin:

./Desktop:
epiphany.desktop ls openSUSE-10.3-GM-KDE-i386-iso
‫مشروعى‬.odt
fstab MozillaFirefox.desktop opera.desktop
konqbrowser.desktop myComputer.desktop rpmforge-net-
tvtime.desktop
konquerorsu.desktop Office.desktop trash.desktop

./Desktop/openSUSE-10.3-GM-KDE-i386-iso:
openSUSE-10.3-GM-KDE-i386.iso

./Documents:

‫دليل المستخدم العربى فى أوامر لينكس‬ 54


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪./public_html:‬‬

‫‪ -11‬لعرض الملفات مع بيان نوعها اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -F‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪bin/ Desktop/ Documents/ public_html/‬‬ ‫*‪RealPlayer11GOLD.bin‬‬

‫ونلحظ أن المجلد يأخذ الرمز ‪ /‬والملف التنفيذى يأخذ الرمز * والرابط لملف آخر أو ‪ link‬يعبر‬
‫عنه بالرمز @ و ‪ socket‬يأخذ الرمز = ‪.‬‬

‫‪ -12‬لعرض أسماء الملفات مفصولة بفاصلة اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -m‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪bin, Desktop, Documents, public_html, RealPlayer11GOLD.bin‬‬

‫‪ -13‬لعرض أسماء الملفات التى تبدأ بحرف معين } مثل حرف ‪{ D‬اكتب ما يلى ‪:‬‬

‫*‪ahmed@the-game:~> ls D‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪Desktop:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪55‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪epiphany.desktop‬‬ ‫‪myComputer.desktop‬‬
‫‪Fedora-9-i386-CDs.torrent Office.desktop‬‬
‫‪fstab‬‬ ‫‪openSUSE-10.3-GM-KDE-i386-iso‬‬
‫~‪fstab‬‬ ‫‪opera.desktop‬‬
‫‪konqbrowser.desktop‬‬ ‫‪rpmforge-net-tvtime.desktop‬‬
‫‪konquerorsu.desktop‬‬ ‫‪Text File‬‬
‫‪MozillaFirefox.desktop‬‬ ‫‪trash.desktop‬‬
‫‪mp3‬‬ ‫‪.odt‬مشروعى‬

‫‪Documents:‬‬

‫ونلحظ هنا أنه بحث عن المجلدات والملفات التى تبدأ بحرف ‪ D‬فوجد مجلدين‬
‫‪ Desktop‬و ‪ Documents‬أحدهما فارغ وهو ‪ Documents‬والخر ‪ Desktop‬وبه‬
‫ملفات ومجلدات وقد قام بعرضها ‪.‬‬

‫‪ -14‬لعرض جميع الملفات والمجلدات التى أول حرف منها أحد الحرف التية مثل ‪z,R,r‬‬
‫وتنتهى بمقطع ثابت مثل ‪ oot‬اكتب التي ‪:‬‬

‫‪ahmed@the-game:~> ls [Rrz]oot‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪root:‬‬

‫‪Root:‬‬

‫ونلحظ من تلك النتيجة أنه وجد المجلدين ‪ root‬و ‪ Root‬وهما مجلدان فارغان ولم يجد‬
‫مجلدا باسم ‪. zoot‬‬

‫‪ -15‬لعرض الملفات والمجلدات التى تبدأ بالحرف من ‪ a‬وحتى ‪ r‬وتنتهى بالمقطع ‪ llw‬اكتب‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪56‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls [a-r]llw‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪gllw:‬‬

‫‪kllw:‬‬

‫ونلحظ أنه يعرض لك الحرف ‪ small‬فقط من ‪ a‬إلى ‪ r‬ولن يعرض الحرف الكابيتال ‪.‬‬

‫‪ -16‬لعرض الملفات والمجلدات فى عمود واحد اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -1 /var‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪adm‬‬
‫‪agentx‬‬
‫‪cache‬‬
‫‪games‬‬
‫‪lib‬‬
‫‪lock‬‬
‫‪log‬‬
‫‪mail‬‬
‫‪opt‬‬
‫‪run‬‬
‫‪spool‬‬
‫‪tmp‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪57‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪X11R6‬‬
‫‪yp‬‬

‫‪ -17‬لعرض الملفات والمجلدات مرتبة ترتيبا هجائيا حسب المتداد اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~/Documents> ls -X‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪mido Chikenux.01.7z‬‬ ‫‪hijra-0.1.2.tar.bz2 83425-opensusestreet.png‬‬


‫‪tito RealPlayer11GOLD.bin 12.doc‬‬ ‫‪Text File.txt‬‬

‫ونلحظ هنا أن المجلدات تأتى أول لنه ليوجد لها امتداد ثم تأتى الملفات حسب الترتيب‬
‫البجدى لمتدادها كما هو موضح مع ملحظة أنه إذا كان للملف امتداد مركب مثل‬
‫) ‪ ( .tar.bz2‬يتم اعتبار آخر جزء فقط فى المتداد وهنا هو ) ‪. ( .bz2‬‬

‫‪#‬المر ‪: dir‬‬
‫يستخدم لعرض الملفات والمجلدات تماما مثل المر ‪ ls‬ويأخذ نفس خيارات المر‬
‫‪. ls‬‬

‫‪ -b‬التعامل مع الملفات ‪:‬‬

‫‪#‬المر ‪: touch‬‬
‫‪ -‬يستخدم هذا المر لنشاء ملف فارغ‬
‫‪ -‬يستخدم لتغيير تاريخ إنشاء الملف أو المجلد وذلك إذا كان موجود أصل ‪.‬‬

‫‪ -1‬لنشاء ملف فارغ دون امتداد فمثل إذا أردت إنشاء الملف باسم ‪ asd‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> touch asd‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪58‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -2‬لنشاء ملف فارغ بامتداد معين } اسم الملف ‪ xman‬وامتداده ‪ txt‬مثل { اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> touch xman.txt‬‬

‫‪ -3‬لنشاء أكثر من ملف فى وقت واحد يتم كتابة اسم الملفين الواحد تلو الخر مع ترك مسافة‬
‫بينهم اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> touch hima ahmed‬‬

‫‪ -4‬لتغيير تاريخ آخر تعديل على ملف أو مجلد موجود أصل بحيث يكون تاريخ آخر تعديل‬
‫على الملف لحظة كتابة المر } وذلك إذا كنت تمتلك تصريح الكتابة على ذلك الملف أو المجلد‬
‫{ اكتب نفس المر السابق كما يلى ‪:‬‬

‫‪ahmed@the-game:~> touch hima ahmed‬‬

‫ولملحظة الفرق سنستعرض تلك الملفات قبل وبعد تغيير التاريخ باستخدام المر ‪touch‬‬
‫كالتالى ‪:‬‬
‫أول قبل تغيير التاريخ باستخدام المر ‪: touch‬‬

‫‪ahmed@the-game:~> ls -l‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪-rw-r--r-- 1 ahmed users‬‬ ‫‪0 2008-06-14 22:07 ahmed‬‬


‫‪-rw-r--r-- 1 ahmed users‬‬ ‫‪0 2008-06-14 22:07 hima‬‬

‫ثانيا بعد تغيير التاريخ باستخدام المر ‪: touch‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪59‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> ls -l‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪-rw-r--r-- 1 ahmed users‬‬ ‫‪0 2008-06-16 14:06 ahmed‬‬


‫‪-rw-r--r-- 1 ahmed users‬‬ ‫‪0 2008-06-16 14:06 hima‬‬

‫‪ -5‬لتغيير تاريخ آخر تعديل على ملف أو مجلد موجود أصل بأى تاريخ آخر تختاره يتم‬
‫استخدام الخيار ‪ t‬ولكن قبل شرح كيفية استخدام هذا الخيار يجب توضيح كيفية كتابة‬
‫التاريخ وذلك كالتالى ‪:‬‬
‫‪cc yy MM DD hh mm ss‬‬ ‫التاريخ يكتب هكذا‬

‫حيث ‪:‬‬
‫‪ cc‬أول رقمين من الربعة أرقام الخاصة بالسنين‬
‫‪ yy‬آخر رقمين من الربعة أرقام الخاصة بالسنين‬
‫مثال لتوضيح ‪ cc‬و ‪: yy‬‬
‫العام ‪ 1985‬يكون فيه ‪ cc=19‬و ‪yy=85‬‬
‫العام ‪ 2008‬يكون فيه ‪ cc=20‬و ‪yy=08‬‬

‫إذا كانت ‪ yy‬تتراوح بين ) ‪ ( 0 – 68‬يتم اعتبار أن ) ‪. ( cc=20‬‬


‫إذا كانت ‪ yy‬تتراوح بين ) ‪ ( 99 – 69‬يتم اعتبار أن ) ‪. ( cc=19‬‬
‫إذا لم تكتب ‪ yy‬يتم أن العام هو العام الحالى ‪.‬‬
‫‪ MM‬تعبر عن الشهور ‪.‬‬
‫‪ DD‬تعبر عن اليام ‪.‬‬
‫‪ mm‬تعبر عن الدقائق ‪.‬‬
‫‪ ss‬تعبر عن الثوانى ‪.‬‬

‫ملحظة مهمة ‪:‬‬


‫ليتم كتابة أي عدد بخانة واحدة فى التاريخ فمثل ‪ :‬يوم تسعة فى الشهر ل يكتب ‪ 9‬وإنما‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪60‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫يكتب ‪. 09‬‬
‫إذا أردت وضع الثوانى يجب أن تسبقها نقطة ‪.‬‬

‫مثال ‪ :‬إذا كان لديك فى مجلد البيت ملف اسمه ‪ mido‬وتريد تغيير تاريخ آخر تعديل عليه‬
‫إلى التاريخ التالى ‪ 12/9/1981‬الساعه ‪ 6:30:24‬عصرا ) بالمناسبة هذا هو تاريخ ميلدى‬
‫لمن أراد إرسال هدية !! ( فما علينا إل عمل التي ‪:‬‬

‫‪ahmed@the-game:~> touch -t 8109120630.24 mido‬‬


‫أو‬
‫‪ahmed@the-game:~> touch -t 198109120630.24 mido‬‬

‫وتظهر النتيجة طبعا عند استخدام المر ‪ ls‬مع الخيار ‪ l‬كما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -l‬‬

‫‪-rw-r--r-- 1 ahmed users 0 1981-09-12 06:30 mido‬‬

‫مثال ‪ :‬إذا كان لديك فى ملف البيت ملف اسمه ‪ mido‬وتريد تغيير تاريخ آخر تعديل عليه إلى‬
‫التاريخ التالى ‪ 30/7/2022‬الساعه ‪ 13:30:50‬ظهرا فما علينا إل عمل التي ‪:‬‬

‫‪ahmed@the-game:~> touch -t 2207301330.50 mido‬‬


‫أو‬
‫‪ahmed@the-game:~> touch -t 202207301330.50 mido‬‬

‫وتظهر النتيجة طبعا عند استخدام المر ‪ ls‬مع الخيار ‪ l‬كما يلى ‪:‬‬

‫‪ahmed@the-game:~> ls -l‬‬

‫‪-rw-r--r-- 1 ahmed users‬‬ ‫‪0 2022-07-30 13:30 mido‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪61‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫ملحظة مهمة ‪ :‬ليمكن تغيير التاريخ إلى تاريخ أعلى من ‪ 2068‬ول إلى تاريخ أقل من‬
‫‪. 1969‬‬

‫‪#‬المر ‪: cat‬‬
‫وظيفة المر ‪ cat‬الساسيه هى ) ‪( Copy standard input to standard output‬‬
‫عرض ما تكتبه فى الدخل القياسى ) الترمينال ( على الخرج القياسى ) الشاشه ( ‪ .‬وفيما يلى بعض‬
‫الوظائف الخرى للمر ‪: cat‬‬

‫‪ -a‬قراة ملف واحد على الشاشة دون أن تتمكن من التغيير فى ذلك الملف ‪.‬‬
‫‪ -b‬قراة أكثر من ملف معا مع دمجهم فى ملف واحد على الشاشة فقط بحيث يظهروا تحت‬
‫بعضهم وذلك حسب ترتيب الملفات عند كتابة المر ‪.‬‬
‫‪ -c‬دمج أكثر من ملف فى ملف واحد ويتم دمجهم تحت بعضهم حسب تسلسل أسماء‬
‫الملفات عند كتابة المر ‪.‬‬
‫‪ -d‬الكتابة داخل ملف مع حذف البيانات التى كانت موجودة فيه ‪.‬‬
‫‪ -e‬للتعديل داخل ملف نصى مكتوب مع الحتفاظ بالبيانات التى كانت موجودة فيه ‪.‬‬
‫‪ -f‬يستخدم لنشاء ملف جديد والكتابة بداخله ‪.‬‬

‫ملحظة مهمة ‪ :‬ل يفضل استخدام المر ‪ cat‬مع الملفات النصية الطويلة لنها ستعرض على‬
‫الشاشة بسرعة أكبر من قراءتها ‪.‬‬

‫وفيما يلى شرح لتلك الوظائف و الستخدامات ‪:‬‬

‫‪ -1‬لقراة ملف واحد على الشاشة دون إمكانية التعديل فى محتواه ) بفرض أن الملف اسمه‬
‫‪ ( soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat soca‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪62‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة هى عرض محتوى الملف داخل الترمينال ‪.‬‬


‫‪ -2‬لعرض ملف اسمه ‪ soca‬مع ترقيم السطر حتى السطر الفارغة استخدم الخيار ‪ -n‬وذلك‬
‫كما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat -n soca‬‬

‫‪ -3‬لعرض ملف اسمه ‪ soca‬مع ترقيم جميع السطر عدا السطر الفارغة استخدم الخيار ‪-b‬‬
‫وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat -b soca‬‬

‫‪ -4‬لقراءة أكثر من ملف فى آن واحد مع دمجهم على الشاشة فقط ) بفرض أن لديك ملفين‬
‫‪ soca‬و ‪ ( tman‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat soca tman‬‬

‫فتكون النتيجة بعرض الملفين بحيث يكون ملف ‪ soca‬فى الول ويليه ملف ‪. tman‬‬

‫‪ -5‬لقرأة أكثر من ملف فى آن واحد مع دمجهم على الشاشة فقط وترقيم كل سطر اكتب ما‬
‫يلى ‪:‬‬

‫‪ahmed@the-game:~> cat -n soca tman‬‬

‫‪ -6‬لدمج أكثر من ملف داخل ملف واحد جديد ) بفرض أن الملف الجديد اسمه ‪( ahmed‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat soca tman > ahmed‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪63‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة هى إنشاء ملف جديد اسمه ‪ ahmed‬يحتوى على ما بداخل الملفين ‪ soca‬و‬
‫‪ tman‬من بيانات ‪.‬‬

‫‪ -7‬لدمج أكثر من ملف داخل ملف واحد جديد مع ترقيم كل سطر من أسطر الملف الجديد )‬
‫بفرض أن الملف الجديد اسمه ‪ ( dido‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat -n soca tman > dido‬‬

‫فتكون النتيجة هى إنشاء ملف جديد اسمه ‪ dido‬يحتوى على ما بداخل الملفين من بيانات‬
‫بالضافة إلى أن أسطر هذا الملف مرقمة ‪.‬‬

‫‪ -8‬للكتابة داخل ملف مع حذف جميع البيانات التى كانت موجودة بداخله اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat > soca‬‬

‫بعد النتهاء من الكتابة داخل الملف يتم الضغط على ‪ Enter‬ثم الضغط على‬
‫) ‪ ( Ctrl+d‬لكى يحفظ ماكتبت ‪.‬‬

‫‪ -9‬للتعديل داخل ملف مكتوب فيه وإضافة بيانات جديدة له مع الحتفاظ بالبيانات الموجودة‬
‫سابقا اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cat >> soca‬‬

‫بعد النتهاء من الكتابة داخل الملف يتم الضغط على ‪ Enter‬ثم الضغط على‬
‫) ‪ ( Ctrl+d‬لكى يحفظ ماكتبت ‪.‬‬

‫‪ -10‬لنشاء ملف جديد مع الكتابة بداخله ) بفرض أن الملف الجديد اسمه ‪ ( bibo‬اكتب ما‬
‫يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪64‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> cat > bibo‬‬

‫بعد النتهاء من الكتابة داخل الملف يتم الضغط على ‪ Enter‬ثم الضغط على‬
‫) ‪ ( Ctrl+d‬لكى يحفظ ماكتبت ‪.‬‬

‫‪#‬المر ‪: tac‬‬
‫وظيفة هذا المر هى عرض الملف من الخر للول ‪ .‬أي آخر سطر يكون أول سطر‬
‫) بفرض أن الملف المراد عرضه اسمه ‪ ( bibo‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> tac bibo‬‬

‫‪#‬المر ‪: file‬‬
‫يستخدم هذا المر لعرض نوع الملف فقط‬
‫‪ -1‬لعرض نوع ملف واحد ) بفرض أن الملف المراد عرض نوعه اسمه ‪( bibo‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> file bibo‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪bibo: ASCII text‬‬

‫‪ -2‬لعرض نوع أكثر من ملف ) بفرض أن الملفات المراد عرض نوعها هى ‪ bibo‬و‬
‫‪ RealPlayer11GOLD.bin‬و ‪( bin‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> file RealPlayer11GOLD.bin bibo bin‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪RealPlayer11GOLD.bin: ELF 32-bit LSB executable, Intel 80386, version 1‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪65‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪(SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), for‬‬
‫‪GNU/Linux 2.2.5, not stripped‬‬
‫‪bibo:‬‬ ‫‪ASCII text‬‬
‫‪bin:‬‬ ‫‪directory‬‬

‫‪ #‬المر ‪: paste‬‬
‫يستخدم لدمج الملفات النصية معا على الشاشة بالتناظر بحيث يدمج السطر الول للملف الول‬
‫مع السطر الول للملف الثانى فى سطر واحد و السطر الثانى للملف الول مع السطر الثانى للملف‬
‫الثانى فى سطر واحد وهكذا ‪.‬‬

‫‪ -1‬لدمج ملفين نصيين معا على الشاشة الملف الول اسمه ‪ soca‬والملف الثانى اسمه ‪tman‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> paste soca tman‬‬

‫‪ -2‬لدمج ملفين نصيين معا الول اسمه ‪ soca‬والثانى اسمه ‪ tman‬فى ملف اخر اسمه ‪noga‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> paste soca tman > noga‬‬

‫‪#‬المر ‪: more‬‬
‫يستخدم لقراءة الملفات التى يزيد حجمها عن صفحة ‪ .‬وطريقة استعماله سهلة جدا وهى كتابة‬
‫اسم الملف المراد قراءته بعد المر ‪ more‬وذلك كالتالى ) بفرض أن الملف المراد قراءته اسمه‬
‫‪: ( tman‬‬

‫‪ahmed@the-game:~> more tman‬‬

‫المفاتيح المستخدمة فى المر ‪: more‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪66‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫للنتقال للصفحة التالية‬ ‫‪space‬‬


‫للنتقال للصفحة التالية‬ ‫‪f‬‬
‫للعودة للصفحة السابقة‬ ‫‪b‬‬
‫للنتقال للسطر التالى‬ ‫‪Enter‬‬
‫للمساعدة‬ ‫‪h‬‬
‫للخروج‬ ‫‪q‬‬

‫‪#‬المر ‪: less‬‬
‫يستخدم لقراءة الملفات تماما مثل المر السابق ‪ more‬ولكن مع بعض التحسينات ‪.‬‬
‫وطريقة استعماله تماما مثل المر السابق ‪ more‬وذلك كالتالى ‪:‬‬

‫‪ahmed@the-game:~> less tman‬‬

‫نفس المفاتيح المستخدمة مع ‪ more‬تستخدم مع ‪ less‬بالضافة إلى إمكانية استخدام السهم‬


‫‪ up‬و ‪ down‬للتقدم و التأخر سطر ا سطرا ‪.‬‬
‫ولمزيد من المعلومات اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> less –help‬‬

‫من الجدير بالذكر أن المر ‪ less‬هو البرنامج الذى تعرض به صفحات ‪ manual‬داخل‬
‫الترمينال ‪.‬‬

‫‪#‬المر ‪: head‬‬
‫يستخدم لعرض عدد معين من السطر من أول الملف ‪.‬‬
‫مثال ‪ :‬إذا أردت عرض أول ‪ 10‬أسطر من ملف اسمه ‪ tman‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪67‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> head -10 tman‬‬

‫فتكون النتيجة طبعا هى عرض أول ‪ 10‬أسطر من ذلك الملف ‪.‬‬

‫‪#‬المر ‪: tail‬‬
‫يستخدم لعرض عدد معين من السطر من آخر الملف ‪.‬كما يستخدم لعرض جزء من الملف مع‬
‫إهمال الباقى ‪.‬‬

‫‪ -1‬إذا أردت عرض آخر ‪ 15‬سطر من الملف اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tail -15 tman‬‬

‫فتكون النتيجة طبعا هى عرض أخر ‪ 15‬سطرا ا من ذلك الملف ‪.‬‬

‫‪ -2‬إذا أردت عرض الملف مع إهمال أول ‪ 16‬سطرا منه اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tail +16 tman‬‬

‫فتكون النتيجة طبعا هى عرض الملف من أول السطر ‪ 16‬وحتى النهاية ‪.‬‬

‫‪#‬المر ‪: wc‬‬
‫يستخدم لمعرفة معلومات عن ملف معين ‪ .‬بفرض أن الملف المراد الستفسار عنه اسمه ‪. soca‬‬

‫‪ -1‬لمعرفة عدد السطر اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> wc -l soca‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪68‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -2‬لمعرفة عدد الكلمات اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> wc -w soca‬‬

‫‪ -3‬لمعرفة حجم الملف بوحدة ‪ bytes‬داخل الملف اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> wc -c soca‬‬

‫‪ -4‬لمعرفة عدد الحرف الموجوده داخل الملف اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> wc -m soca‬‬

‫‪ -5‬لمعرفة جميع المعلومات السابقه مره واحدة اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> wc soca‬‬

‫‪ #‬المر ‪: grep‬‬
‫يستخدم للبحث عن كلمة أو جملة داخل الملفات النصية ) مع وضع الجملة داخل علمتى‬
‫تنصيص ( ‪.‬‬
‫ملحظة مهمة ‪ :‬يجب مراعاة حالة الحرف ‪ capital & small‬فى الكلمة التى تبحث عنها ‪.‬‬
‫‪ -1‬إذا أردت البحث عن كلمة ولتكن ‪ linux‬داخل ملف نصى اسمه ‪ soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep linux soca‬‬

‫فتكون النتيجة هى ظهور جميع السطر التى تحتوى على تلك الكلمة ‪.‬‬

‫‪ -2‬إذا أردت البحث عن جملة ولتكن ‪ Linux kernel‬داخل ملف نصى اسمه ‪soca‬‬
‫اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪69‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> grep "Linux kernel" soca‬‬

‫فتكون النتيجة هى ظهور جميع السطر التى تحتوى على تلك الجملة ‪.‬‬

‫‪ -3‬لعرض جميع السطر التى لتحتوى على كلمة معينة ولتكن ‪ linux‬داخل ملف نصى اسمه‬
‫‪ soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep -v linux soca‬‬

‫فتكون النتيجة هى عرض جميع السطر التى لتحتوى على كلمة ‪. linux‬‬

‫‪ -4‬لعرض جميع السطر التى لتحتوى على جملة معينة ولتكن ‪ Linux kernel‬داخل ملف‬
‫نصى اسمه ‪ soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep -v "Linux kernel" soca‬‬

‫فتكون النتيجة هى عرض جميع السطر التى لتحتوى على جملة ‪. Linux kernel‬‬

‫‪ -5‬لعرض جميع السطر التى تحتوى على كلمة معينة ولتكن ‪ Linux‬مع عرض أرقام تلك‬
‫السطر داخل ملف نصى اسمه ‪ soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep -n linux soca‬‬

‫‪ -6‬لعرض جميع السطر التى تحتوى على جملة معينة ولتكن ‪ Linux kernel‬مع عرض أرقام‬
‫تلك السطر داخل ملف نصى اسمه ‪ soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep -n "Linux kernel" soca‬‬

‫‪ -7‬لعرض عدد السطر التى تحتوى على كلمة معينة ولتكن ‪ linux‬فى ملف نصى اسمه ‪soca‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪70‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep -c linux soca‬‬

‫‪ -8‬لعرض عدد السطر التى تحتوى على جملة معينة ولتكن ‪ Linux kernel‬فى ملف نصى‬
‫اسمه ‪ soca‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep -c "Linux kernel" soca‬‬

‫‪ -9‬لعرض أسماء الملفات فقط التى تحتوى على كلمة معينة ولتكن ‪ linux‬فى مسار معين‬
‫وليكن *‪ /home/ahmed/‬اكتب ما يلى ‪:‬‬

‫*‪ahmed@the-game:~> grep -l linux /home/ahmed/‬‬

‫‪ -10‬لعرض أسماء الملفات فقط التى تحتوى على جملة معينة ولتكن ‪ Linux kernel‬فى مسار‬
‫معين وليكن *‪ /home/ahmed/‬اكتب ما يلى ‪:‬‬

‫*‪ahmed@the-game:~> grep -l "Linux kernel" /home/ahmed/‬‬

‫عند البحث عن الجمل والكلمات باستخدام المر ‪ grep‬فإنه يفضل استخدام بعض الرموز ‪.‬‬
‫هذه الرموز توضع فى الجمل والكلمات موضوع البحث ‪.‬‬
‫هذه الرموز تزيد من كفاءة البحث وتسمى تلك الرموز ) التعابير النظامية ‪( pattern‬‬

‫التعابير النظامية ‪: pattern‬‬


‫تعنى أن الكلمة المراد البحث عنها فى أول السطر ‪.‬‬ ‫^‬
‫تعنى أن الكلمة المراد البحث عنها فى آخر السطر ‪.‬‬ ‫‪$‬‬
‫لتعوض عن حرف واحد ناقص ‪.‬‬ ‫‪.‬‬
‫يبحث عن الكلمات التى تبدأ بأى حرف من الحروف‬ ‫]حرف أول‪,‬حرف ثانى[‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪71‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫المحصوره بين هذين الحرفين ‪.‬‬


‫يبحث عن الكلمة التى تبدأ بالحرف المذكور سواء أكان‬ ‫]حرف ‪ capital‬و حرف ‪small‬‬
‫‪ capital‬أو ‪. small‬‬ ‫دون مسافات[يليها باقى الكلمة‬

‫أمثلة على استخدام التعابير النظامية ‪:‬‬


‫‪ -a‬للبحث عن السطر التى تبدأ بكلمة ‪ linux‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep ^linux soca‬‬

‫‪ -b‬للبحث عن السطر التى تنتهى بكلمة ‪ linux‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep linux$ soca‬‬

‫ملحظة مهمة ‪ :‬إذا كان السطر ينتهى بمسافة أو بنقطة ‪ .‬فسوف تفشل عملية البحث لنه بذلك‬
‫يكون آخر السطر ليس كلمة ‪linux‬‬

‫‪ -c‬للبحث عن الكلمات التى تبدأ بالحرف أو تنتهى بالحرف ‪ ) x‬فمثل الكلمة التي أبحث عنها‬
‫هى ‪ linux‬لكنى ل أتذكرها بالضبط ( اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep l...x soca‬‬

‫‪ -d‬للبحث عن الكلمات عن الكلمات التى تبدأ بالحرف من ‪ a‬إلى ‪ f‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> grep [a,f] soca‬‬

‫‪ -e‬للبحث عن السطر التى بها كلمة ‪ root‬أو ‪ Root‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪72‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> grep [Rr]oot soca‬‬

‫‪#‬المر ‪: zgrep‬‬
‫يستخدم للبحث عن كلمة أو جملة داخل الملفات النصية المضغوطة ) مع وضع الجملة داخل‬
‫علمتى تنصيص ( ‪.‬‬
‫المر ‪ zgrep‬هو هو المر ‪ grep‬أي تستطيع تطبيق كل ماسبق مع المر ‪ grep‬على المر‬
‫‪ zgrep‬والختلف فقط هو أن الملفات التى أبحث فيها هى الملفات النصية المضغوطة ‪.‬‬
‫وإليك مثال للتوضيح ‪:‬‬
‫إذا أردت البحث عن كلمة ولتكن ‪ linux‬داخل ملف نصى مضغوط اسمه ‪soca.tar.gz‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> zgrep Linux soca.tar.gz‬‬

‫‪#‬المر ‪: diff‬‬
‫يستخدم للمقارنة بين ملفين سطر سطر‬
‫مثال لليضاح ‪:‬إذا كان لديك ملفان الول اسمه ‪ asd1‬ويحتوى على السطر التالية ‪:‬‬

‫‪ahmed elsayed ahmed ali‬‬

‫‪amr ali‬‬

‫والثانى اسمه ‪ asd2‬ويحتوى على السطر التالية ‪:‬‬

‫‪ahmed elsayed ahmed ali‬‬


‫‪amr ahmed‬‬

‫هنا نجد أن فى الملفين سطرا متشابها وسطرين مختلفين‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪73‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫للمقارنة بين هذين الملفين اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> diff asd1 asd2‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪2,3c2‬‬
‫<‬
‫‪< amr ali‬‬
‫‪---‬‬
‫‪> amr ahmed‬‬
‫‪\ No newline at end of file‬‬

‫نلحظ هنا أنه عرض السطر المختلفة من الملفين أسفل بعضهم )حيث السطر الثانى فى الملف‬
‫الول فارغ بينما السطر الثانى فى الملف الثانى به ‪ amr ahmed‬وكذلك السطر الثالث فى‬
‫الملف الول به ‪ amr ali‬بينما ليوجد سطر ثالث فى الملف الثانى ( ‪.‬‬

‫أي أن السطر المتشابهة تحذف ‪.‬‬

‫ملحظات ‪:‬‬
‫‪ -a‬يعتبر السطران مختلفين إذا كانت المسافات بين الكلمات مختلفة حتى إذا كان السطران‬
‫يحملن نفس الكلمات بالضبط‬
‫‪ -b‬يعتبر السطران مختلفين إذا كان فى نهاية أحدهما مسافة بينما لينتهى السطر الخر بمسافة‬
‫‪ -c‬يعتبر السطران مختلفين إذا كان فى نهاية أحدهما نقطهةبينما لينتهى السطر الخر نقطة‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪74‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -c‬التعامل مع المجلدات ‪:‬‬

‫‪#‬المر ‪: mkdir‬‬
‫يستخدم لنشاء مجلد واحد فقط وكذلك يستخدم لنشاء عدة مجلدات بجانب بعضها‬
‫البعض أو داخل بعضها ‪.‬‬
‫‪ -1‬لنشاء مجلد فارغ اسمه ‪ conan‬فى المسار الحالى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir conan‬‬

‫‪ -2‬لنشاء مجلد فارغ اسمه ‪ conan‬فى المسار ‪ /mnt‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # mkdir /mnt/conan‬‬

‫طبعا لنشاء ملف فى هذا المسار لبد أن تكون مستخدم جذر ‪. root‬‬

‫‪ -3‬لنشاء عدة مجلدات فارغة بعضها بجانب بعض ) بفرض أن المجلدات هى ‪ amr‬و ‪ gigi‬و‬
‫‪ hani‬و ‪ ( dido‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir amr gigi hani dido‬‬

‫‪ -4‬لنشاء أكثر من مجلد داخل بعض ) بفرض أن المجلدات هى ‪ edg‬و ‪ amr‬و ‪ gigi‬و‬
‫‪ hani‬و ‪ ( dido‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir -p edg/amr/gigi/hani/dido‬‬

‫‪ -5‬إذا أردت أن يطلعك المر ‪ mkdir‬على تقدم سير عملية النشاء أي يخبرك بالمجلدات‬
‫التى فرغ من إنشائها استخدم الخيار ‪ v-‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir -vp edg/amr/gigi/hani/dido‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪75‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫'‪mkdir: created directory `edg‬‬


‫'‪mkdir: created directory `edg/amr‬‬
‫'‪mkdir: created directory `edg/amr/gigi‬‬
‫'‪mkdir: created directory `edg/amr/gigi/hani‬‬
‫'‪mkdir: created directory `edg/amr/gigi/hani/dido‬‬

‫‪ -6‬اذا اردت انشاء مجلد اسمه ‪ mido‬فى المسار الحالى مع اعطاء ذلك المجلد الصلحية‬
‫‪ 700‬بدل من الصلحية الفتراضية ‪ 755‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir -m 700 mido‬‬

‫‪#‬المر ‪: tree‬‬
‫يستخدم لعرض المجلدات على شكل شجرى ‪.‬‬
‫‪ -1‬لعرض المجلدات وما تحتويه من ملفات و مجلدات على شكل شجرى فى المسار الحالى‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tree‬‬

‫‪ -2‬لعرض المجلدات وما تحتويه من ملفات و مجلدات على شكل شجرى فى المسار ‪/var‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tree /var‬‬

‫نلحظ أن تلك الطريقة غير عملية عندما يحتوى المسار الذى تعرضه على ملفات كثيرة‬
‫و الفضل هو عرض المجلدات فقط من دون عرض ما تحتويه من ملفات و مجلدات‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪76‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -3‬لعرض المجلدات وما تحتويه من مجلدات فقط على شكل شجرى فى المسار الحالى‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tree -d‬‬

‫‪ -4‬لعرض المجلدات وما تحتويه من مجلدات فقط على شكل شجرى فى المسار‬
‫) ‪ ( /var‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tree -d /var‬‬

‫‪ -d‬أوامر النسخ و النقل و المسح و إعادة التسمية ‪:‬‬

‫‪#‬المر ‪: rm‬‬
‫يستخدم هذا المر لمسح الملفات والمجلدات سواء كانت ممتلئة أم فارغة ‪.‬‬

‫‪ -1‬لحذف ملف وليكن اسمه ‪ soca‬موجود فى المسار الحالى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> rm soca‬‬

‫‪ -2‬لحذف ملف اسمه ‪ bibo‬موجود فى المسار ‪ /mnt/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> rm /mnt/collection1/bibo‬‬

‫‪ -3‬لحذف الملف بالقوة وليكن اسمه ‪ koki‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> rm -f koki‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪77‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -4‬لتفادى حذف ملف بطريق الخطأ حيث يعطى لك رسالة تكون إجابتها ‪ yes‬أو ‪ no‬بفرض‬
‫أن الملف اسمه ‪ nani‬وموجود فى المسارالحالى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> rm -i nani‬‬

‫وتكون النتيجة كالتالى ‪:‬‬

‫?'‪rm: remove regular file `nani‬‬

‫اكتب ‪ yes‬ليتم الحذف ‪:‬‬

‫‪rm: remove regular file `nani'? yes‬‬

‫‪ -5‬لحذف جميع الملفات الموجوده فى المسارالحالى اكتب ما يلى ‪:‬‬

‫* ‪ahmed@the-game:~> rm‬‬

‫‪ -6‬لحذف المجلد سواء كان ممتلئا أم فارغا اكتب ما يلى ) بفرض أن اسمه ‪:( zizo‬‬

‫‪ahmed@the-game:~> rm -r zizo‬‬

‫ملحظات مهمة ‪:‬‬


‫المر ‪ rm‬ليستطيع مسح الملفات إذا كان لهذه الملفات روابط أو اختصارات ولحذف هذه‬
‫الملفات يجب أول حذف تلك الختصارات ولمعرفة عدد الختصارات أو الروابط للملف‬
‫استخدم المر ‪ls -l‬‬

‫لنستطيع مسح الملفات التى ليس لدينا تصريح الكتابة عليها ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪78‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪#‬المر ‪: cp‬‬
‫يستخدم لنسخ الملفات والمجلدات وعند استعماله لبد من تحديد المكان الذى ستنسخ منه‬
‫والمكان الذى ستنسخ إليه ‪.‬‬

‫‪ -1‬لنسخ ملف اسمه ‪ fofa‬من المسار ‪ /mnt/collection1‬إلى المسار‬


‫‪ /home/ahmed/Desktop‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp /mnt/collection1/fofa /home/ahmed/Desktop‬‬

‫‪ -2‬لنسخ ملف اسمه ‪ fofa‬من المسارالحالى إلى المسار ‪ /mnt/collection1‬اكتب ما يلى‬


‫‪:‬‬

‫‪ahmed@the-game:~> cp fofa /mnt/collection1‬‬

‫‪ -3‬لنسخ ملف اسمه ‪ fofa‬بالقوة من المسارالحالى إلى المسار ‪ /mnt/collection1‬اكتب‬


‫ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp -f fofa /mnt/collection1‬‬

‫‪ -4‬لتفادى نسخ ملف مكان آخر بنفس السم استخدم الخيار ‪ -i‬وبذلك سوف يسألك قبل‬
‫النسخ إذا كان هناك ملف موجود يحمل نفس السم أم ل والجابة تكون ‪ yes‬أو ‪ no‬فمثل إذا‬
‫كان لديك ملف اسمه ‪ miro‬وتريد نسخه من المسار‬
‫‪ /mnt/collection1‬إلى المسار الحالى مع استخدام الخيار ‪ -i‬حيث يوجد ملف بنفس‬
‫السم فى المسار الحالى اكتب ما يلى ‪:‬‬

‫~ ‪ahmed@the-game:~> cp -i /mnt/collection1/miro‬‬

‫وتكون النتيجة كالتالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪79‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫?'‪cp: overwrite `/home/ahmed/miro‬‬

‫اكتب ‪ no‬حتى ليتم النسخ على ذلك الملف‬

‫‪cp: overwrite `/home/ahmed/miro'? n‬‬

‫ملحظة ‪ :‬العلمة ~ تدل على المسار الحالى ‪.‬‬

‫‪ -5‬لنسخ مجلد سواء كان ممتلئا أم فارغا استخدم الخيار ‪ -r‬أو ‪ -R‬فمثل إذا كان لديك مجلد‬
‫اسمه ‪ vector‬فى المسار ‪ /mnt/collection1‬وتريد نسخه إلى المسار‬
‫‪ /home/ahmed/Desktop‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp -r /mnt/collection1/vector /home/ahmed/Desktop‬‬


‫أو‬
‫‪ahmed@the-game:~> cp -R /mnt/collection1/vector /home/ahmed/Desktop‬‬

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

‫‪ -6‬لنسخ مجلد اسمه ‪ vector‬من المسار ‪ /mnt/collection1‬إلى المسار‬


‫‪ /home/ahmed/Desktop‬ولكن مع إظهار عملية النسخ أي ما تم نسخه وما لم يتم‬
‫نسخه )هنا نستخدم الخيار ‪ ( -v‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp -vr /mnt/collection1/vector /home/ahmed/Desktop‬‬

‫سؤال ‪ :‬هل يمكن نسخ ملف أو مجلد إلى مكان آخر أو فى نفس المكان باسم مخالف ؟‬
‫الجابة ‪ :‬نعم‬

‫‪ -7‬إذا أردت نسخ ملف اسمه ‪ fola‬فى نفس المكان باسم مخالف وليكن ‪ soma‬اكتب ما‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪80‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫يلى ‪:‬‬

‫‪ahmed@the-game:~> cp fola soma‬‬

‫‪ -8‬إذا أردت نسخ ملف اسمه ‪ fola‬من المسار الحالى إلى المسار ‪/mnt/collection1‬‬
‫باسم مخالف وليكن ‪ soma‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp fola /mnt/collection1/soma‬‬

‫‪ -9‬إذا أردت نسخ ملف من مسار إلى آخر بحيث يكون غير متواجد فى أي من المسارين‬
‫فمثل إذا أردت نسخ ملف اسمه ‪ ahmed‬الموجود فى المسار‬
‫‪ /mnt/collection1‬إلى المسار ‪ /mnt/collection2‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp /mnt/collection1/ahmed /mnt/collection2‬‬

‫‪#‬المر ‪: mv‬‬
‫يستخدم لنقل الملفات والمجلدات من مكان إلى آخر وعند استعماله لبد من تحديد المكان‬
‫الذى ستنقل منه والمكان الذى ستنقل إليه ‪.‬‬
‫يمكن استعمال المر ‪ mv‬لعادة تسمية الملفات والمجلدات وذلك بنقل الملف أو المجلد إلى‬
‫نفس المسار مع تغيير اسمه ‪.‬‬
‫استخدام المر ‪ mv‬يشبه كثيرا استعمال المر ‪ cp‬فيما عدا أنه ينقل المجلدات دون استخدام‬
‫الخيار ‪ -r‬وإليك فيما يلى أمثلة لستخدام المر ‪. mv‬‬
‫‪ -1‬لنقل ملف اسمه ‪ fofa‬من المسار ‪ /mnt/collection1‬إلى المسار‬
‫‪ /home/ahmed/Desktop‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv /mnt/collection1/fofa /home/ahmed/Desktop‬‬

‫‪ -2‬لنقل ملف اسمه ‪ fofa‬من المسارالحالى إلى المسار ‪ /mnt/collection1‬اكتب ما‬


‫يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪81‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> mv fofa /mnt/collection1‬‬

‫‪ -3‬لنقل ملف اسمه ‪ fofa‬بالقوة من المسارالحالى إلى المسار ‪ /mnt/collection1‬اكتب‬


‫ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv -f fofa /mnt/collection1‬‬

‫‪ -4‬لتفادى لنقل ملف مكان آخر بنفس السم استخدم الخيار ‪ -i‬وبذلك سوف يسألك قبل النقل‬
‫إذا كان هناك ملف موجود يحمل نفس السم أم ل والجابه تكون ‪ yes‬أو ‪ no‬فمثل إذا كان‬
‫لديك ملف اسمه ‪ miro‬وتريد نقله من المسار‬
‫‪ /mnt/collection1‬إلى المسار الحالى مع استخدام الخيار ‪ -i‬حيث يوجد ملف بنفس‬
‫السم فى المسار الحالى اكتب ما يلى ‪:‬‬

‫~ ‪ahmed@the-game:~> mv -i /mnt/collection1/miro‬‬

‫وتكون النتيجة كالتالى ‪:‬‬

‫?'‪mv: overwrite `/home/ahmed/miro‬‬

‫اكتب ‪ no‬حتى ليتم النقل على ذلك الملف‬

‫‪mv: overwrite `/home/ahmed/miro'? n‬‬

‫ملحظة ‪ :‬العلمة ~ تدل على المسار الحالى ‪.‬‬

‫‪ -5‬لنقل مجلد ممتلئ بالملفات و المجلدات الفرعية وليكن اسمه ‪ zima‬من المسار الحالى إلى‬
‫المسار ‪ /mnt/collection1‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪82‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> mv zima /mnt/collection1‬‬

‫‪ -6‬لنقل مجلد اسمه ‪ zima‬من المسار ‪ /mnt/collection1‬إلى المسار‬


‫‪ /home/ahmed/Desktop‬ولكن مع إظهار عملية النقل أي ما تم نقله وما لم يتم نقله‬
‫)هنا نستخدم الخيار ‪ ( -v‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv -v /mnt/collection1/zima /home/ahmed/Desktop‬‬

‫‪ -7‬لعادة تسمية ملف أو مجلد يتم عمل التالى ‪:‬‬


‫يتم نقل الملف أو المجلد إلى نفس المكان ولكن باسم مخالف فمثل إذا كان لديك مجلد اسمه‬
‫‪ zima‬موجود فى المسار ‪ /home/ahmed/Desktop‬وتريد إعادة تسميته إلى ‪mike‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv /home/ahmed/Desktop/zima /home/ahmed/Desktop/‬‬


‫‪mike‬‬

‫ملحظة ‪:‬‬
‫إذا وقفت على المسار الذى عليه المجلد المراد إعادة تسميته فإنك لن تحتاج لكتابة كل هذه‬
‫المسارات وفيما يلى مثال لليضاح على نفس المثال السابق ‪:‬‬

‫‪ahmed@the-game:~> cd /home/ahmed/Desktop‬‬
‫‪ahmed@the-game:~/Desktop> mv zima mike‬‬

‫عند تغيير اسم الملف أو المجلد باستخدام المر ‪ mv‬وكان هناك فى ذلك المسار مجلد بنفس‬
‫السم الجديد سوف ينقل إليه الملف أو المجلد الذى أردت تغيير اسمه لن المر ‪ mv‬يبحث‬
‫أول عن مجلد بالسم الجديد لكى ينقل إليه الملف أو المجلد‬

‫اما إذا أردت تغيير اسم ملف وكان هناك فى ذلك المسار ملف بنفس السم الجديد سوف يتم‬
‫عمل إحلل ‪ overwrite‬حيث تحل البيانات الموجوده فى الملف المراد تغيير اسمه محل‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪83‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫البيانات الموجوده فى الملف ذو السم الجديد فمثل إذا كان لديك ملف اسمه ‪ biso‬وأردت‬
‫تغيير اسمه إلى ‪ nona‬وكان بالصدفة هناك ملف اسمه ‪ nona‬لم تنتبه إلى وجوده ‪ .‬فكيف‬
‫تكون النتيجة ؟‬
‫النتيجة هى أنه عند كتابة المر‬

‫‪ahmed@the-game:~/Desktop> mv biso nona‬‬

‫تنتقل جميع البيانات الموجودة فى ملف ‪ biso‬لتحل محل البيانات الموجودة فى ملف‬
‫‪. nona‬‬

‫‪ -8‬إذا أردت نقل ملف اسمه ‪ fola‬من المسار الحالى إلى المسار ‪/mnt/collection1‬‬
‫باسم مخالف وليكن ‪ soma‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv fola /mnt/collection1/soma‬‬

‫‪ -9‬لعمل نسخة احتياطية من الملف المراد نقله أو اعادة تسميته استخدم الخيار ‪ -b‬وذلك بفرض‬
‫أن الملف اسمه ‪ wama‬كما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv -b wama /mnt/collection1‬‬

‫وتكون النتيجة هى عمل نسخة احتياطية فى مكان الملف الصلي قبل النقل تكون تحت اسم ~‬
‫‪ wama‬مع نقل الملف ‪ wama‬إلى المسار ‪/mnt/collection1‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪84‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫النسخ والنقل باستخدام علمة * ‪:‬‬


‫لنسخ جميع الملفات و المجلدات الموجودة فى المسار الحالى مره واحدة إلى مسار معين وليكن‬
‫‪ /mnt/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cp -r * /mnt/collection1‬‬

‫لنقل جميع الملفات و المجلدات الموجودة فى المسار الحالى مرة واحدة إلى مسار معين وليكن‬
‫‪ /mnt/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mv * /mnt/collection1‬‬

‫ملحظة مهمة ‪:‬‬


‫عند كتابة اسم فولدر أو ملف مكون من كلمتين بينهما مسافة فى الترمينال يجب وضع اسم‬
‫الفولدر أو الملف بين علمتى تنصيص “ “ فمثل اكتب "‪ “ new folder‬ول تكتب ‪new‬‬
‫‪. folder‬‬

‫‪#‬المر ‪: ln‬‬
‫يستخدم لنشاء روابط لينة و صلبة‬
‫‪ - 1‬الروابط اللينة ‪:‬‬
‫الرابط اللين هو ملف صغير يحتوى على مسار الملف أو المجلد الصلى وإذا حذف هذا الرابط‬
‫فلن يؤثر هذا على الملف الصلي أما إذا حذف الملف الصلي فلن يعمل الرابط ‪ .‬ويتم عمل‬
‫الروابط اللينة للملفات و المجلدات على حدا سواء ‪.‬‬

‫تعمل الروابط اللينة عبر ‪:‬‬


‫} أنظمة الملفات المختلفة ‪ -‬أنظمة الملفات الشبكية – الجهزة المركبة – الدلة { ‪.‬‬

‫ولنشاء الروابط اللينة نستخدم المر ‪ ln‬مع الخيار ‪ -s‬فمثل إذا كان لديك ملف اسمه ‪hima‬‬
‫موجود فى المسار ‪ /mnt/collection1‬وتريد إنشاء رابط له اسمه ‪ zima‬فى المسار‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪85‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ /home/ahmed/Desktop‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ln -s /mnt/collection1/hima /home/ahmed/Desktop/zima‬‬

‫‪ - 2‬الروابط الصلبة ‪:‬‬


‫ل يمكن إنشاء الروابط الصلبة عبر ‪ } :‬أنظمة الملفات الشبكية ‪ -‬أنظمة الملفات المختلفة – الجهزة‬
‫المركبة – ‪ { partition‬وكذلك ل يمكن إنشاء رابط صلب لمجلد ‪.‬‬
‫أي يجب أن يكون الرابط الصلب فى نفس قسم أو ‪ partition‬الملف الصلى ‪.‬‬
‫ولنشاء رابط صلب ل نستخدم مع المر ‪ ln‬أي خيار فمثل إذا كان لديك ملف اسمه ‪nova‬‬
‫فى المسار ‪ /mnt/collection1‬وتريد إنشاء رابط صلب له اسمه ‪ koka‬فى المسار‬
‫‪ /mnt/collection1/ogg‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ln /mnt/collection1/nova /mnt/collection1/ogg/koka‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪86‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الرابع ‪ :‬الضغط و الرشفة‬

‫‪ -a‬الرشفة ‪:‬‬

‫الرشيف هو مجموعة من الملفات و المجلدات الموجودة معا فى مكان واحد ويتم التعامل معها‬
‫على أنها ملف واحد ‪.‬‬

‫‪#‬المر ‪: tar‬‬
‫يستخدم لعمل أرشيف و لعرض محتويات أرشيف و لفك أرشيف ‪ .‬بحيث تكون الملفات‬
‫والمجلدات المؤرشفة تحت امتداد ‪.tar‬‬

‫‪ -a‬عمل أرشيف ‪:‬‬


‫لعمل أرشيف استخدم الخيار ‪cvf‬‬
‫حيث ‪ c‬تعنى ‪creat‬‬ ‫–‬

‫و ‪ v‬تعنى اعرض العمليات التى تجرى أثناء عملية الرشفة‬ ‫–‬

‫و ‪ f‬تعنى ‪file‬‬ ‫–‬

‫ومن الجدير بالذكر أن هذا الخيار غير إبدالى أي أن) ‪ -cvf‬ليساوى ‪.( -fvc‬‬ ‫–‬

‫‪ -1‬لعمل أرشيف لمجلد اسمه ‪ wcw‬به مجموعة من الملفات و المجلدات الفرعية وموجود فى‬
‫المسار ‪ /mnt/collection1‬مع وضع الرشيف فى المسار‬
‫‪ /home/ahmed/Desktop‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1‬‬
‫‪ahmed@the-game:/mnt/collection1> tar -cvf /home/ahmed/Desktop/wcw.tar‬‬
‫‪wcw‬‬

‫‪ -2‬لعمل أرشيف لمجلد اسمه ‪ wcw‬به مجموعة من الملفات و المجلدات الفرعية وموجود فى‬
‫المسار ‪ /mnt/collection1‬وتريد وضع الرشيف فى نفس مسار المجلد ‪ wcw‬وتسميته‬
‫‪ mtm‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪87‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> cd /mnt/collection1‬‬
‫‪ahmed@the-game:/mnt/collection1> tar -cvf mtm.tar wcw‬‬

‫‪ -3‬إذا أردت عمل أرشيف لمجلد به مجموعة من الملفات والمجلدات الفرعية وتريد أن تنتقى‬
‫بعضا من هذه الملفات والمجلدات لتدرجها داخل الرشيف بحيث يعطيك رسالة يسألك فيها‬
‫عن كل ملف أو مجلد هل تريد ضمه للرشيف أم ل وتكون الجابه ‪ y‬أو ‪ n‬استخدم الخيار‬
‫‪-cwf‬‬
‫بفرض أن المجلد المراد أرشفته اسمه ‪ gigi‬الموجود فى المسار ‪ /mnt/collection1‬وتريد‬
‫وضع الرشيف فى نفس مسار المجلد ‪ gigi‬وتسميته ‪ vino‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1‬‬
‫‪ahmed@the-game:/mnt/collection1> tar -cwf vino.tar gigi‬‬

‫وتكون النتيجة كالتالى ‪:‬‬

‫?'‪add `/mnt/collection1/gigi‬‬

‫لبد أن تكتب ‪ y‬حتى يكمل عملية الرشفة‬

‫‪add `/mnt/collection1/gigi'?y‬‬

‫وهكذا سيتابع معك السئلة عن كل ملف أو مجلد فرعى أجب بما تشاء ‪.‬‬
‫نلحظ أنك إذا أجبت عن أول سؤال ‪ n‬فإنه لن يسألك عن باقى الملفات والمجلدات الفرعية‬
‫وبالتالى سوف تحصل على أرشيف فارغ ‪.‬‬
‫‪ -4‬لرشفة مجلد اسمه ‪ raya‬باستخدام الصيغة ‪ gzip‬مع وضع الرشيف فى نفس مسار‬
‫المجلد و تسمية ‪ hoda.tgz‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -czvf hoda.tgz raya‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪88‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -5‬لرشفة مجلد اسمه ‪ raya‬باستخدام الصيغه ‪ bzip2‬مع وضع الرشيف فى نفس مسار‬
‫المجلد و تسمية ‪ hoda.bz2‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -cjvf hoda.bz2 raya‬‬

‫‪ -b‬عرض محتويات الرشيف ‪:‬‬


‫‪ -1‬لعرض محتويات أرشيف اسمه ‪ vino.tar‬موجود فى المسار ‪/mnt/collection1‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -tf /mnt/collection1/vino.tar‬‬

‫‪ -2‬لعرض محتويات أرشيف اسمه ‪ vino.tar‬موجود فى المسار ‪ /mnt/collection1‬مع‬


‫عرض جميع البيانات للملفات والمجلدات الفرعية الموجودة بداخله اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -tvf /mnt/collection1/vino.tar‬‬

‫‪ -c‬فك أرشيف و استخراج محتوياته ‪:‬‬


‫‪ -1‬لستخراج محتويات أرشيف اسمه ‪ vino.tar‬موجود فى المسار ‪/mnt/collection1‬‬
‫بحيث توضع الملفات المستخرجة فى نفس مسار الرشيف اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1‬‬
‫‪ahmed@the-game:/mnt/collection1> tar -xvf vino.tar‬‬

‫‪ -2‬لستخراج محتويات أرشيف اسمه ‪ vino.tar‬موجود فى المسار ‪/mnt/collection1‬‬


‫بحيث توضع الملفات المستخرجة فى المسار الحالى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -xvf /mnt/collection1/vino.tar‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪89‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -3‬لستخراج ملف واحد أو عدد قليل من الملفات من أرشيف اسمه ‪vino.tar‬‬


‫موجود فى المسار ‪ /mnt/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -xvwf /mnt/collection1/vino.tar‬‬

‫وتكون النتيجة كالتالى ‪:‬‬

‫?'‪extract `gigi‬‬

‫لبد أن تكتب ‪ y‬حتى يكمل عملية الفك‬

‫‪extract `gigi'?y‬‬

‫وهكذا سيتابع معك السئلة عن كل ملف أو مجلد فرعى أجب بما تشاء ‪.‬‬

‫‪ -4‬إذا كنت تريد استخراج ملف بعينه اسمه ‪ nana.pdf‬من أرشيف اسمه ‪wcw.tar‬‬
‫موجود فى المسار ‪ /mnt/collection1‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1‬‬
‫‪ahmed@the-game:/mnt/collection1> tar -xf wcw.tar wcw/nana.pdf‬‬

‫‪ -d‬إضافة ملف أو مجلد إلى أرشيف ‪:‬‬


‫‪ -1‬لضافة ملف اسمه ‪ mido‬إلى أرشيف موجود أصل اسمه ‪ yara.tar‬مع العلم أن الملف و‬
‫الرشيف موجودان فى نفس المسار اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -rvf yara.tar mido‬‬

‫‪ -2‬لضافة مجلد } به مجموعة من الملفات الفرعية { اسمه ‪ gamal‬إلى أرشيف موجود أصل‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪90‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫اسمه ‪ yara.tar‬مع العلم أن الملف و الرشيف موجودان فى نفس المسار اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> tar -rvf yara.tar gamal‬‬

‫‪#‬المر ‪: cpio‬‬
‫يستخدم لنشاء أرشيف و لستخراج الملفات من الرشيف و لدخال ملفات إلى داخل‬
‫أرشيف ‪.‬‬
‫عند إنشاء أرشيف ‪ cpio‬يتم أخذ قائمة بأسماء الملفات والمجلدات التى سيتم أرشفتها ثم‬
‫ترسل إلى الخرج القياسى أو إلى الجهاز الذى سيتم أرشفته بواسطة الخيار ‪ -f‬وعادة يتم استخدام‬
‫المر ‪ ls‬أو ‪ find‬لتوفير تلك القائمة للخرج القياسى‬

‫‪ -1‬لرشفة مجلد اسمه ‪ } noga‬به مجموعة من الملفات فقط { موجود فى المسار‬


‫‪ /mnt/collection1‬مع وضع الرشيف فى نفس مسار المجلد ‪ noga‬وتسميته ‪tatu‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1/noga‬‬
‫‪ahmed@the-game:/mnt/collection1/noga> ls | cpio -ov > ../tatu.cpio‬‬
‫أو‬
‫‪ahmed@the-game:/mnt/collection1/noga> find | cpio -ov > ../tatu.cpio‬‬

‫‪ -2‬لرشفة مجلد اسمه ‪ } noga‬به مجموعة من الملفات والمجلدات الفرعية { موجود فى‬
‫المسار ‪ /mnt/collection1‬مع وضع الرشيف فى نفس مسار المجلد ‪ noga‬وتسميته‬
‫‪ tatu‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cd /mnt/collection1/noga‬‬
‫‪ahmed@the-game:/mnt/collection1/noga> find | cpio -ov > ../tatu.cpio‬‬

‫الخيار ‪ o‬يعنى ‪ creates‬اما الخيار ‪ v‬يستخدم لظهار ما الذى انتهى من أرشفته ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪91‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫نأتي الن للتعرف على ماهية الفرق بين ‪ ls‬و ‪ find‬الذين استخدما للمساعدة فى عملية الرشفة ‪.‬‬
‫إن إنشاء أرشيف باستخدام المر ‪ cpio‬يتتطلب عمل قائمة بالملفات والمجلدات وما تحويها‬
‫ثم إرسالها إلى الخرج القياسى أي الرشيف ‪ .‬وعادة يستخدم } ‪ ls‬أو ‪ . { find‬لتجهيز تلك القائمة‬
‫ولكن متى نستخدم ‪ ls‬ومتى نستخدم ‪ find‬والجابة بكل سهولة أن المر ‪ ls‬يستخدم لعمل‬
‫قائمة للملفات فقط } أي أنه ليدمج فى تلك القائمة الملفات الموجودة داخل المجلدات الفرعية {‬
‫لليضاح اكتب المر ‪ ls‬منفردا وأنت على أي مسار فماذا تكون النتيجة ؟ النتيجة هى أنه يعرض‬
‫جميع الملفات والمجلدات الموجوده فى المسار الحالى دون عرض الملفات الموجوده داخل‬
‫المجلدات الفرعية ‪.‬‬
‫اما المر ‪ find‬يستخدم لعمل قائمة للملفات و المجلدات الفرعية وما تحويه } أي أنه يدمج فى‬
‫تلك القائمة الملفات الموجوده داخل المجلدات الفرعية { لليضاح اكتب المر ‪ find‬منفردا‬
‫وأنت على أي مسار فماذا تكون النتيجة ؟ النتيجة هى أنه يعرض جميع الملفات والمجلدات‬
‫الموجوده فى المسار الحالى مع عرض الملفات الموجوده داخل المجلدات الفرعية ‪.‬‬

‫ملخص ‪:‬‬
‫استخدم ‪ ls‬عندما ليكون فى المجلد المراد أرشفته مجلدات فرعية ‪.‬‬
‫استخدم ‪ find‬عندما يوجد فى المجلد المراد ارشفته مجلدات فرعية ‪.‬‬

‫‪ -2‬فك أرشيف ‪:‬‬


‫‪ -1‬إذا أردت فك أرشيف اسمه ‪ noga‬فى المكان اللى انت واقف فيه حاليا اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> cpio -iv <noga‬‬

‫‪ -2‬إذا أردت فك أرشيف اسمه ‪ noga‬فى مجلد اسمه ‪ tamer‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mkdir tamer‬‬


‫‪ahmed@the-game:~> cd tamer‬‬
‫‪ahmed@the-game:~/tamer> cpio -iv <../noga‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪92‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -b‬الضغط ‪:‬‬

‫‪#‬المر ‪: gzip‬‬
‫يستخدم لضغط الملفات كما يستخدم لضغط أي أرشيف من نوع ‪ tar‬فمثل المتداد من نوع‬
‫‪ tar.gz‬هو عبارة عن أرشيف من نوع ‪ tar‬تم ضغطه بواسطة المر ‪. gzip‬‬

‫ملحظات ‪:‬‬
‫‪ -a‬ليتم ضغط المجلد مباشرة وإنما يجب أول أرشفته ومن بعد ذلك يتم ضغطه ‪.‬‬
‫‪ -b‬بعد ضغط الملف أو الرشيف يتم مسحه أو إزالته ‪.‬‬

‫قبل شرح المر يجب أن تعرف أن مستويات الضغط تتراوح من ) ‪ ( 9-1‬ويمكن تحديد‬
‫مستوى الضغط أو تركه ‪. default‬‬

‫‪ -1‬لضغط ملف اسمه ‪ amr-diab.mp3‬مع وضع الملف المضغوط فى نفس مسار الملف‬
‫وتسميته بنفس السم وترك مستوى الضغط ‪ default‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> gzip amr-diab.mp3‬‬

‫‪ -2‬لضغط أرشيف اسمه ‪ amr-diab‬مع وضع الرشيف المضغوط فى نفس مسار الرشيف‬
‫وتسميته بنفس السم واختيار أقصى مستوى الضغط ) ‪ ( 9‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> gzip -9 amr-diab.tar‬‬

‫‪ -3‬للتأكد من أن الملف المضغوط فى حالة سليمة أم ل استخدم الخيار ‪ -tv‬فمثل إذا كان‬
‫لديك أرشيف مضغوط اسمه ‪ amr-diab.tar.gz‬وتريد التأكد من أن ذلك الملف‬
‫المضغوط فى حالة سليمة اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> gzip -tv amr-diab.tar‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪93‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ ( amr-diab.tar.gz:‬فيكون الملف سليما‬ ‫وتكون النتيجة إما ) ‪ok‬‬


‫‪ ( amr-diab.tar.gz:‬فيكون الملف معطوبا ‪.‬‬ ‫أو تكون ) ‪not ok‬‬

‫‪ -4‬لعرض جميع المعلومات عن ملف مضغوط اسمه ‪ amr-diab.tar.gz‬مثل حجم الملف‬


‫قبل وبعد الضغط ونسبة الضغط اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> gzip -l amr-diab.tar.gz‬‬

‫‪ -5‬لفك ملف مضغوط اسمه ‪ amr-diab.mp3.gz‬وذلك فى نفس المسار اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> gzip -d amr-diab.mp3.gz‬‬

‫تنبيه‪:‬‬
‫عند فك الملف المضعوط يتم حذفه تلقائيا والبقاء على الملف المفكوك ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪94‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪95‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الخامس ‪ :‬محررات النصوص‬

‫‪#‬المحرر ‪: mcedit‬‬
‫هو أسهل محرر نصوص على الطلق لدرجة أنه ليحتاج لى شرح ويتميز بأن الفأرة تعمل‬
‫بداخله ‪.‬‬

‫‪ -1‬اذا اردت عمل ملف نصى اسمه ‪ mido‬والكتابه بداخله فما عليك ال عمل التى ‪:‬‬
‫‪ -a‬افتح الترمينال واكتب المر التالى ‪:‬‬

‫‪ahmed@the-game:~> mcedit‬‬

‫سيظهر لك شكل البرنامج كما يلى ‪:‬‬

‫‪ -b‬اكتب بداخل البرنامج النص الذى تريد ثم اضغط على ‪ save‬فتظهر لك رساله تخبرك هل‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪96‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫أنت متأكد أنك تريد الحفظ اضغط ‪ save‬فتظهر لك رساله أخرى تقول لك أدخل اسم الملف‬
‫اضغط ‪ ok‬ثم ‪ quit‬سيتم حفظ الملف فى مجلد البيت الخاص بك ‪.‬خلص كده مبروك لقد‬
‫قمت بعمل أول ملف نصى لك ‪.‬‬

‫‪ -2‬لفتح ملف اسمه ‪ mido‬للتعديل عليه اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> mcedit mido‬‬

‫طبعا يتم التعامل مع الملف كما سبق شرحه‬


‫ملحوظه ‪ :‬للحصول على ‪ tool bar‬علوى اضغط على ‪. f9‬‬

‫‪#‬المحرر ‪ vim‬و ‪: gvim‬‬


‫المحرر ‪ vim‬هو نسخة مطورة من المحرر ‪ vi‬وفى الغالب نجد أن المحرر ‪ vi‬هو رابط للمحرر‬
‫‪ . vim‬ويعد المحرر ‪ vim‬أو ‪ vi‬من أشهر المحررات وأكثرها فائدة و ذلك لنك أول ‪:‬ستجده‬
‫متوفر ا على أي نظام لينكس ‪.‬‬
‫وثانيا ‪ :‬أنه من البرامج القليلة التى تستمر فى العمل بكفاءة عند حدوث أي مشكله فى النظام‬
‫وبالتالى سوف تضطر إلى استخدامه لصلح النظام ‪.‬‬
‫اما بالنسبه للمحرر ‪ gvim‬فما هو إل واجهة للمحرر ‪ vim‬تعمل فى الواجهة الرسومية ‪.‬‬

‫للمحرر ‪ vim‬طوران أساسيان ) طور الوامر ‪ -‬و طور الدخال ( ‪:‬‬


‫‪ -1‬طور الوامر ‪:‬‬
‫هو الطور الفتراضى و للتحول إليه اضغط على ‪. Esc‬‬
‫‪ -2‬طور الدخال ‪:‬‬
‫وفيه يكون البرنامج كأى محرر نصوص آخر وللتحول إليه نضغط ‪ i‬أو ‪. insert‬‬

‫للمحرر ‪ vim‬أكثر من ‪ 50‬خيار من خيارات سطر الوامر ويمكنك الرجوع إلى صفحة‬
‫‪ manual‬للطلع عليها ولمعرفة معلومات أكثر عن البرنامج وآخر إصداراته زُر موقع البرنامج‬
‫‪. http://www.vim.org‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪97‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫كما يمكنك من خلل الموقع تنزيل كتاب بصيغة ‪ pdf‬يشرح كيفية التعامل مع البرنامج‬
‫والستفاده من مميزاته ‪ .‬تخيل أن حجم هذا الكتاب ‪ 572‬صفحة مما يدل على روعة هذا‬
‫البرنامج ‪.‬‬
‫ملحظة ‪ :‬يمكن تشغيل المحرر ‪ vim‬فى وضع يتصرف فيه كالمحررات العادية لكنك ستخسر‬
‫الكثير من مزاياه وذلك بكتابة ما يلى ‪:‬‬

‫‪ahmed@the-game:~> evim‬‬

‫ونأتي الن لشرح كيفية التعامل مع هذا البرنامج بصوره مختصره جدا ‪:‬‬

‫‪ -1‬إذا أردت عمل أو فتح ملف نصى اسمه ‪ file.txt‬فما عليك إلكتابة ما يلى فى الترمينال ‪:‬‬

‫‪ahmed@the-game:~> vim file.txt‬‬

‫فتظهر لك الشاشة التالية فى الترمينال ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪98‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫حيث إن العلمة ~ تدل على السطر كما أنه ظهر فى آخر الشاشة رسالة بها اسم الملف وهو‬
‫‪ file.txt‬وبها كلمة ‪ new file‬للدللة على أنك أنشأت ملفا جديدا‬

‫اضغط على ‪ i‬أو ‪ insert‬للنتقال إلى طور الدخال ) لحظ ظهور كلمة ‪-- INSERT --‬‬
‫أسفل الشاشة ( ثم أدخل النص التالى ‪:‬‬

‫‪A very intelligent turtle‬‬


‫‪Found programming unix a hurdle‬‬
‫‪The system, you see,‬‬
‫‪Ran as slow as did he,‬‬
‫‪And that's not saying much for the turtle.‬‬

‫بعد النتهاء من إدخال ذلك النص اضغط على ‪ Esc‬للتحول إلى طور الوامر ) لحظ اختفاء‬
‫كلمة ‪ – INSERT --‬أسفل الشاشة ( ثم اكتب ‪ wq:‬وذلك للحفظ و إغلق البرنامج ‪.‬‬

‫قبل تعلم خصائص المفاتيح فى طور الدخال يجب التنويه على بعض الساسيات التى قد تكون‬
‫بديهية لكثير منا ولكن قد يغفل عنها البعض وهى كالتالى ‪:‬‬
‫‪ -1‬يجب أن يفصل بين الجملة والجمله نقطة ‪.‬‬
‫‪ -2‬يجب أن يفصل بين الفقرة والفقرة سطر فارغ أو أكثر ‪.‬‬

‫مفاتيح التعامل مع المحرر ‪ vim‬فى طور الوامر ‪:‬‬

‫‪ k‬أو ‪up arraw‬‬ ‫التحرك لعلى‬


‫‪ j‬أو ‪down arraw‬‬ ‫التحرك لسفل‬
‫‪ l‬أو ‪right arraw‬‬ ‫التحرك يمينا‬
‫‪ h‬أو ‪left arraw‬‬ ‫التحرك يسارا‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪99‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪:help‬‬ ‫إظهار صفحة المساعدة أعلى الملف‬


‫‪ctrl + ww‬‬ ‫العوده من صفحة المساعدة إلى الملف‬
‫داخل صفحة المساعدة ‪:q‬‬ ‫لغلق صفحة المساعدة‬
‫‪/‬‬ ‫البحث فى الملف عن كلمة معينة‬
‫‪ Delete‬أو ‪x‬‬ ‫حذف الحرف الحالي‬
‫‪dw‬‬ ‫حذف الكلمة الحالية‬
‫‪w‬‬ ‫النتقال إلى بداية الكلمة التالية‬
‫‪e‬‬ ‫النتقال لنهاية الكلمة التالية‬
‫‪b‬‬ ‫النتقال لنهاية الكلمة السابقة‬
‫‪dd‬‬ ‫حذف السطر الحالى‬
‫‪p‬‬ ‫للصق ماحذفته فى أي مكان مرة أو أكثر‬
‫‪End‬‬ ‫النتقال لنهاية السطر التالى‬
‫‪shift + $‬‬ ‫النتقال لنهاية السطر الحالى‬
‫‪ number zero‬أو ^ ‪shift +‬‬ ‫النتقال لبداية السطر الحالى‬
‫) ‪shift +‬‬ ‫النتقال لبداية الجملة التية‬
‫( ‪shift +‬‬ ‫النتقال لبداية الجملة السابقة‬
‫}‪shift +‬‬ ‫النتقال لنهاية الفقرة التالية‬
‫{ ‪shift +‬‬ ‫النتقال لنهاية الفقرة السابقة‬
‫‪gg‬‬ ‫النتقال لبداية الصفحة‬
‫‪page up‬‬ ‫النتقال صفحة واحدة لعلى‬
‫‪page down‬‬ ‫النتقال صفحة واحدة لسفل‬
‫‪u‬‬ ‫التراجع عن آخر عملية قمت بها ‪undo‬‬
‫‪ctrl + r‬‬ ‫يستعمل بعد الختصار ‪ u‬إذا أردت إلغاء‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪100‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫ماتراجعت عنه أي التفدم إلى آخر عملية فمت‬


‫بها‬
‫اسم الملف الجديد ‪:e‬‬ ‫لفتح ملف جديد مع إغلق الملف الحالى‬
‫اسم الملف ‪:split‬‬ ‫لفتح أكثر من ملف فى وقت واحد مع‬
‫ظهورهم أسفل بعض‬
‫‪ctrl + ww‬‬ ‫للتنقل بين الملفات المفتوحة‬
‫‪:w‬‬ ‫للحفظ مع عدم إغلق الملف‬
‫‪:q‬‬ ‫لغلق الملف‬
‫!‪:q‬‬ ‫لغلق الملف مع عدم الحفظ‬
‫‪:wq‬‬ ‫لغلق الملف مع الحفظ‬

‫مفاتيح التعامل مع المحرر ‪ vim‬فى طور الوامر التى تحتاج لمثلة ‪:‬‬

‫‪ -1‬لحذف الجملة السابقه فى سطر مكون من أكثر من جملة اكتب ( ‪ d + shift +‬مع وضع‬
‫المؤشر قبل بداية أول حرف فى الجملة التالية فمثل إذا كان لديك جملتان كالتالى ‪:‬‬

‫‪my name is ahmed elsayed ahmed ali . this is my last chance . this my last‬‬
‫‪escape .‬‬

‫فإذا أردت حذف جملة ‪ my name is ahmed elsayed ahmed ali‬يجب‬

‫وضع المؤشر فى المكان المظلل باللون الحمر كما هو موضح ‪.‬‬

‫‪ -2‬لحذف جملة سابقه مع إضافة جملة أو كلمة بدل منها اكتب ( ‪c + shift +‬‬
‫ثم اكتب الكلمة أو الجملة التى تريد حيث إنك بعد الحذف قد تحولت لطور الدخال‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪101‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫مع مراعاة وضع المؤشر قبل بداية أول حرف فى الجملة التالية كما سبق وأوضحنا ‪.‬‬

‫‪ -3‬لنسخ جملة سابقه اكتب ( ‪ y + shift +‬مع مراعاة وضع المؤشر قبل بداية أول حرف فى‬
‫الجملة التالية وللصق فى أي مكان اكتب ‪p‬‬

‫‪ -4‬جميع مافعلناه فى السابق كان خاصا بأي جملة سابقة و لعمله لي جملة تالية غير اتجاه القوس‬
‫واجعله هكذا )‬

‫‪ -5‬يمكن تنفيذ أي عملية كالحذف والنسخ والضافه إلى آخره أكثر من مرة وذلك عن طريق‬
‫إعطاء رقم لتلك العملية‬
‫أمثلة لليضاح ‪:‬‬
‫إذا أردت التحرك ثلثة كلمات للخلف اكتب ‪3w‬‬
‫إذا أردت نسخ الثلث كلمات التى تلى المؤشر اكتب ‪y3w‬‬

‫خاصية الكمال التلقائى ‪:‬‬


‫وهذه الخاصيه تعمل فى طور الدخال وان شاء ال سنتناول شرح هذه الخاصية بالمثلة فالتجربه‬
‫خير دليل ‪:‬‬
‫‪ -1‬إذا كتبت كلمة ‪ ahmed‬ثم أردت كتابتها مره أخرى فى مكان آخر فما عليك إلكتابة أول‬
‫حرف منها ‪ a‬ثم اضغط على ‪ ctrl + x‬ثم ‪ ctrl + p‬عدة مرات ليكملها‬

‫‪ -2‬إذا كنت تكتب داخل النص اسم ملف أو اسم مجلد موجود عندك على الجهاز فى نفس‬
‫المكان الموجود به الملف الذى تكتب بداخله اضغط على ‪ ctrl + x‬ثم ‪ ctrl + f‬وللتنقل بينهم‬
‫إما عن طريق السهم أو بالضغط على ‪ ctrl + p‬و ‪ctrl + n‬‬

‫ملحظة ‪ :‬عند كتابة اسم ملف أو مجلد يمكنك أن ل تكتب أيا من أحرفه و الضغط على ‪ctrl‬‬
‫‪ + x‬ثم ‪ ctrl + f‬ليعرض لك أسماء جميع الملفات و الفولدرات الموجوده فى نفس المسار‬
‫الموجود به الملف الذى تكتب بداخله ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪102‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -3‬يمكن إنشاء قاموس أنت تعده بنفسك مسبقا بحيث تكمل منه الكلمات وذلك بالضغط على‬
‫‪ ctrl + x‬ثم ‪ctrl + k‬‬

‫‪ #‬المحرر ‪: pico‬‬
‫هو جزء من رزمة البرمجيات ‪ . pine‬ويعد هذا المحرر سهل الستخدام فهو أبسط كثيرا من‬
‫المحرر ‪ . vim‬وطريقة استخدامه سهلة فإذا أردت عمل أو فتح ملف اسمه‬
‫‪ file.txt‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> pico file.txt‬‬

‫اما إذا أردت أن تجعل البرنامج تعمل بداخله الفارة استخدم الخيار ‪ -m‬وذلك كالتالى ‪:‬‬

‫‪ahmed@the-game:~> pico -m file.txt‬‬

‫وبعد فتح الملف ‪ file.txt‬انقر على أي أمر من الوامر الموجودة أسفل الشاشة للتقدم فى العمل ‪.‬‬

‫لجعل الملف يفتح فى طور القراءة فقط أي ليكون لك الحق فى الكتابة بداخله استخدم الخيار‬
‫‪ -v‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> pico -v file.txt‬‬

‫إذا أردت أن يقوم المحرر بحفظ أي تغييرات داخل الملف تلقائيا دون الحاجه لتأكيد الحفظ‬
‫عند إغلق الملف استخدم الخيار ‪ t-‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> pico -t file.txt‬‬

‫لجعل شريط المساعدة الموجود بالسفل يختفى استخدم الخيار ‪ -x‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> pico -x file.txt‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪103‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫من مزايا المحرر ‪ pico‬أنه يقوم بحفظ الملفات آليا فى حالة توقف ‪ linux‬عن الستجابه وذلك‬
‫فى ملف يحمل اسم الملف بامتداد ‪ save‬فمثل إذا كان الملف اسمه ‪ file.txt‬يكون الملف‬
‫المحفوظ أتوماتيكيا اسمه ‪file.save‬‬

‫مفاتيح التعامل مع محرر ‪: pico‬‬

‫‪up arraw‬‬ ‫التحرك لعلى‬


‫‪down arraw‬‬ ‫التحرك لسفل‬
‫‪right arraw‬‬ ‫التحرك يمينا‬
‫‪left arraw‬‬ ‫التحرك يسارا‬
‫‪ctrl + g‬‬ ‫اظهار صفحة المساعدة‬
‫‪ctrl + x‬‬ ‫غلق ملف المساعدة‬
‫‪ctrl + c‬‬ ‫عرض موقع المؤشر‬
‫‪ backspace‬أو ‪ Delete‬أو ‪ctrl + d‬‬ ‫حذف الحرف الجارى‬
‫‪ctrl + k‬‬ ‫قص السطر الحالى‬
‫‪ctrl + u‬‬ ‫لصق جميع السطر التى تم قصها‬
‫‪ctrl + e‬‬ ‫النتقال إلى نهاية السطر الجارى‬
‫‪ctrl + a‬‬ ‫النتقال إلى بداية السطر الجارى‬
‫‪ctrl + j‬‬ ‫ضبط الفقرة الحالية‬
‫‪ ctrl + v‬أو ‪page down‬‬ ‫النتقال صفحة واحدة لسفل‬
‫‪ ctrl + y‬أو ‪page up‬‬ ‫النتقال صفحة واحدة لعلى‬
‫‪ctrl + w‬‬ ‫البحث عن كلمة داخل الملف‬
‫‪ctrl + t‬‬ ‫الشروع فى التدقيق الملئى‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪104‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ctrl + r‬‬ ‫إدراج ملف أو عرضه ضمن الملف الحالى‬


‫وذلك مكان المؤشر‬
‫‪ctrl + o‬‬ ‫حفظ الملف باسم‬
‫‪ctrl + x‬‬ ‫لغلق الملف‬

‫‪ #‬المحرر ‪: nano‬‬
‫هو المحرر الفتراضى لديبيان وهذا المحرر مبنى على المحرر ‪ pico‬لذلك فهو يشبهه ولكن مع‬
‫الكثير من المزايا ‪.‬‬
‫وموقع هذا المحرر على النترنت هو ‪ http://www.nano-editor.org‬وآخر إصدارة‬
‫منه رقم ‪2.0.7‬‬
‫ومن الجدير بالذكر أن جميع مفاتيح التعامل مع محرر ‪ pico‬هى نفسها مفاتيح التعامل مع المحرر‬
‫‪. nano‬‬

‫وطريقة استخدامه سهلة كأى محرر نصوص آخر فإذا أردت عمل أو فتح ملف اسمه‬
‫‪ file.txt‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> nano file.txt‬‬

‫اما إذا أردت ان تجعل البرنامج تعمل بداخله الفارة استخدم الخيار ‪ -m‬وذلك كالتالى ‪:‬‬

‫‪ahmed@the-game:~> nano -m file.txt‬‬

‫وبعد فتح الملف ‪ file.txt‬انقر على أي أمر من الوامر الموجودة أسفل الشاشة للتقدم فى العمل ‪.‬‬

‫لجعل شريط المساعدة الموجود بالسفل يختفى استخدم الخيار ‪ -x‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> nano -x file.txt‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪105‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫لجعل الملف يفتح فى طور القراءة فقط أي ليكون لك الحق فى الكتابة بداخله استخدم الخيار‬
‫‪ -v‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> nano -v file.txt‬‬

‫إذا أردت أن يقوم المحرر بحفظ أي تغييرات داخل الملف تلقائيا دون الحاجة لتأكيد الحفظ‬
‫عند إغلق الملف استخدم الخيار ‪ t-‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> nano -t file.txt‬‬

‫‪#‬المحرر ‪: emacs‬‬
‫ويعد هذا المحرر من أقوى محررات النصوص فهو ليس محرر نصوص فحسب وإنما له العديد‬
‫من الوظائف وهى كالتالى ‪:‬‬
‫‪ -a‬محرر نصوص‬
‫‪ -b‬بيئة برمجة متكاملة‬
‫‪ -c‬صدفة لينكس‬
‫‪ -d‬مفسر للغة ‪lisp‬‬
‫‪ -e‬من خلله يمكن إرسال البريد اللكترونى‬
‫‪ -f‬من خلله يمكن استعراض مواقع النترنت‬
‫‪ -g‬من خلله يمكن استعراض أخبار ‪use net‬‬
‫‪ -h‬يقبل وظائف المفكرة ‪ diray‬والتقويم ‪calendar‬‬
‫‪ -i‬يمكنه تشغيل اللعاب !!‬
‫‪ -j‬يستخدم كمساعد للمكفوفين !!‬

‫كما يتميز هذا المحرر بالكثير من المزايا وهى كالتالى ‪:‬‬


‫‪ -1‬الحفظ التلقائى ‪ auto save‬بحيث يسمى الملف الذى تم حفظه تلقائيا بنفس اسم الملف مع‬
‫وضع علمة فى أول وآخر السم و عند فتح الملف يسألك البرنامج هل تريد تحميل النسخه‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪106‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫المحفوظه تلقائيا أم ل‬

‫‪ -2‬إنشاء نسخة احتياطية من الملف تقوم أنت بتحريره و عند تسمية النسخة الحتياطية تكون‬
‫بنفس اسم الملف متبوعا بالعلمة ~‬

‫وللحصول على أحدث نسخة من برنامج ‪ emacs‬زر الموقع التي‬


‫‪ http://ftp.gnu.org/pub/gnu/emacs‬وآخر إصدارة من هذا البرنامج هى ‪GNU‬‬
‫‪ Emacs 22.2.1‬بتاريخ ‪Mar-2008-26‬‬

‫‪ -1‬لفتح ملف اسمه ‪ file.txt‬فى الواجهة الرسومية اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> emacs file.txt‬‬

‫‪ -2‬لفتح ملف اسمه ‪ file.txt‬فى الترمينال اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> emacs -nw file.txt‬‬

‫كيفية تشغيل برنامج ‪ emacs‬التعليمى ‪:‬‬


‫بعد فتح برنامج ‪ emacs‬اضغط ‪ ctrl + h‬ثم اضغط ‪ t‬كى يبدأ تشغيل البرنامج التعليمى ‪.‬‬

‫لعرض ‪ manual‬الخاص بالبرنامج اضغط ‪ ctrl + h‬ثم اضغط ‪I‬‬

‫لعرض معلومات عن البرنامج اضغط ‪ ctrl + h‬ثم اضغط ‪f‬‬

‫لعرض أشهر المشكلت التى تواجه مستخدمى البرنامج اضغط ‪ ctrl + h‬ثم اضغط ‪p‬‬

‫ملحظة ‪ :‬فى اختصارات برنامج ‪ emacs‬تجد زرا اسمه ‪ m‬أو ‪ meta‬وهذا الزر هو الزر ‪alt‬‬
‫وفى أحيان نادرة جدا يكون الزر ‪. Esc‬أما الحرف ‪ c‬فيعنى ‪. ctrl‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪107‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫مفاتيح التعامل مع محرر ‪: emacs‬‬

‫‪up arraw‬‬ ‫التحرك لعلى‬


‫‪down arraw‬‬ ‫التحرك لسفل‬
‫‪right arraw‬‬ ‫التحرك يمينا‬
‫‪left arraw‬‬ ‫التحرك يسارا‬
‫‪Delete‬‬ ‫لحذف الحرف الحالي‬
‫‪Alt + d‬‬ ‫حذف الكلمة الحالية‬
‫‪Ctrl + e‬‬ ‫النتقال لنهاية السطر الجارى‬
‫‪Ctrl + a‬‬ ‫النتقال لبداية السطر الجارى‬
‫‪Ctrl + k‬‬ ‫حذف السطر الجارى بعد المؤشر‬
‫‪Page down‬‬ ‫النتقال شاشة كاملة لسفل‬
‫‪Page up‬‬ ‫النتقال شاشة كاملة لعلى‬
‫‪ new file‬ثم ‪ ctrl + f‬ثم ‪Ctrl + x‬‬ ‫فتح ملف جديد مع غلق الملف القديم وحفظ‬
‫‪name‬‬ ‫التعديلت التى حدثت عليه‬
‫‪ ctrl + s‬ثم ‪Ctrl + x‬‬ ‫لحفظ أي تعديلت داخل الملف الذى‬
‫يجرى العمل فيه‬
‫‪ new file‬ثم ‪ ctrl + w‬ثم ‪Ctrl + x‬‬ ‫لحفظ الملف باسم آخر‬
‫‪name‬‬
‫‪ ctrl + c‬ثم ‪Ctrl + x‬‬ ‫لغلق المحرر ‪emacs‬‬

‫ملحظة ‪ :‬كل وظيفه تقوم بها الختصارات السابقة لها اسم طويل وهناك وظائف ليس لها‬
‫اختصارات ‪.‬وللوصول للوظيفة عن طريق اسمها اضغط على ‪ alt +x‬ثم اكتب اسم الوظيفة‬

‫مع ملحظة أن المحرر ‪ emacs‬هنا يدعم استكمال اسم الوظيفة من خلل الضغط على الزر‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪108‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ tab‬فمثل وظيفة النتيجة ‪ calendar‬ليس لها اختصارات وللولوج إليها اضغط على ‪alt + x‬‬
‫ثم اكتب أول حرفين منها ثم اضغط على الزر ‪ tab‬فسيظهر لك جميع الوظائف التى تبدأ بهذين‬
‫الحرفين أما إذا لم يكن هناك إل وظيفة واحدة تبدأ بهذين الحرفين سيكمل اسم الوظيفه على‬
‫الفور ‪.‬‬

‫من إمكانيات المحرر ‪ emacs‬البرمجه بلغة ‪ c‬عن طريق الطور ‪ cc-mode‬كما يمكنك‬
‫البرمجه بلغة ‪ java‬عن طريق الطور ‪ java-mode‬وللدخول لتلك الطوار اضغط على ‪alt +‬‬
‫‪ x‬ثم اكتب اسم الطور أو الوظيفة التى تريد أن يقوم بها المحرر ‪. emacs‬‬

‫ومن وظائف المحرر ‪ emacs‬الخرى النتيجة ‪ calendar‬كماسبق وأوضحنا وفى هذا الطور‬
‫يعرض لك الشهر الحالى والسابق واللحق كما يمكنه فى عرض أطوار القمر وعرض التاريخ‬
‫الهجرى والتحويل من هجرى إلى ميلدى‬
‫فمثل إذا أردت معرفة أول يوم فى رمضان وماذا يوافق من أيام التاريخ الميلدى اتبع ما يلى ‪:‬‬
‫اضغط على ‪ alt + x‬ثم اكتب ‪ calendar‬ثم اضغط على ‪ enter‬ثم اضغط على الزر ‪goto‬‬
‫من ‪ tool bar‬العلوى ومنه اختر ‪ islamic date‬ثم اضغط على ‪ enter‬ثم اكتب اسم الشهر‬
‫الذى تريد وهنا سوف نكتب ‪ } ramadan‬وإذا لم تكن تعرف اسم الشهر بالضبط اكتب أول‬
‫حرف منه فيعرض لك جميع الشهر التى تبدأ بهذا الحرف { ثم اضغط على ‪ enter‬ثم أدخل اليوم‬
‫الذى تريد معرفة ما يوافقه فى التاريخ الميلدى وهنا سندخل اليوم رقم ‪ 1‬ثم اضغط على ‪enter‬‬
‫فيضع لك المؤشر على بداية أول يوم فى رمضان ‪.‬‬

‫ملحظة ‪ :‬مع دخولك فى أي طور من أطوار البرنامج تجد أن ‪ tool bar‬العلوى يتغير ‪.‬‬

‫ومن طرائف المحرر ‪ emacs‬طور الطبيب النفسى ؟؟؟!!!‬


‫نعم هناك فى هذا المحرر طور الطبيب النفسى وللدخول إليه اضغط على ‪ alt + x‬ثم اكتب‬
‫‪ doctor‬ثم اضغط على ‪ enter‬ادخل وتابع مع الدكتور ويارب متلقيش عندك أمراض خطيرة‪.‬‬

‫ملحظة ‪ :‬ما تم شرحه فى المحرر ‪ emacs‬يعتبر نبذة عنه فمازال به الكثير والكثير من الوظائف‬
‫والسرار ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪109‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬المحرر ‪: xemacs‬‬
‫يشبه المحرر ‪ xemacs‬المحرر ‪ emacs‬فكلهما يمكن أن يعمل فى نظام النوافذ‬
‫‪ xwindows‬وكذلك فى النمط النصى } فى الترمينال { كما أنهما متشابهان أيضا فى طريقة‬
‫استخدامهما لكن الختلف هو أن المحرر ‪ xemacs‬صمم ليأخذ شكل أفضل فى البيئة‬
‫الرسومية كما أنه يعمل بكفاءة أكثر داخلها ‪ .‬لكن بالرغم من ذلك التشابه الكبير يظل هذان‬
‫المحرران منفصلين ‪.‬‬

‫‪ #‬المحررات الدفقية أو التجاهية ‪:‬‬

‫هى برامج مخصصة لتلقى النص الذى أعيد توجيهه عن طريق المعاملت > أو < أو المعامل‬
‫النبوبى | بهدف فلترة و تغيير النص ومن أمثلة هذه المحررات المحرر ‪sed‬‬

‫‪ #‬المحرر ‪: sed‬‬
‫هو أحد أشهر المحررات الدفقية أو التجاهية لتحرير النصوص بطريقة سريعة من سطر الوامر ‪.‬‬
‫استخدامات المحرر ‪: sed‬‬
‫‪ -1‬يستخدم فى إجراء تعديلت كلية على مستند نصى ‪.‬‬
‫‪ -2‬يستخدم فى إجراء عدة تعديلت كلية على مستند نصى من ‪. script‬‬

‫وفيما يلى سوف نشرح عدة أمثلة لتوضيح تلك الستخدامات ‪:‬‬
‫‪ -1‬إجراء تعديلت كلية على مستند نصى‬

‫مثال ‪ :‬إذا كان لديك ملف اسمه ‪ gamal‬محتواه ما يلى ‪:‬‬

‫‪mr. Ahmed mr. Islame mr. Hazem mr. Hassan‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪110‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫وأردت تحويل كلمة ‪ mr.‬إلى ‪ mrs.‬فى كامل الملف ووضع تلك التغييرات فى ملف جديد‬
‫اسمه ‪ . lila‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> sed s/mr./mrs./g <gamal> lila‬‬

‫ملحظة ‪ :‬ليجوز التغيير فى نفس الملف مباشرة أي لبد من إرسال التغييرات إلى ملف جديد‬
‫وهذا على حد علمى ‪.‬‬

‫‪ -2‬إجراء عدة تعديلت كليه على مستند نصى من ‪. script‬‬

‫مثال ‪ :‬إذا كان لديك ملف نصى اسمه ‪ mando‬محتواه ما يلى ‪:‬‬

‫‪My name is Ahmed Elsayed Ahmed Ali .‬‬


‫‪My operating system is opensuse 11 .‬‬

‫وأردت تغيير السم ‪ ahmed elsayed ahmed ali‬إلى السم ‪hazem‬‬


‫‪ mohammed abas ismail‬ووضع هذه التغييرات فى ملف جديد اسمه ‪ . biso‬ولفعل‬
‫ذلك نقوم بعمل ‪ script‬اسمه ‪ soma.sed‬وامل هذا السكربت بما يلى ‪:‬‬

‫‪s/Ahmed/hazem/‬‬
‫‪s/Elsayed/mohammed/‬‬
‫‪s/Ahmed/abas/‬‬
‫‪s/Ali/ismail/‬‬

‫ملحظة ‪ :‬عند كتابة السكربت يجب مراعاة حالة الحرف هل هى ‪ capital‬ام ‪. small‬‬

‫احفظ هذا السكربت ثم اكتب المر التالى ‪:‬‬

‫‪ahmed@the-game:~> sed -f soma.sed <mando> biso‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪111‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬التدقيق الملئى بواسطة المر ‪: ispell‬‬


‫ويتم باستخدام المر ‪ ispell‬عن طريق قاموس النظام و لمعرفة مكان قاموس النظام اكتب المر‬
‫التالى ‪:‬‬

‫‪ahmed@the-game:~> whereis linux.words‬‬

‫ويحتوى قاموس النظام على آلف الكلمات المدققة إملئيا و المرتبة أبجديا ‪.‬‬

‫وفيما يلى سوف نشرح مثال على استخدام المر ‪ ispell‬لن التجربة خير دليل ‪:‬‬
‫إذا كان لديك ملف نصى اسمه ‪ noga‬يحتوى على نص مكتوب باللغة النجليزية وتريد‬
‫تصحيحه فما عليك إل كتابة المر التالى ‪:‬‬

‫‪ahmed@the-game:~> ispell noga‬‬

‫إذا لم يكن بالملف أية أخطاء فإن البرنامج سيعود لسطر الوامر أما إذا عثر المدقق الملئي على‬
‫أخطاء فإنه يقوم بعرض أول كلمة مغلوطة فى أعلى الشاشة وبجانبها اسم الملف ويتم عرض الكلمة‬
‫المغلوطة ضمن الجملة بالضافة إلى عرض قائمة مرتبة بالكلمات البديلة المقترحة أسفل الجملة‬
‫الموجود بها الكلمة الخاطئة ‪.‬واليك طريقة التعامل مع المدقق الملئي وهى كما يلى ‪:‬‬
‫‪ -a‬لختيار إحدى الكلمات المقترحة أدخل رقمها الموضح فى القائمة ‪.‬‬
‫‪ -b‬للموافقة وعدم تصحيح تلك الكلمة اضغط على المفتاح ‪. a‬‬
‫‪ -c‬لستبدال تلك الكلمة الخاطئة بكلمة أخرى اضغط على المفتاح ‪ r‬وإذا كانت الكلمة البديلة‬
‫خاطئة هى الخرى سيعرض لك قائمة بالكلمات المقترحة ‪.‬‬
‫‪ -d‬لعتبار تلك الكلمة صحيحة وإدراجها داخل القاموس اللغوى للنظام اضغط على المفتاح ‪. I‬‬
‫‪ -e‬للبحث عن الكلمة الصحيحة داخل القاموس اللغوى للنظام باستعمال العلمة * أو مايعرف‬
‫‪ wildcard‬اضغط على المفتاح ‪ L‬ثم أدخل الحروف الولى من الكلمة التى تريد البحث عنها ثم‬
‫اضغط على المفتاح ‪ enter‬واختر مايناسبك ‪.‬‬
‫‪ -f‬للتنقل بين الكلمات الخاطئة دون تصحيحها السهم العلوى ‪. up arraw‬‬
‫‪ -i‬لغلق المدقق الملئي اضغط على المفتاح ‪. q‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪112‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -g‬لطلب المساعدة فى الدقق الملئي اضغط على المفتاح ? ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪113‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل السادس ‪ :‬ادارة القراص الصلبة‬

‫‪ -a‬تقسيم القرص الصلب ‪:‬‬

‫‪ #‬مقدمة ‪:‬‬
‫القراص الصلبة تقع تحت الدليل ‪ /dev‬الذى يحتوى على جميع الجهزة المتصلة بالكمبيوتر مثل‬
‫) كارت الشاشة ‪ vga‬والماسح الضوئى ‪ scanner‬وبطاقات ‪ pci‬وبطاقات الصوت (‪.‬‬
‫قبل البدء فى شرح الوامر الخاصة بتقسيم القرص الصلب أو الهارد يجب معرفة الطريقة التى‬
‫يسمى بها لينكس محركات القراص الصلبة و كذلك كيفية تسمية أقسام القرص الصلب )‬
‫‪. ( physical partition‬‬

‫تسمية القراص الصلبة ‪:‬‬


‫يتم تسمية القرص الصلب و ‪ cd rom‬من نوع ‪ ide‬أو ‪ ata‬كالتالى ‪:‬‬
‫القرص ‪ primary master‬يسمى ‪hda‬‬
‫القرص ‪ primary slave‬يسمى ‪hdb‬‬
‫القرص ‪ secondary master‬يسمى ‪hdc‬‬
‫القرص ‪ secondary slave‬يسمى ‪hdd‬‬

‫حيث ) ‪ primary master‬و ‪ ( secondary master‬يقعان على كابل واحد و )‬


‫‪ primary slave‬و ‪ ( secondary slave‬يقعان على كابل واحد ‪.‬‬

‫يتم تسمية القراص الصلبة من نوع ‪ sata‬كالتالى ‪:‬‬

‫ملحظة ‪ :‬هنا ليوجد ‪ primary‬ول ‪ secondary‬ول ‪ master‬ول ‪. slave‬‬

‫أول هارد ‪ sata‬يسمى ‪sda‬‬


‫ثانى هارد ‪ sata‬يسمى ‪sdb‬‬
‫ثالث هارد ‪ sata‬يسمى ‪ sdc‬وهكذا‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪114‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫اما بالنسبة ‪ cd rom‬من النوع ‪ sata‬فإنها تسمى كالتالى ‪:‬‬


‫أول ‪ cd rom‬يسمى ‪scd1‬‬
‫ثانى ‪ cd rom‬يسمى ‪scd2‬‬
‫ثالث ‪ cd rom‬يسمى ‪ scd3‬وهكذا‬

‫ملحظة ‪ :‬التوزيعات القديمة قبل عام ‪ 2007‬وبعض التوزيعات الجديدة مثل ‪slackware‬‬
‫مازالت تعتمد على الطريقة السابقة فى تسمية القراص الصلبة أما أغلب التوزيعات الجديدة الن‬
‫تسمى جميع القراص الصلبة ‪ sdx‬سواء كانت ‪ ata‬ام ‪ sata‬ولتستخدم تسمية ‪. hdx‬‬

‫تسمية البرتشنات ‪:‬‬


‫هناك أشكال مختلفة لتقسيم القرص الصلب و تختلف تلك الشكال من شخص لخر حسب‬
‫مايراه و تحدد تلك الشكال قاعدتان‬
‫القاعدة الولى ‪ :‬ليجوز لك عمل أكثر من أربع برتشنات ‪. primary‬‬
‫القاعدة الثانية ‪ :‬يجوز لك عمل برتشن واحد ممتد ‪ extended‬يمكن تقسيمه إلى عدد من‬
‫‪. logical partition‬‬
‫‪ -1‬من الممكن عمل أربع برتشنات ‪ primary‬ويكون أسمائهم كالتالى ‪:‬‬
‫‪ sda1‬أول برتشن بريمارى ‪.‬‬
‫‪ sda2‬ثانى برتشن بريمارى ‪.‬‬
‫‪ sda3‬ثالث برتشن بريمارى ‪.‬‬
‫‪ sda4‬رابع برتشن بريمارى ‪.‬‬
‫‪ -2‬من الممكن عمل ثلث برتشنات ‪ primary‬وبرتشن ‪ extended‬وهذا البرتشن سنقسمه‬
‫لعدد معين من البرتشنات ‪ logical‬ويكون أسمائهم كالتالى ‪:‬‬
‫‪ sda1‬أول برتشن بريمارى ‪.‬‬
‫‪ sda2‬ثانى برتشن بريمارى ‪.‬‬
‫‪ sda3‬ثالث برتشن بريمارى ‪.‬‬
‫‪ sda4‬برتشن ‪. extended‬‬
‫‪ sda5‬أول برتشن ‪logical‬‬
‫‪ sda6‬ثانى برتشن ‪logical‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪115‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ sda7‬ثالث برتشن ‪ logical‬وهكذا ‪.‬‬


‫‪ -3‬والشائع استخدامه هو عمل برتشن واحد ‪ primary‬والباقى يتم عمله برتشن ‪ extended‬و‬
‫يكون اسمه ‪ /dev/sda2‬وهذا البرتشن سنقسمه إلى عدد معين من البرتشنات ‪. logical‬‬

‫ملحظات قبل التقسيم ‪:‬‬


‫قبل تقسيم القرص الصلب يجب إلغاء ضمه بواسطة المر ‪ umount‬متبوعا بنقطة الضم ‪.‬‬
‫فمثل للغاء ضم البرتشن ‪ hda1‬بفرض أن نقطة ضم ذلك البرتشن هى ‪/mnt/win-xp‬‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # umount /mnt/win-xp‬‬

‫‪ #‬المر ‪: fdisk‬‬
‫يستخدم هذا المر لتقسيم الهارد فقط أي ليقوم بتهيئة القرص الصلب وهنا يجب التفرقة بين‬
‫التقسيم و التهيئة ‪.‬‬
‫تعرف على برنامج ‪: fdisk‬‬
‫‪ -a‬لمعرفة القراص الصلبة المتصلة بالكمبيوتر اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # fdisk -l‬‬

‫‪ -b‬لتقسيم قرص صلب بفرض أن اسمه ‪ /dev/sdc‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # fdisk /dev/sdc‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪The number of cylinders for this disk is set to 19457.‬‬


‫‪There is nothing wrong with that, but this is larger than 1024,‬‬
‫‪and could in certain setups cause problems with:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪116‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

1) software that runs at boot time (e.g., old versions of LILO)


2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

: ‫ فتكون النتيجة كما يلى‬fdisk ‫ لطباعة خيارات المر‬m ‫ اكتب الحرف‬-c

Command (m for help): m


Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help):

: fdisk ‫و فيما يلى شرح لبعض خيارات المر‬

‫دليل المستخدم العربى فى أوامر لينكس‬ 117


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫اضغط على المفتاح ‪ d‬لحذف قسم أو برتشن ‪.‬‬


‫اضغط على المفتاح ‪ l‬لعرض أنواع التقسيمات التى يمكن عملها ‪.‬‬
‫اضغط على المفتاح ‪ n‬لعمل قسم أو برتشن جديد ‪.‬‬
‫اضغط على المفتاح ‪ p‬لطباعة التقسيمات أو البرتشنات الحالية ‪.‬‬
‫اضغط على المفتاح ‪ t‬لتحديد نوع نظام الملفات لرشاد ويندوز وليس للتهيئة ‪.‬‬
‫اضغط على المفتاح ‪ v‬للتأكد و التحقق من جدول البرتشنات ‪.‬‬
‫اضغط على المفتاح ‪ m‬لطباعة صفحة المساعدة السابقة ‪.‬‬
‫اضغط على المفتاح ‪ x‬يعطيك وظائف أكثر ) للمستخدمين ذوى الخبرة ( ‪.‬‬
‫اضغط على المفتاح ‪ w‬لتنفيذ التغيرات ‪.‬‬
‫اضغط على المفتاح ‪ q‬للخروج دون تنفيذ أي تغيير ‪.‬‬

‫والن نأتي لكيفية استخدام المر ‪ fdisk‬فى تقسيم القرص الصلب وسوف نشرح هذا المر بمثال‬
‫للتوضيح ‪.‬‬
‫بفرض أن أحد أصدقائك أعطاك قرصا صلبا وطلب منك تقسيمه وكان هذا القرص مكونا من ‪4‬‬
‫برتشنات منهم برتشن ‪ primary‬و ثلث برتشنات ‪ . logical‬فكيف ستتم عملية التقسيم ؟‬
‫تتم عملية التقسيم كالتالى ‪:‬‬
‫‪ -1‬اعرف اسم الهارد الذي ستقوم بتقسيمه وذلك بواسطة الخيار ‪ -l‬كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # fdisk -l‬‬

‫‪ -2‬ابدأ التقسيم وذلك بكتابة اسم القرص الصلب بعد المر ‪ fdisk‬مباشرة ) بفرض أن القرص‬
‫الصلب الذى سيتم تقسيمه ‪ ( /dev/sdb‬كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # fdisk /dev/sdb‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪The number of cylinders for this disk is set to 19457.‬‬


‫‪There is nothing wrong with that, but this is larger than 1024,‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪118‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪and could in certain setups cause problems with:‬‬


‫)‪1) software that runs at boot time (e.g., old versions of LILO‬‬
‫‪2) booting and partitioning software from other OSs‬‬
‫)‪(e.g., DOS FDISK, OS/2 FDISK‬‬

‫‪Command (m for help):‬‬

‫‪ -3‬قم بمسح جميع البرتشنات الموجوده بفرض أن الهارد مكون من ‪ 3‬برتشنات البرتشن الول‬
‫‪ primary‬والبرتشنين الخرين ‪ ) logical‬وذلك إذا كان الهارد قديما أما إذا كان الهارد‬
‫جديدا فلن نلجأ لتلك الخطوه ( وذلك بالضغط على المفتاح ‪ d‬كما يلى ‪:‬‬

‫‪Command (m for help): d‬‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪Partition number (1-6):‬‬

‫‪ -4‬أدخل رقم البرتشن المراد مسحه طبعا سيتم مسح جميع البرتشنات فى هذا المثال وأرقام‬
‫البرتشنات هى ) أول برتشن ‪ primary‬رقم ‪ 1‬و البرتشن الممتد ‪ extended‬رقم ‪ 2‬و‬
‫البرتشنين ‪ logical‬أرقامهم ‪ 5‬و ‪ 6‬على الترتيب ( بعد إدخال رقم البرتشن اضغط على المفتاح‬
‫‪ enter‬وهكذا يتم مسح جميع البرتشنات ‪.‬‬

‫‪ -5‬اضغط على المفتاح ‪ w‬ليتم تنفيذ عملية المسح ‪.‬‬

‫‪ -6‬أنشئ البرتشنات الجديدة التى تريد وهنا سوف أنشئ ‪ 4‬برتشنات الول ‪ primary‬والباقى‬
‫سيتم عمله برتشن ممتد ‪ extended‬ومنه سيتم عمل ‪ 3‬برتشنات ‪ . logical‬وعملية النشاء‬
‫ستتم بالضغط على المفتاح ‪ n‬وذلك كما يلى ‪:‬‬

‫‪Command (m for help): n‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪119‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة كما يلى ‪:‬‬

‫‪Command action‬‬
‫‪e extended‬‬
‫)‪p primary partition (1-4‬‬

‫اضغط على المفتاح ‪ p‬لنشاء برتشن ‪ primary‬وستجد أنه يسألك عن رقم البرتشن المراد‬
‫إنشاؤه وذلك كما يلى ‪:‬‬

‫‪p‬‬
‫‪Partition number (1-4):‬‬

‫ادخل الرقم ‪ 1‬لننا سنشئ أول برتشن ‪ primary‬وستجد أنه يسألك عن بداية البرتشن اضغط‬
‫على المفتاح ‪ enter‬ليبدأ البرتشن مع البداية الفتراضية وذلك كما يلى ‪:‬‬

‫‪Partition number (1-4): 1‬‬


‫‪First cylinder (1-77545, default 1):‬‬
‫‪Using default value 1‬‬
‫‪Last cylinder or +size or +sizeM or +sizeK (1-77545, default 77545):‬‬

‫بعد ذلك يسألك عن نهاية البرتشن ) يعنى من الخر هنا نحدد حجم البرتشن ( ويخبرك أنك‬
‫بإمكانك إدخال حجم البرتشن بالكيلو بايت أو بالميجا بيت فمثل إذا كنت ستنشئ البرتشن‬
‫بحجم ‪ 10‬جيجا يمكنك وضع الحجم بالميجا كالتالى‬
‫‪+10000M‬‬

‫‪Last cylinder or +size or +sizeM or +sizeK (1-77545, default 77545): +10000M‬‬


‫‪http://linuxac.org/‬‬
‫‪Command (m for help):‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪120‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫والن نأتي لنشاء البرتشن الممتد ‪ extended‬وذلك بالضغط على المفتاح ‪ n‬ثم الضغط على‬
‫المفتاح ‪ e‬لعمل برتشن ممتد ثم أدخل رقم ‪ 2‬حيث أن البرتشن الممتد هو ‪ sda2‬ثم اضغط‬
‫على المفتاح ‪ enter‬مرتين لكى يتم عمل كل المساحة المتبقية برتشن واحد ممتد وذلك كما‬
‫يلى ‪:‬‬

‫‪Command (m for help): n‬‬


‫‪Command action‬‬
‫‪e extended‬‬
‫)‪p primary partition (1-4‬‬
‫‪e‬‬
‫‪Partition number (1-4): 2‬‬
‫‪First cylinder (19378-77545, default 19378):‬‬
‫‪Using default value 19378‬‬
‫‪Last cylinder or +size or +sizeM or +sizeK (19378-77545, default 77545):‬‬
‫‪Using default value 77545‬‬

‫والن نأتي لنشاء البرتشنات ‪ logical‬وسأكتفى بشرح بشرح كيفية إنشاء برتشن ‪logical‬‬
‫واحد ‪.‬‬

‫اضغط على المفتاح ‪ n‬ثم الضغط على المفتاح ‪ l‬لعمل برتشن ‪ logical‬ثم اضغط على المفتاح‬
‫‪ enter‬ليبدأ البرتشن مع البداية الفتراضية وذلك كما يلى ‪:‬‬

‫‪Command (m for help): n‬‬


‫‪Command action‬‬
‫)‪l logical (5 or over‬‬
‫)‪p primary partition (1-4‬‬
‫‪l‬‬
‫‪First cylinder (19378-77545, default 19378):‬‬
‫‪Using default value 19378‬‬
‫‪Last cylinder or +size or +sizeM or +sizeK (19378-77545, default 77545):‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪121‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫بعد ذلك يسألك عن نهاية البرتشن ) يعنى من الخر هنا نحدد حجم البرتشن ( ويخبرك أنك‬
‫بإمكانك إدخال حجم البرتشن بالكيلو بايت أو بالميجا بيت فمثل إذا كنت ستنشئ البرتشن‬
‫ جيجا يمكنك وضع الحجم بالميجا كالتالى‬15 ‫بحجم‬
+15000M

Last cylinder or +size or +sizeM or +sizeK (1-77545, default 77545): +15000M

Command (m for help):

‫ ليتم حفظ وتفعيل العمليات التى‬w ‫بعد النتهاء من إنشاء جميع البرتشنات اضغط على المفتاح‬
. ‫قمت بها‬

‫بعد النتهاء من عملية التقسيم يتبقى لنا أمر أخير وهو تحديد نوع البرتشنات لرشاد ويندوز‬
‫ ولظهار جدول به أنواع البرتشنات المتاحة استخدم‬t ‫ ويتم ذلك عن طريق الخيار‬. ‫ليس إل‬
: ‫ وذلك كما يلى‬l ‫الخيار‬

Command (m for help): l

0 Empty 1e Hidden W95 FAT1 80 Old Minix be Solaris boot


1 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
5 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx
6 FAT16 42 SFS 86 NTFS volume set da Non-FS data
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor

‫دليل المستخدم العربى فى أوامر لينكس‬ 122


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs


f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c Hidden W95 FAT3 75 PC/IX

Command (m for help):

‫ونلحظ أن أمام كل نوع برتشن ) رقم أو حرف أو حرف مع رقم ( وهذا هو ماسندخله عند‬
‫ والن نريد تحديد أنواع البرتشنات الربعة بحيث يكون هناك برتشن‬. ‫اختيار نوع البرتشن‬
. swap ‫ وبرتشن‬ext3 ‫ وبرتشنين‬vfat

: ‫ اتبع ما يلى‬vfat ‫لتحديد نوع البرتشن ليكون‬


‫ ثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هو‬enter ‫ ثم اضغط‬t ‫اضغط على المفتاح‬
c ‫ ثم اضغط على المفتاح‬enter ‫ اضغط على‬1 ‫البرتشن رقم‬

Command (m for help): t


Partition number (1-7): 1
Hex code (type L to list codes): c
Changed system type of partition 5 to c (W95 FAT32 (LBA))
: ‫ اتبع ما يلى‬extended ‫لتحديد نوع البرتشن الممتد‬

‫ ثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هو‬enter ‫ ثم اضغط‬t ‫اضغط على المفتاح‬
f ‫ ثم اضغط على المفتاح‬enter ‫ ثم اضغط‬2 ‫البرتشن رقم‬

‫دليل المستخدم العربى فى أوامر لينكس‬ 123


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪Command (m for help): t‬‬


‫‪Partition number (1-7): 2‬‬
‫‪Hex code (type L to list codes): f‬‬
‫))‪Changed system type of partition 5 to c (W95 FAT32 (LBA‬‬

‫لتحديد نوع البرتشن ليكون ‪ ext3‬اتبع ما يلى ‪:‬‬

‫اضغط على المفتاح ‪ t‬ثم اضغط ‪ enter‬ثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هو‬
‫البرتشن رقم ‪ 5‬ثم اضغط ‪ enter‬ثم اضغط على المفتاح ‪83‬‬

‫‪Command (m for help): t‬‬


‫‪Partition number (1-7): 5‬‬
‫‪Hex code (type L to list codes): 83‬‬
‫))‪Changed system type of partition 5 to c (W95 FAT32 (LBA‬‬

‫لتحديد نوع البرتشن ليكون ‪ swap‬اتبع ما يلى ‪:‬‬

‫اضغط على المفتاح ‪ t‬ثم اضغط ‪ enter‬ثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هو‬
‫البرتشن رقم ‪ 6‬ثم اضغط ‪ enter‬ثم اضغط على المفتاح ‪82‬‬

‫‪Command (m for help): t‬‬


‫‪Partition number (1-7): 6‬‬
‫‪Hex code (type L to list codes): 82‬‬
‫))‪Changed system type of partition 5 to c (W95 FAT32 (LBA‬‬

‫اضغط على المفتاح ‪ w‬ثم اضغط على المفتاح ‪ q‬وذلك للحفظ و الخروج وذلك كما يلى ‪:‬‬

‫‪Command (m for help): wq‬‬


‫!‪The partition table has been altered‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪124‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪Calling ioctl() to re-read partition table.‬‬

‫‪WARNING: If you have created or modified any DOS 6.x‬‬


‫‪partitions, please see the fdisk manual page for additional‬‬
‫‪information.‬‬
‫‪Syncing disks.‬‬

‫وبذلك نكون قد انتهينا من تقسيم القرص الصلب ‪.‬‬

‫‪#‬المر ‪: cfdisk‬‬
‫يستخدم هذا المر لتقسيم الهارد فقط أي ليقوم بتهيئة القرص الصلب تماما مثل المر ‪fdisk‬‬
‫لكنه أسهل من سابقه المر ‪ . fdisk‬وذلك لن له واجهة سهلة ومرتبة تعمل السهم بداخلها‬
‫لختيار العملية التى تريد تنفيذها وكل ذلك من داخل الترمينال‬
‫كما يتميز ذلك المر بعرض مساحة البرتشنات بالميجا بايت ‪.‬‬

‫وطريقة تشغيل البرنامج سهلة فقط اكتب المر ‪ cfdisk‬وأنت مستخدم جذر وذلك كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # cfdisk‬‬

‫فتظهر واجهة البرنامج فى الترمينال وهى بالشكل التالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪125‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫و العمليات التى يمكن إجراؤها تكون فى الجزء السفلى من البرنامج و يمكن اختيار أي عملية‬
‫تريد إجراءها من خلل السهم ) ‪ right arraw‬و ‪ ( left arraw‬ويمكن النتقال بين‬
‫البرتشنات عن طريق السهم ) ‪ up arraw‬و ‪ ( down arraw‬وطبعا البرنامج سهل جدا ل‬
‫يحتاج لشرح‬

‫‪ -b‬تهيئة برتشنات القرص الصلب ‪:‬‬

‫‪#‬مجموعة أوامر ‪: mkfs‬‬


‫يستخدم هذا المر لتهيئة البرتشنات بمعنى أنه يقوم ببناء نظام الملفات للبرتشنات ‪formatting‬‬
‫ومجموعة أوامر ‪ mkfs‬هى ‪:‬‬

‫‪mkfs‬‬ ‫‪mkfs.cramfs mkfs.ext3‬‬ ‫‪mkfs.msdos‬‬ ‫‪mkfs.reiserfs mkfs.xfs‬‬


‫‪mkfs.bfs‬‬ ‫‪mkfs.ext2‬‬ ‫‪mkfs.minix‬‬ ‫‪mkfs.ntfs‬‬ ‫‪mkfs.vfat‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪126‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫ومن ماسبق يتضح أن المر ‪ mkfs‬يمكنه تهيئة البرتشنات بنظم ملفات كثيره فمثل ‪:‬‬

‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ ext3‬استخدم المر ‪. mkfs.ext3‬‬


‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ ext2‬استخدم المر ‪. mkfs.ext2‬‬
‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ xfs‬استخدم المر ‪. mkfs.xfs‬‬
‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ reiserfs‬استخدم المر ‪. mkfs.reiserfs‬‬
‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ minix‬استخدم المر ‪. mkfs.minix‬‬
‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ vfat‬استخدم المر ‪. mkfs.vfat‬‬
‫‪#‬لتهيئة البرتشن بنظام ملفات ‪ ntfs‬استخدم المر ‪. mkfs.ntfs‬‬

‫ملحظة ‪ :‬قبل استعمال المر ‪ mkfs‬يجب إلغاء ربط البرتشن المراد تهيئته عن طريق المر‬
‫‪ umount‬فمثل للغاء ضم البرتشن ‪ /dev/sda1‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # umount /dev/sda1‬‬

‫المر ‪ mkfs‬من الوامر السهلة و السريعة فى الستخدام‬


‫فمثل إذا أردت تهيئة البرتشن ‪ /dev/sda1‬بنظام ملفات ‪ ext3‬ماعليك إل أن تكتب ما يلى‬
‫‪:‬‬

‫‪the-game:/home/ahmed # mkfs.ext3 /dev/sda1‬‬

‫مثال آخر ‪ :‬إذا أردت تهيئة البرتشن ‪ /dev/sda5‬بنظام ملفات ‪ fat32‬ماعليك إل أن تكتب‬
‫ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # mkfs.vfat /dev/sda5‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪127‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪-c‬ربط محرك أقراص جديد ) ربط البرتشنات (‬

‫نعنى بربط محرك أقراص جديد هو جعل أقسامه أو برتشناته ظاهرة أو مقروءة فى النظام ‪.‬‬
‫ويجب قبل البدء فى عملية الربط معرفة نظام ملفات البرتشن المراد ربطه وكذلك اسمه مثل‬
‫‪ sda1‬أو ‪. sdc7‬‬
‫وربط البرتشنات نوعين ‪:‬‬
‫‪ -1‬ربط مؤقت ‪ :‬ويتم عن طريق المر ‪ mount‬وعمل نقطة ربط وبمجرد إعادة تشغيل الجهاز‬
‫يزول الربط ‪.‬‬
‫‪ -2‬ربط دائم ‪ :‬ويتم عن طريق إضافة أسطر للملف ‪ fstab‬وعمل نقطة ربط وتتميز‬
‫تلك الطريقة بأنها توفر ربطا دائما للبرتشن أي أنك لن تضطر لربط البرتشن بها ال مرة واحدة ولن‬
‫يضيع الربط عند إعادة تشغيل الجهاز ‪.‬‬

‫وسواء كان الربط دائما أو مؤقتا يجب عمل نقطة ربط ليتم ربط البرتشن بها ‪.‬‬
‫لكن ماهى نقطة الربط هذه ؟‬
‫نقطة الربط هى المكان الذى سيـربط فيه البرتشن وهى عبارة عن مجلد فارغ وتكون عادة نقطة‬
‫الربط فى المسار ‪ /mnt‬وأحيانا تكون فى ‪. /media‬‬

‫ملحظة ‪ :‬ليمكن ربط أكثر من برتشن فى مجلد واحد أو فى نقطة ربط واحدة بل لبد من‬
‫ربط كل برتشن فى مجلد منفصل ‪ .‬ولكن يجوز ربط برتشن واحد فى نقطتى ربط أو‬
‫مجلدين على أن ل يكون هذا البرتشن هو برتشن النظام أو ‪. root‬‬

‫خطوات ربط البرتشنات مؤقتا ‪:‬‬


‫‪ -1‬ادخل وأنت ‪ root‬واكتب المر ‪ fdisk -l‬لمعرفة عدد وأسماء البرتشنات المراد ربطها‬
‫وكذلك أنظمة ملفاتها وذلك كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # fdisk -l‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪128‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -2‬قم بانشاء نقطة ربط لكل برتشن فى المجلد ‪ /mnt‬وسمها بأى اسم عن طريق المر‬
‫‪ mkdir‬وذلك كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # mkdir /mnt/movie‬‬

‫حيث المجلد ‪ movie‬هو نقطة ربط البرتشن المراد ربطه ‪.‬‬


‫ملحظة ‪ :‬ليمكنك ربط البرتشن الممتد ‪ . extended‬لكن الربط يكون للبرتشنات ‪logical‬‬
‫و ‪. primary‬‬

‫‪ -3‬استخدم المر ‪ mount‬لربط البرتشنات فمثل إذا كان لديك برتشن اسمه ‪ sda1‬نظام‬
‫ملفاته ‪ fat32‬تريد ربطه فى المجلد ‪ movie‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # mount -t vfat /dev/sda1 /mnt/movie‬‬

‫حيث ‪ vfat‬هو نظام ملفات البرتشن ‪ sda1‬المراد ربطه و ‪ movie‬هو نقطة ربط البرتشن‬
‫‪. sda1‬‬
‫مثال آخر ‪ :‬إذا كان لديك برتشن اسمه ‪ sda9‬نظام ملفاته ‪ ext3‬تريد ربطه فى المجلد ‪song‬‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # mount -t ext3 /dev/sda9 /mnt/song‬‬

‫خطوات ربط البرتشنات بصورة دائمة ‪:‬‬


‫‪ -1‬الخطوه الولى كما هى ‪.‬‬
‫‪ -2‬الخطوه الثانية كما هى ‪.‬‬
‫‪ -3‬افتح الملف ‪ /etc/fstab‬بأى محرر نصوص وليكن ‪ mcedit‬و عدل فيه ‪.‬‬
‫مثال ‪ :‬إذا كان لديك برتشن اسمه ‪ sda1‬نظام ملفاته ‪ fat32‬و نقطة الربط الخاصة به هى ‪win-‬‬
‫‪ xp‬وتريد ربط هذا البرتشن ربطا دائما ‪ .‬فما عليك إل إضافة السطر التالى إلى الملف ‪: fstab‬‬

‫‪/dev/sda1 /mnt/win-xp vfat‬‬ ‫‪user,users,gid=users,umask=0002,utf8=true 0 0‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪129‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫حيث ‪ /dev/sda1‬هو اسم البرتشن المراد ربطه و ‪ /mnt/win-xp‬هو مكان الربط و ‪vfat‬‬
‫هو نظام ملفات البرتشن المراد ربطه و‬
‫‪ user,users,gid=users,umask=0002,utf8=true‬لدعم الينيكود و للسماحيات‬
‫و ‪ 0 0‬للغاء عمل فحص للقرص الصلب كل مده ‪.‬‬

‫مثال آخر ‪ :‬إذا كان لديك برتشن اسمه ‪ sda9‬نظام ملفاته ‪ ext3‬و نقطة الربط الخاصة به هى‬
‫‪ collection1‬وتريد ربط هذا البرتشن ربط دائم ‪ .‬فما عليك إل إضافة السطر التالى إلى الملف‬
‫‪: fstab‬‬

‫‪/dev/sda9 /mnt/collection1‬‬ ‫‪ext3‬‬ ‫‪user,acl‬‬ ‫‪12‬‬

‫حيث ‪ /dev/sda9‬هو اسم البرتشن المراد ربطه و ‪ /mnt/collection1‬هو مكان الربط و‬


‫‪ ext3‬هو نظام ملفات البرتشن المراد ربطه و ‪ user,acl‬للسماحيات‬

‫‪ #‬المر ‪: df‬‬
‫يستخدم لمعرفة المساحة الخالية و المستخدمة و الكلية لجميع البرتشنات المركبة أو المربوطة ‪.‬‬
‫‪ -1‬لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة وكذلك نقطة ربط‬
‫كل برتشن اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> df‬‬

‫فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر ‪:‬‬

‫‪Filesystem‬‬ ‫‪1K-blocks‬‬ ‫‪Used Available Use% Mounted on‬‬


‫‪/dev/sda6‬‬ ‫‪16038660 7988796 8049864 50% /‬‬
‫‪udev‬‬ ‫‪257444‬‬ ‫‪128 257316 1% /dev‬‬
‫‪/dev/sda7‬‬ ‫‪15709328 11437028 4272300 73% /mnt/linux‬‬
‫‪/dev/sda9‬‬ ‫‪45664047 40898551 2445310 95% /mnt/collection1‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪130‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪/dev/sda10‬‬ ‫‪45371559 36532190 6534044 85% /mnt/collection2‬‬


‫‪/dev/sda5‬‬ ‫‪20681568 18167264 2514304 88% /mnt/games‬‬
‫‪/dev/sda1‬‬ ‫‪9260408 7814048 1446360 85% /mnt/win-xp‬‬

‫‪ -2‬لعرض المساحة الكلية و المستخدمة و الخالية لبرتشن معين وليكن ‪ sda9‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> df /dev/sda9‬‬

‫فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر ‪:‬‬

‫‪/dev/sda9‬‬ ‫‪45664047 40898551 2445310 95% /mnt/collection1‬‬

‫‪ -3‬لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة بحيث يتم عرض‬
‫المساحة بصورة مفهومة ) بالجيجا أو بالميجا ( وكذلك نقطة ربط كل برتشن اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> df -h‬‬

‫فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر ‪:‬‬

‫‪Filesystem‬‬ ‫‪Size Used Avail Use% Mounted on‬‬


‫‪/dev/sda6‬‬ ‫‪16G 7.7G 7.7G 50% /‬‬
‫‪udev‬‬ ‫‪252M 128K 252M 1% /dev‬‬
‫‪/dev/sda7‬‬ ‫‪15G 11G 4.1G 73% /mnt/linux‬‬
‫‪/dev/sda9‬‬ ‫‪44G 40G 2.4G 95% /mnt/collection1‬‬
‫‪/dev/sda10‬‬ ‫‪44G 35G 6.3G 85% /mnt/collection2‬‬
‫‪/dev/sda5‬‬ ‫‪20G 18G 2.4G 88% /mnt/games‬‬
‫‪/dev/sda1‬‬ ‫‪8.9G 7.5G 1.4G 85% /mnt/win-xp‬‬

‫‪ -4‬لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة بحيث يتم عرض‬
‫المساحة بصورة مفهومة ) بالجيجا أو بالميجا ( لكنه يستخدم ‪ 1000‬بدل من ‪ ) 1024‬أي يعتبر‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪131‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

: ‫ ( ميجا وكذلك نقطة ربط كل برتشن اكتب ما يلى‬1000 = ‫الجيجا‬

ahmed@the-game:~> df -H

: ‫فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر‬

Filesystem Size Used Avail Use% Mounted on


/dev/sda6 17G 8.2G 8.3G 50% /
udev 264M 132k 264M 1% /dev
/dev/sda7 17G 12G 4.4G 73% /mnt/linux
/dev/sda9 47G 42G 2.6G 95% /mnt/collection1
/dev/sda10 47G 38G 6.7G 85% /mnt/collection2
/dev/sda5 22G 19G 2.6G 88% /mnt/games
/dev/sda1 9.5G 8.1G 1.5G 85% /mnt/win-xp

‫ لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة مع عرض نظام ملفات‬-5
: ‫كل برتشن بجانبه وكذلك نقطة ربط كل برتشن اكتب ما يلى‬

ahmed@the-game:~> df -T

: ‫فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر‬

Filesystem Type 1K-blocks Used Available Use% Mounted on


/dev/sda6 xfs 16038660 7999984 8038676 50% /
udev tmpfs 257444 128 257316 1% /dev
/dev/sda7 xfs 15709328 11437028 4272300 73% /mnt/linux
/dev/sda9 ext3 45664047 40898551 2445310 95% /mnt/collection1
/dev/sda10 ext3 45371559 36532190 6534044 85% /mnt/collection2
/dev/sda5 vfat 20681568 18167264 2514304 88% /mnt/games
/dev/sda1 vfat 9260408 7814048 1446360 85% /mnt/win-xp

‫دليل المستخدم العربى فى أوامر لينكس‬ 132


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪133‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل السابع ‪ :‬ادارة المستخدمين و المجموعات‬

‫‪ #‬مقدمة ‪:‬‬
‫المستخدم ‪ :‬هوشخص معرف فى النظام بتعريف وحيد مكون من اسم و رقم بحيث ل يتشابه‬
‫أي اثنين من المستخدمين فى التعريف الخاص بهما ‪.‬‬

‫المجموعة ‪ :‬هى تجمع من المستخدمين معرف فى النظام بتعريف وحيد مكون من اسم و رقم‬
‫بحيث ل يتشابه أي مجموعتين مع بعضهما فى التعريف الخاص بهما ‪.‬‬

‫ولكل مستخدم ولكل مجموعة حزمة من الصلحيات أو السماحيات ‪.‬‬

‫العناصر اللزمة لتعريف المستخدم ‪:‬‬


‫‪ login‬اسم الدخول ويستخدم للدخول للنظام ول يجوز أن يشترك مستخدمان فى نفس السم‬
‫‪.‬‬
‫‪ Passwd‬كلمة المرور وتستخدم للدخول للنظام ‪.‬‬
‫‪ UID‬هو رقم مقترن باسم الدخول ‪ login‬وهو اختصار لكلمتى ‪. user identification‬‬
‫‪ GID‬هو رقم مقترن باسم المجموعة التى ينتمى إليها المستخدم وهو اختصار لكلمتى ‪group‬‬
‫‪. identification‬‬
‫‪ Comment‬وصف المستخدم أو التعليق وليشترط كتابته ‪.‬‬
‫‪ Home directory path‬مسار الدليل الموطن للمستخدم ‪.‬‬
‫‪ Sell‬الصدفة التى يجرى تنفيذها تلقائيا عند دخول المستخدم إلى النظام ويكون عادة‬
‫‪. /bin/bash‬‬

‫الملفات الخاصة بالمستخدمين ‪:‬‬


‫‪ /etc/passwd‬ويحتوى هذا الملف على معلومات كل مستخدم ‪.‬‬
‫‪ /etc/shadow‬ويحتوى هذا الملف على معلومات سرية تخص المستخدمين ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪134‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫العناصر اللزمة لتعريف المجموعة ‪:‬‬


‫‪ name‬اسم المجموعة ويستخدم للدخول إلى المجموعة ول يجوز ان تشترك مجموعتان فى‬
‫نفس السم ‪.‬‬
‫‪ Passwd‬كلمة المرور وتستخدم للوصول للمجموعة ‪ .‬وفى اغلب الحيان ليخصص‬
‫‪ passwd‬للمجموعة ‪.‬‬
‫‪ GID‬تعريف المجموعة وهو رقم مقترن باسم المجموعة ول يجوز ان تحمل مجموعتين نفس‬
‫الرقم ‪.‬‬
‫‪ User list‬قائمة المستخدمين المشتركين فى المجموعة ‪.‬‬

‫الملفات الخاصة بالمجموعات ‪:‬‬


‫‪ /etc/groub‬ويحتوى هذا الملف على معلومات كل مجموعة ‪.‬‬
‫‪ /etc/gshadow‬ويحتوى هذا الملف على معلومات سريه تخص المجموعات و بعض‬
‫التوزيعات ل تعتمد على ذلك الملف مثل ‪. suse‬‬

‫ملحظات ‪:‬‬
‫‪ #‬للمستخدم اسم و رقم فالمستخدم يستعمل اسمه فى التعامل مع النظام و النظام يستعمل رقم‬
‫هذا المستخدم ‪ UID‬فى عملياته أي أن جميع العمليات التى يقوم بها المستخدم تكون بالعتماد‬
‫على رقمه فقط فالبرامج و الوامر لتعرف السماء ‪.‬‬

‫‪ #‬لتغير رقم ‪ UID‬للمستخدم ولكن يمكنك تغيير اسم المستخدم فقط وذلك لن النظام يربط‬
‫ملكية الملفات برقم التعريف ‪ UID‬وليس باسم الدخول فإذا قمت بتغيير رقم المستخدم‬
‫ستتسبب فى فقدان ذلك المستخدم لملكية جميع ملفاته ‪.‬‬

‫‪ #‬اسم الدخول يجب أن ليحتوى على أحرف عربية وإنما يحتوى على أحرف إنجليزية و أرقام ‪.‬‬

‫‪ #‬يتم كتابة ‪ home directory path‬كالتالى ‪. /home/login‬‬

‫‪ #‬قائمة الصدفات المتوفرة فى لينكس توجد فى الملف ‪. /etc/shells‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪135‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬يجب أن ليقل طول كلمة المرور عن ستة أحرف ويسمح فى كلمة السر بالحرف الكابيتال‬
‫و السمول و الرقام و العلمات والمسافات ‪.‬‬

‫‪ #‬إضافة و تعديل و حذف المستخدمين ‪ user adminstration‬باستخدام سطر الوامر ‪:‬‬


‫‪ ) user adminstration‬إدارة المستخدمين ( ‪:‬‬
‫هى اداره حساب المستخدمين و المجموعات و الذى يشمل ) إنشاء حساب جديد و التعديل‬
‫على حساب موجود مسبقا و حذف حساب و إيقاف الحساب مؤقتا ( ‪.‬‬

‫‪ -a‬أوامر التعامل مع المجموعات ‪:‬‬

‫اخترنا أول التعامل مع المجموعات لنك لن يمكنك إضافة أي مستخدم إل بوجود مجموعة‬
‫تضمه ‪ .‬وسنتكلم فى هذا الجزء عن أربعة أشياء ) إنشاء مجموعة – تعديل مجموعة – حذف‬
‫مجموعة – الملفات الخاصة بالمجموعات ( ‪.‬‬

‫‪ - 1‬إنشاء مجموعة باستخدام المر ‪: groupadd‬‬


‫‪ -1‬إذا أردت إنشاء مجموعة اسمها ‪ friends‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupadd friends‬‬

‫وتكون النتيجة هى إنشاء مجموعة اسمها ‪ Friends‬مع إعطائها رقم ‪ GID‬تسلسلى ‪.‬‬

‫‪ -2‬إذا أردت إنشاء مجموعة اسمها ‪ era‬مع اعطائها رقم ‪ GID‬غير الرقم التسلسلى وليكن ‪560‬‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupadd -g 560 era‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪136‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫ملحظة ‪ :‬المجموعات التى أرقامها أقل من ‪ 500‬هى مجموعات خاصة بالنظام أما المجموعات‬
‫التى أرقامها أكبر من ‪ 500‬هى مجموعات مستخدمين ‪.‬‬
‫‪ -3‬إذا أردت إنشاء مجموعة اسمها ‪ bomba‬وجعلها من ضمن مجموعات النظام والتى تأخذ‬
‫أرقام ‪ GID‬أقل من ‪ 500‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupadd -r bomba‬‬

‫‪ -4‬إذا أردت إنشاء مجموعتين لهما نفس رقم ‪ GID‬اتبع ما يلى ‪:‬‬
‫مثل إذا أردت إنشاء مجموعتين الولى اسمها ‪ hhh‬والثانيه اسمها ‪ hbk‬بحيث تحمل‬
‫المجموعتان نفس رقم ‪ GID‬وليكن الرقم ‪ 800‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupadd -g 800 hhh‬‬


‫‪the-game:/home/ahmed # groupadd -g 800 hbk -o‬‬

‫‪ - 2‬تعديل المجموعات باستخدام المر ‪: groupmod‬‬


‫‪ -1‬إذا أردت تغيير رقم المجموعة ‪ friends‬التى تم إنشاؤها سابقا إلى الرقم ‪ 900‬اكتب ما‬
‫يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupmod -g 900 friends‬‬

‫‪ -2‬إذا أردت تعديل رقم مجموعة وإعطائها نفس رقم مجموعة أخرى اتبع ما يلى ‪:‬‬
‫مثل إذا كان لديك مجموعة اسمها ‪ era‬تحمل رقم ‪ 560‬وكانت لديك مجموعة أخرى اسمها‬
‫‪ friends‬تحمل الرقم ‪ 900‬وأردت تغيير رقم المجموعة ‪ era‬لتحمل الرقم ‪ 900‬اكتب ما‬
‫يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupmod -g 900 era -o‬‬

‫ملحظة مهمة ‪ :‬تغيير رقم المجموعة أمر خطير لن كل الملفات السابقة للتغيير ستظل محتفظة‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪137‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫برقمها الول مما يعنى وجود ملفات لمجموعة ليست موجودة ‪.‬‬

‫‪ -3‬إذا أردت تغيير اسم المجموعة ‪ era‬إلى ‪ tatu‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupmod -n tatu era‬‬

‫‪ - 3‬حذف المجموعات باستخدام المر ‪: groupdel‬‬


‫إذا أردت حذف مجموعة اسمها ‪ tatu‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # groupdel tatu‬‬

‫ملحظة ‪ :‬إذا أردت حذف المجموعة الساسية لمستخدم موجود بالفعل على النظام فانه يتم‬
‫إلغاء حساب ذلك المستخدم اول ثم بعد ذلك يتم إلغاء مجموعته الساسية ‪.‬‬

‫‪ - 4‬الملفات الخاصة بالمجموعات ‪:‬‬


‫الملف ‪: /etc/group‬‬
‫يتكون هذا الملف من أربعة أعمدة فقط يفصل بينهما بعلمة ‪ : colon‬مثال على مجموعة ‪root‬‬
‫‪.‬‬
‫‪root : x : 0 :‬‬
‫حيث ‪ root‬هو اسم المجموعة و ‪ x‬هو الباسورد الخاص بالمجموعة وتدل ‪ x‬على أنه ليوجد‬
‫باسورد لتلك المجموعة اما إذا كان للمجموعة باسورد فانه يكتب بصورة مشفرة مثل‬
‫‪ .16y/uvLQis/G‬و ‪ 0‬هو رقم ‪ GID‬الخاص بالمجموعة و الفراغ اللى بعد ‪ :‬يوضع به‬
‫المستخدمون المنضمون للمجموعة ‪.‬‬
‫مثال آخر على مجموعة ‪. video‬‬
‫‪video:x:33:ahmed,conan,remstereo‬‬

‫حيث ‪ video‬هو اسم المجموعة و ‪ x‬هو الباسورد الخاص بالمجموعة و ‪ 33‬هو رقم ‪ GID‬الخاص‬
‫بالمجموعة و ‪ ahmed,conan,remstereo‬هم المستخدمون المنضمون لمجموعة‬
‫‪. video‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪138‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -B‬أوامر التعامل مع المستخدمين ‪:‬‬

‫‪ - 1‬إنشاء مستخدم باستخدام المر ‪: useradd‬‬


‫عند إنشاء مستخدم بواسطة المر ‪ useradd‬فقط دون استخدام معه أية إضافات فإنه سيتم‬
‫إنشاء ذلك المستخدم مع جعل خيارات أو قيم ذلك المستخدم افتراضية مثل إنشاء مجلد البيت‬
‫الخاص بهذا المستخدم تحت المسار ‪ /home‬واختيار الصدفة الفتراضية ‪ bash‬وإنشاء‬
‫مجموعة افتراضية أساسية ) تكون بنفس اسم المستخدم أو يكون اسمها ‪ ( users‬وضمه إلى‬
‫بعض المجموعات الفتراضية الثانوية مثل ) ‪ video‬و ‪ ( dialout‬و وما إلى ذلك من قيم‬
‫افتراضية ‪ .‬والملف المسجل به جميع القيم الفتراضية هو ‪. /etc/default/useradd‬‬

‫ملحظة مهمة ‪:‬‬


‫لتتصور أن إنشاء مستخدم يتم باستخدام المر ‪ useradd‬فقط وإنما عملية إنشاء المستخدم‬
‫تتكون من عدة مراحل وأمر ‪ useradd‬إنما هو أحد مراحل تلك العملية لذلك قررنا شرح كيفية‬
‫إنشاء مستخدم كوحده واحدة فى آخر الفصل ‪.‬‬

‫‪ -1‬لعرض جميع القيم الفتراضية التى يعطيها النظام لى مستخدم جديد اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -D‬‬

‫‪ -2‬إذا أردت إنشاء مستخدم اسمه ‪ hima‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd hima‬‬

‫وتكون النتيجة هى إنشاء مستخدم جديد اسمه ‪ hima‬مع جعل جميع قيم ذلك المستخدم‬
‫افتراضية ‪.‬‬

‫‪ -3‬إذا أردت إنشاء مستخدم اسمه ‪ jake‬مع إعطائه صدفة أخرى غير الفتراضية ولتكن ‪csh‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪139‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -s /bin/csh jake‬‬

‫‪ -4‬إذا أردت إنشاء مستخدم جديد اسمه ‪ rock‬مع وضع معلومات له مثل اسمه الحقيقى و‬
‫رقم تليفونه بفرض أن اسم هذا المستخدم الحقيقى هو ‪ ahmed elsayed‬وتليفونه هو ‪8659‬‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -c "ahmed elsayed","8659" rock‬‬

‫يمكن رؤية هذه المعلومات عند استعمال المر ‪. finger‬‬


‫ملحظة مهمة ‪ :‬يجب اللتزام بوضع اسم المستخدم الحقيقى فى أول المعلومات وأن يوضع بين‬
‫علمتى تنصيص منفردا وذلك لكى يوضع فى مكانه الصحيح ول يعتبر معلومة من ضمن‬
‫المعلومات ‪.‬‬

‫‪ -5‬إذا أردت إنشاء مستخدم جديد اسمه ‪ asd‬مع تغيير المجموعة الفتراضية الساسية التى‬
‫ينشئها النظام بمجموعة أخرى شرط ان تكون تلك المجموعة موجوده بالفعل مثل ‪ friends‬وذلك‬
‫كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -g friends asd‬‬

‫‪ -6‬إذا أردت إنشاء مستخدم جديد اسمه ‪ said‬مع ضم ذلك المستخدم لمجموعة ثانوية أخرى‬
‫موجوده بالفعل مثل ‪ root‬بالضافة للمجموعات الفتراضية الساسية اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -G root said‬‬

‫‪ -7‬إذا أردت إنشاء مستخدم جديد اسمه ‪ Jennifer‬مع ضم ذلك المستخدم لعدة‬
‫مجموعات ثانوية ولتكن ‪ cdrom‬و ‪ mail‬و ‪ wheel‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪140‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # useradd -G cdrom,mail,wheel Jennifer‬‬

‫‪ -8‬إذا أردت إنشاء مستخدم جديد اسمه ‪ amr‬وتغيير مجموعته الفتراضية الساسية من‬
‫‪ users‬إلى ‪ hbk‬بالضافة إلى ضمه إلى مجموعة ثانوية مثل ‪ www‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -g hbk -G www amr‬‬

‫ملحظة ‪ :‬لبد من وجود المجموعتين الساسية و الثانوية بالفعل لكى نتمكن من إلحاق‬
‫المستخدم بهما و كذلك لبد من أن يكون المستخدم جديدا فى المجموعتين ‪.‬‬

‫‪ -9‬إذا أردت إنشاء مستخدم جديد اسمه ‪ hazem‬مع تغيير مجلد البيت لذلك المستخدم‬
‫إلى ‪ /var‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -d /var/hazem hazem‬‬

‫ملحظة ‪ :‬يمكنك استخدام أكثر من خيار معا‬


‫فمثل إذا أردت إنشاء مستخدم اسمه ‪ tmatm‬بحيث يكون مجلد بيته فى المسار ‪/var‬‬
‫ومجلد بيته اسمه ‪ fofa‬وصدفته ‪ tch‬واسمه الحقيقى ‪ kemo‬ورقم تليفونه ‪ 25252‬اكتب ما‬
‫يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -d /var/fofa -s /bin/tch -c kimo,"tel‬‬


‫‪25252" tmatm‬‬

‫‪ -10‬إذا أردت إنشاء مستخدم جديد اسمه ‪ zizo‬مع إعطاؤه رقم ‪ UID‬معين مثل ‪865‬‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -u 865 zizo‬‬

‫‪ -11‬إذا أردت إنشاء أكثر من مستخدم بحيث يحملون نفس رقم ‪ UID‬استخدم الخيار ‪-o‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪141‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫كما فعلنا فى المجموعات فمثل إذا أردت إنشاء ‪ 3‬مستخدمين الول اسمه ‪ aziz‬والثانى اسمه‬
‫‪ nimo‬والثالث اسمه ‪ kimo‬بحيث يكون رقم ‪ UID‬للثلث مستخدمين هو ‪ 750‬اكتب ما‬
‫يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -u 750 aziz‬‬


‫‪the-game:/home/ahmed # useradd -u 750 nimo -o‬‬
‫‪the-game:/home/ahmed # useradd -u 750 kimo -o‬‬

‫‪ -12‬إذا أردت إنشاء مستخدم جديد مع وضع تاريخ لنهاء حسابه تلقائيا بحيث أنه لن‬
‫يتمكن من الدخول بعد هذا التاريخ استخدم الخيار ‪ -o‬ويتم وضع التاريخ كالتالى ‪yyyy-‬‬
‫‪ mm-dd‬حيث ‪ dd‬تمثل اليام و ‪ mm‬تمثل الشهر و ‪ yyyy‬تمثل السنين‬
‫وفيما يلى مثال لليضاح ‪.‬‬

‫مثال ‪ :‬إذا أردت إنشاء مستخدم جديد اسمه ‪ dido‬مع وضع التاريخ‬
‫‪ 2008-10-20‬لنهاء حسابه اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -e 2008-10-20 dido‬‬

‫‪ -13‬إذا أردت تغيير القيم الفتراضية التى ستنشئ لجميع المستخدمين الجدد على الدوام فانه‬
‫سيتوجب عليك استخدام الخيار ‪ -D‬وبعده ماتريد تغييره ‪.‬‬
‫واليك فيما يلى بعض المثلة التوضيحية ‪:‬‬

‫مثال ‪ : 1‬إذا أردت تغيير مجلد بيت جميع المستخدمين الجدد من المسار ‪ /home‬إلى‬
‫المسار ‪ /var‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # useradd -D -b /var‬‬

‫مثال ‪ : 2‬إذا أردت تغيير صدفة جميع المستخدمين الجدد وجعلها ‪ tch‬بدل من ‪bash‬‬
‫اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪142‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # useradd -D -s /bin/tch‬‬

‫‪ - 2‬تعديل بيانات المستخدمين باستخدام المر ‪: usermod‬‬


‫‪ -1‬إذا أردت تغيير اسم دخول المستخدم ‪ kimo‬إلى ‪ gin‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -l gin kimo‬‬

‫‪ -2‬إذا أردت تعديل صدفة مستخدم اسمه ‪ jake‬من ‪ csh‬إلى ‪ bash‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -s /bin/bash jake‬‬

‫‪ -3‬إذا أردت تعديل بعض معلومات مستخدم اسمه ‪ rock‬فمثل نريد تعديل اسمه الحقيقى‬
‫إلى ‪ foad‬و رقم تليفونه إلى ‪ 5555‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -c foad,"tel 5555" rock‬‬

‫‪ -4‬إذا أردت تغيير المجموعة الساسية لمستخدم اسمه ‪ asd‬من ‪ friends‬إلى ‪ hhh‬اكتب‬
‫ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -g hhh asd‬‬

‫‪ -5‬إذا أردت تغيير المجموعة الثانوية لمستخدم اسمه ‪ said‬من ‪ root‬إلى ‪ hbk‬اكتب ما‬
‫يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -G hbk said‬‬

‫‪ -6‬إذا أردت تغيير مجلد البيت لمستخدم اسمه ‪ hazem‬من ‪ /var‬إلى ‪ /home‬اكتب ما‬
‫يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪143‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # usermod -d /home/hazem hazem‬‬

‫‪ -7‬إذا أردت تغيير رقم ‪ UID‬لمستخدم اسمه ‪ zizo‬من ‪ 865‬إلى ‪ 555‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -u 555 zizo‬‬

‫‪ -8‬إذا أردت تغيير تاريخ انتهاء حساب مستخدم اسمه ‪ dido‬من ‪ 20-10-2008‬إلى‬
‫‪ 28-8-2008‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -e 2008-8-28 dido‬‬

‫‪ -9‬إذا أردت قفل حساب المستخدم ‪ amr‬بحيث ليستطيع ذلك المستخدم الولوج للنظام‬
‫استخدم الخيار ‪ -L‬مع مراعاة أن حرف ‪ L capital‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -L amr‬‬

‫ملحظة ‪ :‬عند استخدام الخيار ‪ -L‬لقفل حساب المستخدم فانه يتم إضافة العلمة ! امام كلمة‬
‫سر المستخدم فى الملف ‪. shadow‬‬

‫‪ -10‬إذا أردت فتح حساب المستخدم ‪ amr‬الذى قمت بقفله سابقا بحيث يتمكن من الولوج‬
‫للنظام استخدم الخيار ‪ -U‬مع مراعاة ان حرف ‪ U capital‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # usermod -U amr‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪144‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ - 3‬حذف بيانات المستخدمين باستخدام المر ‪: usermod‬‬


‫‪ -1‬إذا أردت حذف مستخدم اسمه ‪ amr‬مع الحتفاظ بمجلد البيت الخاص به اكتب ما يلى‬
‫‪:‬‬

‫‪the-game:/home/ahmed # userdel amr‬‬

‫فتظهر لك الرساله التالية ‪:‬‬

‫‪no crontab for amr‬‬

‫‪ -2‬إذا أردت حذف مستخدم اسمه ‪ fofa‬مع حذف مجلد البيت الخاص به اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # userdel -r fofa‬‬

‫فتظهر لك الرساله التالية ‪:‬‬

‫‪no crontab for fofa‬‬

‫‪ - 4‬الملفات الخاصة بالمستخدمين ‪:‬‬


‫‪ -1‬الملف ‪: /etc/passwd‬‬
‫ووظيفة هذا الملف حفظ المعلومات العامة عن المستخدمين فكل مستخدم له سطر خاص فى‬
‫ذلك الملف ‪ .‬وهذا الملف مسموح للمستخدمين العاديين بقرائته فقط ‪ .‬ويتكون ذلك الملف من‬
‫سبع خانات أو أعمده يفصل بين كل خانة وأخرى بعلمة ‪ : colon‬وفيما يلى مثال على أحد‬
‫أسطر ذلك الملف‬

‫‪remstereo:x:1002:100:remstereo:/home/remstereo:/bin/bash‬‬

‫فى أول السطر يذكر اسم المستخدم وهو هنا ‪ remstereo‬ثم كلمة المرور ويعبر عنها بالرمز ‪x‬‬
‫ثم رقم ‪ UID‬وهنا هو ‪ 1002‬ثم يذكر رقم ‪ GID‬للمجموعة الساسية وهنا هو ‪ 100‬ثم يذكر‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪145‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫المعلومات الضافية التى كتبها المستخدم مثل اسمه الحقيقى ورقم تليفونه وهنا نجد أن‬
‫المستخدم وضع اسمه الحقيقى بنفس اسم الدخول ‪ remstereo‬ثم يذكر مجلد البيت‬
‫الخاص بالمستخدم وهنا هو ‪ /home/remstereo‬ثم يذكر الصدفة التى يستخدمها‬
‫المستخدم للدخول للنظام وهى هنا ‪. /bin/bash‬‬

‫ويلحظ ان المستخدمين الموجودين بالملف ينقسموا إلى ثلث انواع ‪:‬‬


‫‪ : super user -1‬المستخدم الجذر ونلحظ ان ‪ UID‬و ‪ GID‬وخدين الرقم صفر ‪. 0‬‬
‫‪ : special user -2‬مستخدمو النظام مثل ‪ rpm‬و ‪ ftp‬و ‪ ip‬و ‪ cdrom‬وهولء‬
‫المستخدمين لهم تعامل خاص مع النظام فمثل عند تنفيذ أمر خاص ب ‪ ftp server‬فإن النظام‬
‫يقوم باستدعاء المستخدم المسمى ‪ ftp‬ليقوم بتنفيذ ذلك المر ‪.‬‬
‫‪ : regular user -3‬المستخدمون النظاميون وهم المستخدمون الذين تم إضافتهم للنظام من‬
‫قبل مدير النظام ‪. root‬‬

‫‪ -2‬الملف ‪: /etc/shadow‬‬
‫ووظيفة هذا الملف حفظ جميع المعلومات الخاصة بالمستخدمين بما فى ذلك المعلومات السريه‬
‫للمستخدمين مثل كلمة المرور والفترة التى سيغلق بعدها حساب المستخدم وما إلى ذلك من‬
‫معلومات سرية ‪ .‬وهذا الملف غير مسموح للمستخدمين العاديين بقرائته ويتكون ذلك الملف من‬
‫تسع خانات أو أعمده ويفصل بين كل خانة وأخرى بعلمة ‪ : colon‬وفيما يلى مثال على أحد‬
‫أسطر ذلك الملف‬

‫‪remstereo:2a$05$zn4uZeg:14089:0:99999:7:::‬‬

‫فى أول السطر يذكر اسم المستخدم وهو هنا ‪ remstereo‬ثم كلمة المرور وتظهر مشفرة كالتالى‬
‫‪ 2a$05$zn4uZeg‬ثم يذكر آخر مرة تم تغيير فيها كلمة المرور و الرقم الموجود فى تلك الخانة‬
‫‪ standard‬وهنا هو ‪ 14089‬وهذا الرقم ‪ standard‬ثم يذكر الوقت الذى ينتظره المستخدم‬
‫لكى يستطيع تغيير كلمة المرور ويحسب ذلك الوقت من آخر مرة تم تغيير كلمة المرور فيها وهنا‬
‫هذا الرقم هو صفر ‪ 0‬أي أنه لم يحدد ثم يذكر فترة السماح التى بعدها لبد من تغيير كلمة المرور‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪146‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫وهى هنا ‪ 99999‬وهذا الرقم ‪ standard‬وتعنى ‪ 99999‬يوم ثم يذكر عدد اليام الواجب‬
‫تغيير كلمة المرور فيها قبل انتهاء حساب المستخدم وهى هنا ‪ 7‬أيام وتعنى أنه إذا كان حساب‬
‫المستخدم محدد ب ‪ 99999‬يوم فقبل انتهاء هذه المدة ب ‪ 7‬أيام لبد من تغيير كلمة المرور‬
‫ثم يذكر الفترة بين إنهاء حساب المستخدم وبين إغلق الحساب كليا و الفرق بينهما أن إنهاء‬
‫حساب المستخدم متعلق بتعامل المستخدم مع النظام أما إغلق الحساب كليا فمتعلق بسياسة‬
‫إدارة النظام و هى هنا فارغة ‪ .‬ثم يذكر تاريخ صلحية الحساب ‪ account expire‬وتعنى أن‬
‫الحساب سيغلق بعد انتهاء هذه الفترة و هى هنا فارغة أما آخر خانة فتسمى ‪ special flag‬وهذه‬
‫خانة غير مستخدمة حاليا و محجوزة للستخدام فى المستقبل ‪.‬‬

‫ملحظات ‪ :‬خانة كلمة المرور لها عدة أشكال كالتالى ‪:‬‬


‫>!!< تعنى أن المستخدم لم توضع له كلمة مرور حتى الن ‪.‬‬
‫>*< تعنى أن المستخدم لم و لن يوضع له كلمة مرور ونرى هذه العلمة دائما مع ‪system‬‬
‫‪ account‬أو ‪ special user‬مستخدمين النظام ‪.‬‬
‫‪ 2a$05$zn4uZeg‬وهى كلمة مرور مشفره ‪.‬‬

‫كيفية عمل ‪ disable‬للمستخدم من خلل ملف ‪: /etc/shadow‬‬


‫خذ الرقم الموجود فى الخانة رقم ‪ 3‬و ضعه فى الخانة رقم ‪ 8‬وذلك بعد إنقاص واحد منه ‪.‬‬
‫مثال ‪:‬‬
‫السطر قبل التعديل‬

‫‪remstereo:2a$05$zn4uZeg:14089:0:99999:7:::‬‬

‫السطر بعد التعديل‬

‫‪remstereo:2a$05$zn4uZeg:14089:0:99999:7::14088:‬‬

‫ملحظة ‪ :‬الخانة رقم ‪ 7‬و التى تحدد عدد اليام بين إنهاء حساب المستخدم وبين إغلق‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪147‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الحساب توضع بها قيمتان >‪ <0‬أو >‪ <1-‬حيث ‪:‬‬


‫>‪ <0‬سيقوم بعمل ‪ disable‬للحساب مباشرة بعد انتهاء الوقت المحدد لكلمة المرور ‪.‬‬
‫>‪ <1-‬هذه القيمه توقف ‪ disable‬التلقائى للحساب ‪.‬‬

‫نقل المستخدمين من نظام لخر ‪:‬‬

‫قد تتساءل الن لماذا نحتاج إلى نقل المستخدمين إلى نظام آخر ؟؟ فمثل إذا أردت تنزيل‬
‫توزيعة أخرى لى سبب من السباب ففى هذه الحالة ستحتاج لنقل جميع المستخدمين إلى‬
‫النظام أو التوزيعة الخرى‬

‫ولنقل المستخدمين من نظام لخر يجب العتماد على ملف واحد فى إدارة المجموعات وملف‬
‫واحد فى إدارة المستخدمين‬
‫بالنسبه للمجموعات يمكن العتماد على الملف ‪ /etc/group‬دون استخدام الملف‬
‫‪ /etc/gshadow‬وهذا ماتفعله السوزى لنها أساسا لتعتمد على الملف ‪. gshadow‬‬
‫بالنسبه للمستخدمين يمكن العتماد على الملف ‪ /etc/passwd‬دون استخدام الملف‬
‫‪/etc/shadow‬‬

‫‪ -a‬العتماد على الملف ‪ group‬فى إدارة المجموعات ‪:‬‬


‫‪ -1‬لتحويل محتويات الملف ‪ gshadow‬إلى الملف ‪ group‬نكتب المر التالى ‪:‬‬

‫‪the-game:/home/ahmed # grpunconv‬‬

‫ويكون ناتج هذا المر هو تحويل محتويات الملف ‪ gshadow‬إلى الملف ‪ group‬وبالتالى‬
‫سيتم إلغاء الملف ‪ gshadow‬والعتماد فقط على الملف ‪. group‬‬

‫‪ -2‬ولرجاع الحال كما كان عليه سابقا أي لرجاع الملف ‪ gshadow‬اكتب المر التالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪148‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # grpconv‬‬

‫ويكون ناتج المر هو أن الملف ‪ gshadow‬قد تمت كتابته ثانية ‪.‬‬

‫‪ -b‬العتماد على الملف ‪ passwd‬فى إدارة المستخدمين ‪:‬‬


‫‪ -1‬لتحويل محتويات الملف ‪ shadow‬إلى الملف ‪ passwd‬نكتب المر التالى ‪:‬‬

‫‪the-game:/home/ahmed # pwunconv‬‬

‫ويكون ناتج هذا المر هو تحويل كلمات المرور الموجودة فى الملف ‪ shadow‬إلى الملف‬
‫‪ passwd‬وبالتالى سيتم إلغاء الملف ‪ shadow‬والعتماد فقط على الملف ‪. passwd‬‬

‫‪ -2‬ولرجاع الحال كما كان عليه سابقا أي لرجاع الملف ‪ shadow‬اكتب المر التالى ‪:‬‬

‫‪the-game:/home/ahmed # pwconv‬‬

‫ويكون ناتج المر هو أن الملف ‪ shadow‬قد تمت كتابته ثانية وأيضا كلمات المرور الموجودة‬
‫فى الملف ‪ passwd‬قد تحولت إلى الملف ‪. shadow‬‬

‫كيفية تنقل المستخدم من مجموعة لخرى ‪:‬‬

‫إذا كان المستخدم مشترك فى أكثر من مجموعة فكيف يستطيع المستخدم التنقل بين تلك‬
‫المجموعات ؟ يتم التنقل بين المجموعات باستخدام المر ‪ newgrp‬متبوعا باسم المجموعة‬
‫المراد النتقال إليها ‪.‬‬

‫‪ -1‬إذا كان لديك مستخدم اسمه ‪ amr‬مشترك فى عدة مجموعات مشترك فى عدة‬
‫مجموعات وهى )‪ friends‬و ‪ family‬و ‪ ( engineering‬وكانت المجموعة الساسية لذلك‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪149‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫المستخدم ‪ engineering‬وأراد النتقال إلى مجموعة ‪ friends‬اكتب ما يلى ‪:‬‬

‫‪amr@the-game:/home/ahmed> newgrp friends‬‬

‫‪ -2‬إذا أراد المستخدم ‪ amr‬الرجوع إلى المجموعة الساسية التى كان عليها وهى‬
‫‪ engineering‬اكتب ما يلى ‪:‬‬

‫‪amr@the-game:/home/ahmed> exit‬‬
‫أو‬
‫‪amr@the-game:/home/ahmed> newgrp‬‬

‫وهنا نجد سؤال يطرح نفسه وهو ما الفائدة من تنقل المستخدم بين المجموعات ؟‬
‫الفائده من تنقل المستخدم بين المجموعات ترجع إلى المجموعة نفسها ول تؤثر على المستخدم‬
‫نفسه ‪ .‬فعند انتقال المستخدم ‪ amr‬من مجموعته الساسية ‪ engineering‬إلى المجموعة‬
‫‪ friends‬تصبح جميع العمليات ) من إنشاء ملفات ومجلدات ( التى ستتم من خلل‬
‫المستخدم ‪ amr‬فى مجموعة ‪ friends‬مملوكة لمجموعة ‪ friends‬ولن تكون مملوكة‬
‫لمجموعة ‪. engineering‬‬
‫التعرف على بياناتك ‪:‬‬
‫يتم التعرف على بياناتك من خلل المرين ‪ id‬و ‪. groups‬‬
‫‪ #‬المر ‪: id‬‬
‫ووظيفة ذلك المر جلب معلومات عن المستخدمين مثل ) اسم المستخدم و رقمه ‪ UID‬و‬
‫أسماء المجموعات المشترك فيها المستخدم و أرقامها ‪ ( GID‬وليلزم أن تكون مستخدم جذر‬
‫وأنت تستعمل ذلك المر ‪.‬‬

‫‪ -1‬إذا أردت جلب معلومات عن نفسك اكتب المر ‪ id‬منفردا‬


‫فمثل إذا اراد مستخدم على النظام اسمه ‪ ahmed‬جلب معلومات عن نفسه فليكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> id‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪150‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫)‪uid=1000(ahmed) gid=100(users) groups=100(users),16(dialout),33(video‬‬

‫‪ -2‬إذا أردت جلب معلومات عن مستخدم اسمه ‪ remstereo‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> id remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫)‪uid=1002(remstereo) gid=100(users) groups=100(users),16(dialout),33(video‬‬

‫‪ -3‬إذا أردت معرفة رقم ‪ GID‬للمجموعة الساسية فقط لمستخدم اسمه ‪ remstereo‬اكتب‬
‫ما يلى ‪:‬‬

‫‪ahmed@the-game:~> id -g remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪100‬‬

‫‪ -4‬إذا أردت معرفة أرقام ‪ GID‬لجميع المجموعة المشترك فيها مستخدم اسمه ‪remstereo‬‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> id -G remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪100 16 33‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪151‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -5‬إذا أردت معرفة رقم ‪ UID‬فقط لمستخدم اسمه ‪ remstereo‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> id -u remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪1002‬‬

‫‪ #‬المر ‪: groups‬‬
‫ووظيفة هذا المر إظهار المجموعات المشترك فيها المستخدم فقط وليلزم أن تكون مستخدم‬
‫جذر وأنت تستعمل ذلك المر ‪.‬‬

‫‪ -1‬إذا أردت معرفة المجموعات المشترك أنت فيها اكتب المر ‪ groups‬منفردا فمثل إذا أراد‬
‫مستخدم على النظام اسمه ‪ ahmed‬معرفة المجموعات المشترك فيها فليكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> groups‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪users dialout video‬‬

‫‪ -2‬إذا أردت معرفة المجموعات المشترك فيها مستخدم اسمه ‪ remstereo‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> groups remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪remstereo : users dialout video‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪152‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬المر ‪: gpasswd‬‬
‫يستخدم هذا المر لوضع كلمة مرور لمجموعة و لحذف كلمة مرور مجموعة ولغلق مجموعة و‬
‫للغاء غلق مجموعة ‪.‬‬
‫قبل البدء فى الشرح قد تتساءل ماهى الفائدة من عمل كلمة مرور للمجموعة ؟‬
‫● الفائدة من عمل كلمة مرور لمجموعة معينة هى أنه إذا كان هناك مستخدم غير مشترك‬
‫فى تلك المجموعة و أراد الدخول لتلك المجموعة عن طريق المر ‪ newgrp‬فإنه لن‬
‫يتمكن من ذلك إل بعد إدخال كلمة المرور وذلك يزيد من المن فى النظام ‪.‬‬

‫ملحظة ‪ :‬جميع المشتركين داخل المجموعة المعمول لها كلمة مرور مسموح لهم طبعا الدخول‬
‫والخروج من المجموعة دون كتابة كلمة مرور ‪.‬‬

‫‪ -1‬لوضع كلمة مرور لمجموعة اسمها ‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # gpasswd family‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Changing the password for group family.‬‬


‫‪New Password:‬‬
‫‪Re-enter new password:‬‬
‫‪Password changed.‬‬

‫حيث يطلب منك إدخال كلمة المرور الجديدة ثم يطلب منك إعادة إدخال كلمة المرور و‬
‫ذلك للتأكيد ‪.‬‬

‫‪ -2‬لزالة كلمة المرور لمجموعة اسمها ‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # gpasswd -r family‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪153‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -3‬إذا أردت غلق مجموعة اسمها ‪ ) family‬أي لتسمح لى مستخدم من خارج المجموعة‬
‫بالدخول إليها ( وذلك سواء كان للمجموعة المراد غلقها كلمة مرور أو ل اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # gpasswd -l family‬‬

‫‪ -4‬إذا أردت إلغاء غلق مجموعة لها كلمة مرور اسمها ‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # gpasswd -u family‬‬

‫‪ -5‬إذا أردت إلغاء غلق مجموعة ليس لها كلمة مرور اسمها ‪ friends‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # gpasswd -r friends‬‬

‫‪ #‬المر ‪: passwd‬‬
‫‪ -1‬إذا أردت تغيير أو إنشاء كلمة مرور لمستخدم اسمه ‪ remstereo‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Changing password for remstereo.‬‬


‫‪New Password:‬‬
‫‪Reenter New Password:‬‬
‫‪Password changed.‬‬

‫حيث يطلب منك إدخال كلمة المرور الجديدة ثم يطلب منك إعادة ادخال كلمة المرور و‬
‫ذلك للتاكيد ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪154‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫ملحظة ‪ :‬يمكن للمستخدم العادى تغيير كلمة المرور الخاصة به بنفسه دون اللجوء للمستخدم‬
‫الجذر فمثل إذا أراد المستخدم ‪ remstereo‬تغيير كلمة المرور الخاصة به فليكتب المر‬
‫التالى ‪:‬‬

‫‪remstereo@the-game:/home/ahmed> passwd‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Changing password for remstereo.‬‬


‫‪Old Password:‬‬
‫‪New Password:‬‬
‫‪Reenter New Password:‬‬
‫‪Password changed.‬‬

‫ونلحظ أنه طلب منك إدخال كلمة المرور الخاصة بالمستخدم ‪ remstereo‬مره أخرى وذلك‬
‫للتاكد من أنه من قام باستخدام ذلك المر ‪.‬‬

‫‪ -2‬إذا أردت وضع كلمة مرور لمجموعة اسمها ‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -g family‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Changing the password for group family.‬‬


‫‪New Password:‬‬
‫‪Re-enter new password:‬‬
‫‪Password changed.‬‬

‫حيث يطلب منك إدخال كلمة المرور الجديده ثم يطلب منك إعادة إدخال كلمة المرور و‬
‫ذلك للتاكيد ‪.‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪155‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -3‬إذا أردت تغيير صدفة الدخول ‪ shell‬لمستخدم اسمه ‪ remstereo‬من ‪ bash‬إلى‬


‫‪ tcsh‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -s remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -s remstereo‬‬


‫‪Changing login shell for remstereo.‬‬
‫‪Enter the new value, or press return for the default.‬‬
‫‪Login Shell [/bin/bash]:‬‬

‫اكتب بعد علمة ‪ colon :‬اسم الصدفة الجديدة ‪ /bin/tcsh‬كما يلى ‪:‬‬

‫‪Changing login shell for remstereo.‬‬


‫‪Enter the new value, or press return for the default.‬‬
‫‪Login Shell [/bin/bash]: /bin/tcsh‬‬
‫‪Shell changed.‬‬

‫و للطلع على جميع الصدفات المتاحة اقرأ الملف ‪ /etc/shells‬بأى محرر نصوص وأنت‬
‫مستخدم جذر ‪.‬‬

‫ملحظة ‪ :‬يمكن للمستخدم العادى تغيير صدفته بنفسه دون اللجوء للمستخدم الجذر فمثل إذا‬
‫أراد المستخدم ‪ remstereo‬تغيير صدفته من ‪ tcsh‬إلى ‪ bash‬فليكتب المر التالى ‪:‬‬

‫‪remstereo@the-game:/home/ahmed> passwd -s‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪156‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪Changing login shell for remstereo.‬‬


‫‪Password:‬‬
‫‪Enter the new value, or press return for the default.‬‬
‫‪Login Shell [/bin/tcsh]: /bin/bash‬‬
‫‪Shell changed.‬‬

‫ونلحظ أنه طلب منك ادخال كلمة المرور الخاصة بالمستخدم ‪ remstereo‬مره أخرى وذلك‬
‫للتاكد من أنه من قام باستخدام ذلك المر ‪.‬‬

‫‪ -4‬إذا أردت إغلق حساب مستخدم اسمه ‪ remstereo‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -l remstereo‬‬

‫‪ -5‬لفتح حساب المستخدم ‪ remstereo‬الذى تم اغلقه سابقا اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -u remstereo‬‬

‫‪ -6‬لمسح أو ازالة كلمة المرور الخاصة بالمستخدم ‪ remstereo‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -d remstereo‬‬

‫‪ -7‬لجبار مستخدم اسمه ‪ remstereo‬على تغيير كلمة المرور الخاصة به فى المره القادمه‬
‫لدخوله اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -e remstereo‬‬

‫وبالتالى عند دخول المستخدم ‪ remstereo‬المره القادمه يطلب منه تغيير كلمة المرور الخاصة‬
‫به وذلك كما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪157‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> su remstereo‬‬
‫‪Password:‬‬
‫‪Password change requested. Choose a new password.‬‬
‫‪Old Password:‬‬
‫‪New Password:‬‬
‫‪Reenter New Password:‬‬
‫‪Password changed.‬‬

‫‪ -8‬إذا أردت تقرير عن حالة كلمة المرور الخاصة بمستخدم معين اسمه ‪ remstereo‬استخدم‬
‫الخيار ‪ S- capital‬وذلك كما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -S remstereo‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪remstereo NP 08/05/2008 0 99999 7 -1‬‬

‫ملحظة ‪ :‬يمكن للمستخدم العادى طلب تقرير عن حالة كلمة المرور الخاصة به فالنفرض ان‬
‫مستخدم اسمه ‪ ahmed‬اراد معرفة حالة كلمة المرور الخاصة به فليكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> passwd -S‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪ahmed PS 08/04/2008 0 99999 7 -1‬‬

‫يبدأ التقرير باسم المستخدم ‪ login‬وهنا هو ‪ remstereo‬ثم يذكر حالة حساب المستخدم‬
‫ولها ثلث أنواع ) ‪ LK‬و ‪ NP‬و ‪ ( PS‬حيث ‪:‬‬
‫‪ LK‬تعنى أن حساب المستخدم مغلق من قبل المستخدم الجذر أي تم غلقه باستخدام المر‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪158‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪. passwd -l‬‬


‫‪ NP‬تعنى أن كلمة المرور الخاصة بالمستخدم قد تم محوها من قبل المستخدم الجذر أي تم‬
‫مسح كلمة المرور باستخدام المر ‪. passwd -d‬‬
‫‪ PS‬تعنى أن كلمة المرور متاحة والحساب مفعل ويمكن للمستخدم استخدام ذلك الحساب ‪.‬‬
‫ثم يذكر آخر مرة تم تغيير فيها كلمة المرور وهنا هى ‪ 08/04/2008‬ثم يذكر الوقت الذى‬
‫ينتظره المستخدم لكى يستطيع تغيير كلمة المرور ويحسب ذلك الوقت من آخر مرة تم تغيير‬
‫كلمة المرور فيها وهنا هذا الرقم هو صفر ‪ 0‬أي أنه لم يحدد ثم يذكر فترة السماح التى بعدها لبد‬
‫من تغيير كلمة المرور وهى هنا ‪ 99999‬وهذا الرقم ‪ standard‬وتعنى ‪ 99999‬يوم ثم يذكر‬
‫عدد اليام الواجب تغيير كلمة المرور فيها قبل انتهاء حساب المستخدم وهى هنا ‪ 7‬أيام وتعنى أنه‬
‫إذا كان حساب المستخدم محددا بــ ‪ 99999‬يوم فقبل انتهاء هذه المده بــ ‪ 7‬أيام لبد من‬
‫تغيير كلمة المرور ثم يذكر الفترة بين إنهاء حساب المستخدم وبين إغلق الحساب كليا وهى‬
‫هنا ‪. 1-‬‬

‫‪ -9‬إذا أردت معرفة حالة جميع كلمات المرور لجميع المستخدمين الموجودين على النظام‬
‫اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # passwd -aS‬‬

‫‪ #‬التصاريح ‪: permission‬‬

‫مقدمة ‪:‬‬
‫هى سمة من سمات النظمه متعددة المستخدمين حيث يوجد عدد كبير من المستخدمين‬
‫يمكنهم الوصول للنظام والعمل عليه ‪.‬‬
‫وهذه السمه تستخدم لتوفير المان لجميع المستخدمين فهى تحافظ على خصوصية‬
‫المستخدمين وتحمى ملفاتهم من العبث ‪.‬‬
‫والصلحيات الممنوحة للملفات والمجلدات ‪ 3‬انواع ‪:‬‬
‫‪ read‬صلحية القراءة‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪159‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ write‬صلحية الكتابة‬
‫‪ execute‬صلحية التنفيذ‬
‫وتمنح هذه الصلحيات إما فى صوره مفردة أو تمنح فى صورة مركبة ‪ .‬ويتم تحديد‬
‫الصلحيات السابقة لثلث جهات وهى ) ‪ ( user , group , other‬حيث ‪:‬‬
‫‪ : user‬هو من قام بإنشاء الملف وهو الذى يحدد الصلحيات لنفسه و للمجموعة وللخرين ‪.‬‬
‫‪ : group‬وهى المجموعة المشترك فيها المستخدم والمتواجد عليها أثناء إنشاء الملف وهذه‬
‫المجموعة تكون مرتبطة بالملف ‪.‬‬
‫‪ : other‬وهم باقى مستخدمي النظام غير المشتركين فى مجموعة مالك الملف المرتبطة بالملف ‪.‬‬
‫وكل جهة من الجهات الثلث ) ‪ ( user , group , other‬يمكن منحها التصاريح الثلثة )‬
‫‪ ( read , write , execute‬أي أن الجمالى هو تسعة تصاريح فرعية ‪.‬‬
‫ونلحظ أنه عند إنشاء الملف أو المجلد يتم منحه افتراضيا بعض التصاريح حتى إذا لم يتم تعيينها‬
‫له ‪.‬‬
‫ويمكنك عرض التصاريح الممنوحة للملفات و المجلدات باستخدام المر ‪ ls‬مع الخيار ‪ -l‬وذلك‬
‫كالتالى ‪:‬‬

‫‪ahmed@the-game:~> ls -l‬‬

‫فتكون النتيجة كالتالى مثل ‪:‬‬

‫‪total 1675076‬‬
‫‪drwxrwxrwx 2 ahmed users‬‬ ‫‪6 2008-08-08 23:05 aa‬‬
‫‪-rwxrwxrwx 1 ahmed users‬‬ ‫‪910 2008-05-31 13:38 antiNetCut-linux.py‬‬

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

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪160‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫وهناك طريقتان لكتابة التصاريح وهما ‪:‬‬


‫‪ -a‬كتابة التصاريح بالحرف‬
‫‪ -b‬كتابة التصاريح بالرقام‬

‫‪ -a‬كتابة التصاريح بالحرف ‪:‬‬


‫وفيها تستخدم الحرف الثلثة التالية للتعبير عن السماحيات ‪:‬‬
‫‪ r‬وتعبر عن تصريح القراءة ‪read‬‬
‫‪ w‬تعبر عن تصريح الكتابة ‪write‬‬
‫‪ x‬تعبر عن تصريح التنفيذ ‪execute‬‬

‫وتكون التصاريح عادة فى صورة مركبة فمثل ‪:‬‬


‫‪ rwxr-x---‬تعنى أن المالك له جميع الصلحيات على الملف أما مجموعة المالك فتمتلك‬
‫تصريح القراءة والتنفيذ فقط أما الخرون فليس لهم أي تصريح ‪.‬‬
‫‪ r-x------‬تعنى أن المالك له صلحية القراءة والتنفيذ أما مجموعة المالك والخرون ليس لهم أي‬
‫تصريح على ذلك الملف ‪.‬‬
‫‪ rwxr--r--‬تعنى أن مالك الملف له جميع الصلحيات أما مجموعة المالك و الخرون ليس لهم‬
‫إل صلحية القراءة فقط ‪.‬‬

‫‪ -b‬كتابة التصريح بالرقام ‪:‬‬


‫وفيها تقابل كل صلحية قيمة أو رقم معين وذلك كالتالى ‪:‬‬
‫سماحية القراءة ‪ read‬وتساوى ‪4‬‬
‫سماحية الكتابة ‪ write‬وتساوى ‪2‬‬
‫سماحية التنفيذ ‪ execute‬وتساوى ‪1‬‬
‫ويتم تركيب الصلحيات معا عن طريق جمع قيم كل صلحية كالتالى ‪:‬‬
‫سماحية القراءة والكتابه ‪ rw-‬تساوى ‪6‬‬
‫سماحية القراءة و التنفيذ ‪ r-x‬تساوى ‪5‬‬
‫سماحية الكتابة والتنفيذ ‪ -wx‬تساوى ‪3‬‬
‫سماحية القراءة و الكتابة و التنفيذ ‪ rwx‬تساوى ‪7‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪161‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫وتكون التصاريح عادة فى صورة مركبة فمثل ‪:‬‬


‫‪rwx------ = 700‬‬
‫‪rw------- = 600‬‬
‫‪-wx------ = 300‬‬
‫‪rw-rw-rw- = 666‬‬
‫‪rwxrwxrwx = 777‬‬
‫‪r-xr-xr-x = 555‬‬

‫ملحظة ‪ :‬عند إنشاء مجلد يكون التصريح الفتراضى للمالك ‪ 7‬وعند إنشاء ملف يكون‬
‫التصريح الفتراضى ‪. 6‬‬

‫‪ #‬بحث حول معانى التصاريح وتأثير التصاريح على العمليات المختلفة ‪:‬‬

‫وقبل معرفة كيفية إعطاء التصاريح يجب عليك معرفة معانى التصاريح ووظائفها وتأثير التصاريح‬
‫على بعضها وتأثير التصاريح على العمليات المختلفة التى تجرى على الملفات والمجلدات من‬
‫إنشاء ونسخ ونقل وحذف وما إلى ذلك من عمليات ‪.‬‬
‫لذلك قمت بعمل بحث صغير جدا كانت فكرته كالتالى ‪:‬‬
‫‪ -1‬أنشأت مجلدا مع إعطاء ذلك المجلد جميع التصاريح حتى لنؤثر على تصاريح الملفات‬
‫والمجلدات الموجوده بداخله ‪.‬‬
‫‪ -2‬أنشأت داخل ذلك المجلد ‪ 6‬ملفات و ‪ 6‬مجلدات فرعية ‪.‬‬
‫‪ -3‬سميت كل ملف ومجلد بالتصريح الممنوح إياه فمثل الملف الممنوح تصريح القراءة فقط‬
‫اسمه ‪ r‬والملف الممنوح تصريح الكتابة فقط اسمه ‪ w‬و الملف الممنوح تصريح التنفيذ فقط اسمه‬
‫‪ x‬والملف الممنوح تصريح القراءة والكتابة اسمه ‪ r+w‬وهكذا وبالتالى كانت أسماء الملفات‬
‫كالتالى ‪:‬‬
‫‪r , w , x , r+w , r+x , w+x‬‬
‫وكانت أسماء المجلدات كالتالى ‪:‬‬
‫‪r1 , w1 , x1 , r+w1 , r+x1 , w+x1‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪162‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -4‬ثم عملت جدولين لمقارنة التصاريح مع العمليات التى يمكن إجراؤها على الملفات و‬
‫المجلدات‬

‫اول ‪ :‬تاثير التصاريح على العمليات التى يمكن إجراؤها على المجلدات ‪:‬‬

‫مسح‬ ‫نقل ملف‬ ‫نقل ملف‬ ‫نسخ‬ ‫نسخ‬ ‫إنشاء‬ ‫مسح‬ ‫نقل‬ ‫نسخ‬ ‫فتح‬ ‫التصريح‬
‫ملف من‬ ‫من داخل من‬ ‫ملف من‬ ‫ملف من‬ ‫ملف‬ ‫المجلد‬ ‫المجلد‬ ‫المجلد‬ ‫المجلد‬
‫داخل‬ ‫خارج‬ ‫المجلد‬ ‫خارج‬ ‫داخل‬ ‫داخل‬
‫المجلد‬ ‫المجلد‬ ‫للخارج‬ ‫المجلد‬ ‫المجلد‬ ‫المجلد‬
‫لداخله‬ ‫لداخله‬ ‫للخارج‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪r1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪w1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪x1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪r+w1‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪r+x1‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪w+x1‬‬

‫حيث ‪:‬‬
‫‪ 0‬تعنى أن العملية فشلت ) لم تتم (‬
‫‪ 2‬تعنى أن العملية قد تمت بنجاح‬

‫اما ‪ 1‬فتعنى أنه يمكنك الدخول إلى المجلد باستخدام المر ‪ cd‬فقط وليمكنك عرض ما بداخل‬
‫المجلدات أي لن تتمكن من استخدام المر ‪. ls‬‬

‫نتيجة ‪:‬‬
‫التصريح ‪: r‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪163‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫يستخدم لعرض ما بداخل المجلد فقط دون إمكانية فتح المجلد أو الدخول إليه ويتم ذلك من‬
‫خلل المر ‪ls‬‬

‫التصريح ‪: x‬‬
‫يستخدم لفتح المجلد أو الدخول إليه فقط دون إمكانية عرض مابداخله ويتم ذلك باستخدام‬
‫المر ‪. cd‬‬

‫التصريح ‪: r+x‬‬
‫يستخدم لفتح المجلد مع عرض ما بداخله كما يستخدم لنسخ المجلد من مكان لخر‬

‫التصريح ‪: w‬‬
‫يستخدم لنقل المجلد من مكان لخر‬

‫التصريح ‪: w+x‬‬
‫يستخدم لمسح المجلد ويستخدم لنشاء ملف داخل المجلد ويستخدم لنسخ ملف من خارج‬
‫المجلد لداخله ويستخدم لنقل ملف من خارج المجلد إلى داخله والعكس ويستخدم لمسح‬
‫مابداخل المجلد من ملفات و مجلدات فرعية‬

‫ثانيا ‪ :‬تأثير التصاريح على العمليات التى يمكن إجراؤها على الملفات ‪:‬‬

‫التعديل على الملف‬ ‫مسح الملف‬ ‫نقل الملف‬ ‫نسخ الملف‬ ‫فتح الملف‬ ‫التصريح‬

‫‪0‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪r‬‬


‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪w‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪x‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪r+w‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪r+x‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪164‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪w+x‬‬

‫حيث ‪:‬‬
‫‪ 0‬تعنى أن العملية فشلت ) لم تتم (‬
‫‪ 2‬تعنى أن العملية قد تمت بنجاح‬

‫اما ‪ 1‬تعنى أنه يمكنك التعديل على الملف دون فتحه باستخدام المر ‪:‬‬

‫‪cat >> filename‬‬

‫نتيجة ‪:‬‬
‫التصريح ‪: r‬‬
‫يستخدم لفتح الملف و الطلع على مابداخله من بيانات ويستخدم لنسخ الملف من مكان‬
‫لخر‬

‫التصريح ‪: w‬‬
‫يستخدم لكى تستطيع الكتابة داخل الملف و التعديل على بياناته‬

‫التصريح ‪: r+x‬‬
‫يستخدم لكى تستطيع تنفيذ برنامج أو سكربت أو تسطيب البرامج‬

‫ملحظة ‪ :‬نقل الملفات من مكان لخر وحذفها ل يعتمد على التصاريح الممنوحة للملف و إما‬
‫يعتمد على التصاريح الممنوحة للمجلد الذى يحوى الملفات‬

‫وبذلك قد تكون إن شاء ال قد فهمت الغرض من وراء كل تصريح وتأثير التصريح الممنوح على‬
‫العمليات التى تجرى على الملف و المجلد ‪.‬‬

‫ويتحكم فى منح التصاريح صاحب الملف أي من قام بإنشائه وكذلك المستخدم الجذر‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪165‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ #‬المر ‪: chmod‬‬
‫يستخدم هذا المر لتغيير السماحيات على الملفات والمجلدات ومن خلل ذلك المر يمكن‬
‫تغيير السماحيات بالرقام و بالحرف‬

‫‪ -a‬تغيير السماحيات بالرقام ‪:‬‬


‫‪ -1‬إذا أردت تغيير السماحيات لملف أو مجلد اسمه ‪ era‬بحيث تمنح المالك جميع‬
‫الصلحيات وتمنح مجموعة المالك صلحية القراءة والتنفيذ و تمنح الخرين صلحية القراءة‬
‫فقط اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod 754 era‬‬

‫‪ -2‬إذا أردت تغيير السماحيات لمجلد بما يحتويه من ملفات و مجلدات فرعية وكان ذلك‬
‫المجلد اسمه ‪ dido‬بحيث تمنح المالك ومجموعته جميع الصلحيات ول تمنح الخرين أية‬
‫صلحيات اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod -R 770 full‬‬

‫‪ -b‬تغيير السماحيات بالحرف ‪:‬‬


‫وفى هذه الطريقة سوف نستبدل الرقام بالحرف ‪ .‬وتعد هذه الطريقة بدائية جدا وغير عملية بالمرة‬
‫بالمقارنة بالطريقة السابقة وذلك لعدم مرونتها حيث إننا لن نتمكن من تغيير الصلحيات للجهات‬
‫الثلث ) ‪ ( user , group , other‬فى آن واحد إل فى حالة وحيدة و نادرة وهى حالة‬
‫تساوى التصاريح الممنوحة لجميع الجهات السابق ذكرها ‪.‬‬
‫وقبل البدء فى الشرح يجب معرفة الرموز التية ‪:‬‬
‫‪ u‬تعنى ‪user‬‬
‫‪ g‬تعنى ‪group‬‬
‫‪ o‬تعنى ‪other‬‬
‫‪ a‬تعنى الكل أي ) ‪( user , group , other‬‬
‫‪ +‬لضافة تصريح‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪166‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫= لضافة تصريح‬
‫‪ -‬لسحب تصريح‬

‫‪ -1‬إذا كان لديك مجلد اسمه ‪ soca‬وأردت إعطاء مالكه جميع الصلحيات اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod u+rwx soca‬‬


‫أو‬
‫‪ahmed@the-game:~> chmod u=rwx soca‬‬

‫‪ -2‬إذا كان لديك مجلد اسمه ‪ soca‬وأردت إعطاء مجموعة مالكه صلحية القراءة و التنفيذ‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod g+rx soca‬‬


‫أو‬
‫‪ahmed@the-game:~> chmod g=rx soca‬‬

‫‪ -3‬إذا كان لديك مجلد اسمه ‪ soca‬وأردت إعطاء المستخدمين الخرين صلحية القراءة و‬
‫التنفيذ اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod o+rx soca‬‬


‫أو‬
‫‪ahmed@the-game:~> chmod o=rx soca‬‬

‫‪ -4‬إذا كان لديك مجلد اسمه ‪ noga‬وأردت إعطاء مالكه و مجموعته و المستخدمين‬
‫الخرين صلحية القراءة و التنفيذ اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod a+rx noga‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪167‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫أو‬
‫‪ahmed@the-game:~> chmod a=rx noga‬‬

‫‪ -5‬إذا كان لديك مجلد اسمه ‪ noga‬وأردت سحب صلحية القراءة و التنفيذ من‬
‫المستخدمين الخرين اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> chmod o-rx noga‬‬

‫‪ #‬المر ‪: chown‬‬
‫يستخدم لتغيير ملكية ملف معين إلى مستخدم جديد و إلى مجموعة جديده أيضا وذلك من‬
‫خلل المستخدم الجذر فقط ‪.‬‬

‫‪ -1‬إذا أردت تغيير ملكية ملف أو مجلد اسمه ‪ hima‬إلى المستخدم ‪ amr‬مع عدم تغيير‬
‫المجموعة المالكة لذلك الملف اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # chown amr hima‬‬

‫‪ -2‬إذا أردت تغيير ملكية ملف أو مجلد اسمه ‪ miro‬إلى المستخدم ‪ conan‬وتغيير المجموعة‬
‫المالكة لذلك الملف إلى المجموعة ‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # chown conan:family miro‬‬

‫ملحظة ‪ :‬ليس شرطا عند تغيير المجموعة المالكة للملف أن يكون صاحب الملف عضوا فى تلك‬
‫المجموعة فمثل هنا المستخدم ‪ conan‬ليس عضوا فى مجموعة ‪. family‬‬

‫‪ -3‬إذا أردت تغيير ملكية مجلد بما يحتويه من ملفات و مجلدات فرعية وكان ذلك المجلد‬
‫اسمه ‪ dido‬إلى المستخدم ‪ amr‬مع عدم تغيير المجموعة المالكة لذلك الملف اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪168‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # chown -R amr dido‬‬

‫‪ -4‬إذا أردت تغيير ملكية مجلد بما يحتويه من ملفات و مجلدات فرعية وكان ذلك المجلد‬
‫اسمه ‪ dido‬إلى المستخدم ‪ conan‬وتغيير المجموعة المالكة لذلك المجلد إلى المجموعة‬
‫‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # chown -R conan:family dido‬‬

‫‪ #‬المر ‪: chgrp‬‬
‫يستخدم لتغيير المجموعة التى ينتمى إليها ملف أو مجلد معين ‪.‬‬

‫‪ -1‬إذا أردت تغيير المجموعة التى ينتمى إليها ملف أو مجلد اسمه ‪ bibo‬إلى المجموعة‬
‫‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # chgrp family bibo‬‬

‫‪ -2‬إذا أردت تغيير المجموعة التى ينتمى إليه مجلد بما يحتويه من ملفات و مجلدات فرعية‬
‫وكان ذلك المجلد اسمه ‪ zizo‬إلى المجموعة ‪ family‬اكتب ما يلى ‪:‬‬

‫‪the-game:/home/ahmed # chgrp -R family zizo‬‬

‫كيفية إنشاء مستخدم ‪:‬‬

‫لنفرض أنك تريد عمل مستخدم اسمه ‪ adel‬كل ما عليك فعله هو اتباع الخطوات التالية ‪:‬‬
‫‪ -1‬أنشئ المستخدم بواسطة المر ‪ useradd‬وذلك كالتالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪169‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # useradd adel‬‬

‫‪ -2‬قم بعمل كلمة مرور لذلك المستخدم باستخدام المر ‪ passwd‬وذلك كالتالى ‪:‬‬

‫‪the-game:/home/ahmed # passwd adel‬‬

‫فتكون النتيجة كالتالى ‪:‬‬

‫‪Changing password for adel.‬‬


‫‪New Password:‬‬
‫‪Bad password: a palindrome‬‬
‫‪Reenter New Password:‬‬
‫‪Password changed.‬‬

‫حيث يطلب منك إدخال كلمة المرور الجديدة ثم يطلب منك إعادة إدخال كلمة المرور و‬
‫ذلك للتأكيد ‪.‬‬

‫‪ -3‬قم بإنشاء مجلد بيت خاص بالمستخدم ‪ adel‬وذلك كالتالى ‪:‬‬

‫‪the-game:/home/ahmed # mkdir /home/adel‬‬

‫‪ -4‬قم بنقل ملكية مجلد بيت المستخدم ‪ adel‬بما يحويه من مجلدات فرعية و ملفات من‬
‫المستخدم الجذر ‪ root‬إلى المستخدم ‪ adel‬وذلك كالتالى ‪:‬‬

‫‪the-game:/home/ahmed # chown -R adel /home/adel‬‬

‫‪ -5‬افتح الملف ‪ /etc/passwd‬بأى محرر نصوص وليكن ‪ mcedit‬وذلك كالتالى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪170‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪the-game:/home/ahmed # mcedit /etc/passwd‬‬

‫‪ -6‬ابحث داخل ذلك الملف عن السطر التالى ‪:‬‬

‫‪adel:x:1006:100::/home/adel:/bin/bash‬‬

‫وتأكد من أنه ينتهى ب ‪ /bin/bash‬أي يكون كالسطر السابق فإذا لم يكن كذلك ضع فى‬
‫نهايته ‪/bin/bash‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪171‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الفصل الثامن ‪ :‬ادارة العمليات‬

‫‪ #‬مقدمه ‪:‬‬
‫لكل عمليه تجرى فى النظام عمليه ام تقوم بتشغيل البرنامج الحقيقى ‪ .‬والعمليه الم لجميع العمليات‬
‫الخرى هى العمليه ‪ init‬فهى تتحكم بما يحدث عند تشغيل النظام و تتحكم بطريقة عمله ‪.‬‬
‫العمليه ‪ init‬تشكل جزء من النواه حيث انها تقوم بتوليد جميع العمليات الخرى عن طريق‬
‫مجموعة قيود موجوده فى الملف ‪ /etc/inittab‬فمثل عند ادخال المر ‪ find‬فى سطر الوامر‬
‫فان الصدفه هنا تمثل العمليه الم للمر ‪. find‬‬

‫تتمتع العمليات بجميع صلحيات المستخدم الذى اطلقها فى النظام وهذا المفهوم مهم لن هذا ما‬
‫يمنع مستخدم من الكتابه و التعديل على بيانات مستخدم اخر و كذلك يمنع قراءة البريد الخاص‬
‫بالمستخدمين الخرين ‪.‬‬

‫‪ - 1‬جعل برنامج يعمل فى الخلفية ‪:‬‬


‫ويتم ذلك باستخدام المعامل & بعد المر مباشرة وذلك لجعل المر يعمل فى الخلفيه اى ان‬
‫البرنامج يعمل دون ان يحتل سطر الوامر وبالتالى يمكنك الستفادة من سطر الوامر في كتابة أوامر‬
‫أخرى ‪ ،‬ويتم كتابة المعامل & بعد المر مباشرة ول يشترط ترك مسافه بينه وبين المر ‪ .‬فمثل اذا‬
‫اردت فتح برنامج الله الحاسبه ‪ xcalc‬و جعله يعمل فى الخلفيه اكتب ما يلى ‪:‬‬

‫&‪ahmed@the-game:~> xcalc‬‬

‫فتكون النتيجه هى طباعة رقم العمل على الشاشه يليه رقم العمليه ‪ process‬الخاصه بالبرنامج ‪.‬‬

‫‪ - 2‬تعليق برنامج ل يعمل فى الخلفية ‪:‬‬


‫تعليق البرنامج يعنى ايقافه عن العمل مؤقتا و ليس غلقه نهائيا‪ ،‬ويمكنك تعليق او ايقاف اى برنامج‬
‫عن العمل بالضغط على مفتاحى ‪. ctrl+z‬‬
‫فمثل اذا قمت بتشغيل برنامج الله الحاسبه ‪ xcalc‬من سطر الوامر دون ان تجعل العمل فى‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪172‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫الخلفيه ثم اردت لى سبب ما تعليق البرنامج او ايقافه عن العمل اضغط على مفتاحى ‪ ctrl+z‬و‬
‫ذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> xcalc‬‬
‫اضغط على ‪ctrl+z‬‬
‫‪[1]+ Stopped‬‬ ‫‪xcalc‬‬

‫فتكون النتيجه هى ايقاف او تعليق برنامج ‪ xcalc‬و طباعة رقم العمل على الشاشه يليه حالة البرنامج‬
‫يليه اسم البرنامج ‪.‬‬

‫‪ - 3‬عرض قائمه بالبرامج التى تعمل فى الخلفيه و البرامج المعلقه ‪:‬‬


‫يمكنك عرض قائمه بالبرامج التي تم إجراؤها بسطر الوامر ‪ ،‬والتى تعمل فى الخلفيه و البرامج المعلقه‬
‫باستخدام المر ‪ jobs‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> jobs‬‬
‫فتكون النتيجه كالتالى مثل ‪:‬‬
‫‪[1]- Running‬‬ ‫& ‪tvtime‬‬
‫‪[2]+ Stopped‬‬ ‫‪xcalc‬‬
‫فتكون النتيجه هى عرض رقم العمل الخاص بالبرنامج ثم عرض حالة البرنامج ثم عرض اسم البرنامج ‪.‬‬

‫‪ - 4‬اعادة برنامج معلق الى العمل فى المقدمة ‪:‬‬


‫يمكنك اعادة برنامج قمت بتعليقه للعمل فى المقدمة عن طريق المر ‪ fg‬فمثل اذا كنت قد‬
‫قمت بتشغيل برنامج ‪ xcalc‬من سطر الوامر ثم قمت بايقافه او تعليقه بالضغط على مفتاحى‬
‫‪ ctrl+z‬ثم أردت إرجاعه للعمل مره أخرى فما عليك إل كتابة المر ‪ fg‬يتبعه رقم العمل‬
‫ويمكنك تحديد رقم العمل باستخدام المر ‪ jobs‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> jobs‬‬
‫‪[1]+ Stopped‬‬ ‫‪xcalc‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪173‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> fg 1‬‬

‫فتكون النتيجه هى اعادة البرنامج المعلق او الموقوف الى العمل فى المقدمة ‪.‬‬

‫‪ - 5‬اعادة برنامج معلق الى العمل فى الخلفية ‪:‬‬


‫يمكنك إعادة برنامج قمت بتعليقه للعمل فى الخلفيه عن طريق المر ‪ bg‬فمثل اذا كنت قد‬
‫قمت بتشغيل برنامج ‪ xcalc‬من سطر الوامر ثم قمت بإيقافه او تعليقه بالضغط على مفتاحى‬
‫‪ ctrl+z‬ثم أردت إرجاعه للعمل مره أخرى فى الخلفية فما عليك إل كتابة المر ‪ bg‬يتبعه رقم‬
‫العمل ويمكنك تحديد رقم العمل باستخدام المر ‪ jobs‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> jobs‬‬
‫‪[1]+ Stopped‬‬ ‫‪xcalc‬‬
‫‪ahmed@the-game:~> bg 1‬‬
‫& ‪[1]+ xcalc‬‬

‫فتكون النتيجه هى عرض رقم العمل و اسم البرنامج و بجانبه المعلمه & ) اى ان البرنامج سوف يعمل‬
‫فى الخلفيه ( ‪.‬‬

‫‪ #‬المر ‪: ps‬‬
‫وظيفة هذا المر عمل تقرير عن العمليات التى تجرى حاليا ‪.‬‬

‫‪ -1‬اذا اردت عرض قائمه بجميع العمليات التى يملكها المستخدم الحالى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ps‬‬

‫فتكون النتيجة مثل كالتالى ‪:‬‬

‫‪PID TTY‬‬ ‫‪TIME CMD‬‬


‫‪8261 pts/1 00:00:00 bash‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪174‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪8270 pts/1 00:00:00 ps‬‬

‫حيث ‪:‬‬
‫‪ PID‬يمثل رقم العمليه و هو رقم خاص بكل عمليه فل تتشابه عمليتان فى هذا الرقم ‪.‬‬
‫‪ TTY‬المحطه الطرفيه التى تعمل عليها ‪.‬‬
‫‪ TIME‬كمية الوقت الذى اخذته العمليه من المعالج او زمن وحدة المعالجه المركزيه ‪.‬‬
‫‪ CMD‬اسم العمليه ذاتها ‪.‬‬

‫‪ -2‬اذا اردت عرض قائمه بجميع العمليات التى يملكها المستخدم الحالى مع عرض بعض المعلومات‬
‫الضافيه عن تلك العمليات اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ps u‬‬

‫فتكون النتيجه مثل كالتالى ‪:‬‬

‫‪USER‬‬ ‫‪PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND‬‬
‫‪ahmed 8452 0.1 0.4 5008 2364‬‬ ‫‪pts/2 Rs‬‬ ‫‪04:55 0:00 /bin/bash‬‬
‫‪ahmed 8468 0.0 0.1 2580 992‬‬ ‫‪pts/2 R+‬‬ ‫‪04:56 0:00 ps u‬‬

‫حيث ‪:‬‬
‫‪ USER‬هو اسم المستخدم ‪.‬‬
‫‪ CPU%‬النسبه المئويه التى تستخدمها العمليه من سرعة الجهاز الكليه ‪.‬‬
‫‪ MEM%‬النسبه المئويه التى تستخدمها العمليه من الذاكره ‪.‬‬
‫‪ STAT‬حالة العمليه ) ‪ R‬تعنى ‪ running‬اى قيد التشغيل ( و ) ‪ s‬تعنى ‪ sleeping‬اى نائمه ( و‬
‫) ‪ T‬تعنى ‪ stopped‬اى متوقفه ( و ) ‪ Z‬تعنى ‪. ( zombie‬‬
‫‪ VSZ‬المساحه المستخدمه من الذاكره الفتراضيه بالكيلوبايت ‪.‬‬
‫‪ RSS‬المساحه المستخدمه من الذاكره الفيزيائيه الرامات بالكيلوبايت ‪.‬‬

‫‪ -3‬اذا اردت معرفة الرقم الساسى للعمليات ‪ ppid‬استخدم الخيار ‪ -l‬وذلك كما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪175‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> ps -l‬‬

‫فتكون النتيجه مثل كالتالى ‪:‬‬

‫‪F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY‬‬ ‫‪TIME CMD‬‬
‫‪0 R 1000 2635 2575 0 80 0 - 1253 -‬‬ ‫‪pts/2 00:00:00 bash‬‬
‫‪0 R 1000 2644 2635 0 80 0 - 592 -‬‬ ‫‪pts/2 00:00:00 ps‬‬

‫‪ -4‬اذا اردت معرفة جميع العمليات التى تعمل الن فى لينكس اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ps -A‬‬
‫‪ -5‬اذا اردت عرض العمليات على شكل شجره تبين العملية الم والعلقة بين العمليات المختلفة‬
‫اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ps f‬‬

‫‪ -6‬اذا اردت عرض جميع العمليات الخاصه التى بدأها المستخدم الحالى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> ps -ux‬‬

‫‪ #‬المر ‪: pstree‬‬
‫يستخدم لعرض جميع العمليات و البرامج الجاري تشغيلها على شكل شجرى جميل جدا‬

‫‪ -1‬اذا اردت عرض جميع العمليات و البرامج الجارى تشغيلها على شكل شجرى اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> pstree‬‬

‫‪ -2‬اذا اردت عرض جميع العمليات الخاصة بمستخدم معين اسمه ‪ ahmed‬اكتب ما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪176‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> pstree ahmed‬‬

‫‪ -3‬اذا اردت عرض جميع العمليات الجارى تشغيلها مع عرض ارقام العمليات ‪ pid‬استخدم الخيار‬
‫‪ -p‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> pstree -p‬‬

‫‪ #‬المر ‪: kill‬‬
‫يستخدم لرسال اشارات الى العمليات ويوجد ‪ 64‬اشارة متاحه و الشارة الفتراضية هى‬
‫‪ SIGTERM‬وتحمل القيمة ‪ 15‬وهذه الشارة يمكنك من خللها انهاء عمل البرنامج و العمليات‬
‫غير المرغوب فيها اى حذفها من النظام ‪.‬‬

‫يمكن للمستخدم العادى انهاء البرامج و العمليات التى تعود ملكيتها اليه فقط ول يمكنه انهاء البرامج‬
‫و العمليات التى ليملكها بينما يستطيع المستخدم الجذر انهاء اى عملية او برنامج فى النظام ‪.‬‬

‫‪ -1‬لعرض قائمة بالشارات المتاحة وقيمها استخدم الخيار ‪ -l‬وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> kill -l‬‬

‫‪ -a‬انهاء عمل برنامج باستخدام رقم العملية ‪:‬‬


‫‪ -2‬اذا اردت انهاء برنامج او عملية ما اكتب رقم العمليه ‪ pid‬بعد المر ‪ kill‬مباشرة وذلك كما‬
‫يلى ‪:‬‬

‫‪ahmed@the-game:~> kill 2526‬‬


‫اذا رفض البرنامج او العملية النتهاء قم بارسال الشارة ‪ SIGKILL‬والتى تحمل القيمة ‪9‬‬
‫) ووظيفتها انهاء العمليات عن طريق نواة النظام ( بحيث تضع بعد تلك الشارة رقم العملية ‪pid‬‬
‫وذلك كما يلى ‪:‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪177‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ahmed@the-game:~> kill -9 2526‬‬


‫اذا رفض البرنامج ان يتم غلقه استخدم رقم العملية الرئيسى ‪ ppid‬لنهاؤه وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> kill 3068‬‬

‫اذا لم تنتهى العمليه او البرنامج المراد انصحك بالتحول الى المستخدم الجذر لنهاء ذلك البرنامج لنه‬
‫قد يكون ذلك البرنامج او العمليه مملوك للمستخدم الجذر ‪.‬‬

‫السبب فى بقاء بعض العمليات بعد الغاؤها و عند الكشف عليها بالمر ‪ ps‬وجد انها تعمل ولكن‬
‫برقم ‪ pid‬جديد هو ان هذه العمليه قد تم تشغيلها من قبل برنامج اخر لذلك فان الخيار المثالى هو‬
‫انهاء تلك العملية باستخدام رقم العمليه الرئيسى ‪ ppid‬كما سبق واوضحنا ‪.‬‬

‫طبعا يمكنك الحصول على رقم العمليه ‪ pid‬ورقم العمليه الساسى ‪ ppid‬من خلل المر ‪ps‬‬
‫وذلك كما سبق ان اوضحنا ‪.‬‬

‫‪ -3‬اذا اردت انهاء عدة عمليات معا اكتب ارقام العمليات بعد المر ‪ kill‬مع ترك مسافة بين كل‬
‫رقم عمليه و الخرى وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> kill 3068 2258 9638 9523‬‬

‫‪ -b‬انهاء عمل برنامج باستخدام اسم البرنامج ‪:‬‬


‫‪ -4‬يمكن انهاء عمل برنامج بواسطة اسمه مع وضع علمة ‪ %‬قبل اسم البرنامج مباشرة فمثل لنهاء‬
‫عمل برنامج ‪ xcalc‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> kill %xcalc‬‬

‫وهذه الطريقه قد ل تصلح مع كل البرامج‬

‫‪ -c‬انهاء عمل برنامج باستخدام رقم العمل الخاص به‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪178‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫‪ -5‬يمكنك انهاء عمل برنامج بواسطة رقم العمل الخاص به وذلك بوضع علمة ‪ %‬قبل رقم العمل‬
‫البرنامج مباشرة فمثل اذا قمت بتشغيل برنامج ‪ tvtime‬من الترمينال فى الخلفيه و اردت انهاء‬
‫عمله اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> kill %1‬‬

‫وطبعا رقم العمل يمكنك الحصول عليه من خلل المر ‪ jobs‬كما اوضحنا سابقا‬

‫‪ #‬المر ‪: killall‬‬
‫يستخدم لنهاء العمليات و البرامج بواسطة اسمائها ‪.‬‬

‫اذا اردت انهاء برنامج او عملية ما اكتب اسم العمليه بعد المر ‪ killall‬مباشرة فمثل اذا اردت‬
‫انهاء برنامج ‪ xcalc‬اكتب ما يلى ‪:‬‬

‫‪ahmed@the-game:~> killall xcalc‬‬

‫اذا رفض البرنامج او العمليه النتهاء استخدم الخيار ‪ -9‬متبوعا باسم العمليه وذلك كما يلى ‪:‬‬

‫‪ahmed@the-game:~> killall -9 xcalc‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪179‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪180‬‬


‫سبحان ال وبحمده سبحان ال العظيم‬ ‫الحمد ل رب العالمين‬

‫خاتمه ‪:‬‬

‫الحمد ل رب العالمين و الصلة والسلم على أشرف المرسلين و خاتم‬


‫النبيين ورحمة ال للعالمين سيدنا محمد و على آله وصحبه أجمعين ‪.‬‬

‫تم بعون ال وفضله النتهاء من تأليف وإخراج هذا الكتاب فى ليلة‬


‫الربعاء ‪ 25‬رمضان ‪ 1429‬هجريا – ‪ 25‬سبتمبر ‪ 2008‬ميلديا‬
‫الساعه ‪ 01:24‬صباحا ‪.‬‬

‫أسال ال العظيم رب العرش العظيم أن يجعل هذا الكتاب فى ميزان‬


‫حسناتي و حسنات والدتى وأرجو من كل من يقرأ هذا الكتاب الدعاء‬
‫بالخيرات ودخول الجنة لى و لمى الحبيبة ‪.‬‬

‫المؤلف ‪ :‬مهندس ‪ /‬أحمد السيد أحمد على‬


‫البلد ‪ :‬مصر‬
‫المدينه ‪ :‬السكندرية‬
‫البريد اللكترونى للتواصل ‪:‬‬
‫‪remstereo555@yahoo.com‬‬
‫‪remstereo@gmail.com‬‬
‫السم المستعار فى منتديات لينكس هو ‪remstereo‬‬

‫دليل المستخدم العربى فى أوامر لينكس‬ ‫‪181‬‬

You might also like