SlideShare a Scribd company logo
1 of 31
Red Hat Enterprise Linux 7
Presented By: Mohammad Bany Almarjh
CHAPTER 2 :USING ESSENTIAL TOOLS
1- Basic Shell Skills
2- Editing Files with vim
3- Understanding the Shell Environment
4- Finding Help
‫تناولها‬ ‫سيتم‬ ‫التي‬ ‫األفكار‬:
1- Basic Shell Skills
‫الـ‬shell‫لينوكس‬ ‫أنظمة‬ ‫لمدراء‬ ‫األساسية‬ ‫العمل‬ ‫بيئة‬ ‫هي‬
‫تقبل‬‫األوامر‬ ‫أو‬ ‫التعليمات‬‫وتقوم‬ ‫المستخدم‬ ‫من‬‫ليتم‬ ‫النظام‬ ‫نواة‬ ‫إلى‬ ‫بتمريرها‬‫تنفيذها‬
‫هناك‬‫من‬ ‫العديد‬‫الـ‬shells‫الـ‬ ‫لكن‬bash shell‫هي‬‫شيوعا‬ ‫األكثر‬‫لينوكس‬ ‫أنظمة‬ ‫في‬
‫الـ‬ ‫أنواع‬commands‫الـ‬ ‫في‬ ‫كتابتها‬ ‫يمكن‬ ‫التي‬shell:
Aliases:‫المستخدم‬ ‫قبل‬ ‫من‬ ‫تعرف‬ ‫أوامر‬ ‫هي‬
•‫هناك‬aliases‫مثل‬ ‫افتراضي‬ ‫بشكل‬ ‫معرفة‬:ll=’ls -l --color=auto’
•‫تعريف‬ ‫يمكن‬alias‫التالية‬ ‫بالصيغة‬:alias newcommand=’oldcommand’
•‫بالـ‬ ‫قائمة‬ ‫طباعة‬ ‫يمكن‬aliases‫األمر‬ ‫طريق‬ ‫عن‬ ‫افتراضي‬ ‫بشكل‬ ‫المعرفة‬:alias
‫مثال‬:
‫الـ‬ ‫تكون‬aliases‫فقط‬ ‫عرفها‬ ‫الذي‬ ‫للمستخدم‬ ‫متاحة‬
‫الـ‬ ‫بنفس‬ ‫أوامر‬ ‫عدة‬ ‫تضمين‬ ‫يمكن‬alias‫بـ‬ ‫فصلها‬ ‫طريق‬ ‫عن‬;,‫مثال‬:
‫الـ‬ ‫استخدام‬aliases:
‫األوامر‬ ‫كتابة‬ ‫تسهيل‬
‫الـ‬ ‫تحديد‬options‫ما‬ ‫ألمر‬ ‫االفتراضية‬,‫مثال‬:
‫األوامر‬ ‫بكتابة‬ ‫األخطاء‬ ‫تصحيح‬,‫مثال‬:
‫تفاعلية‬ ‫األوامر‬ ‫جعل‬ ‫طريق‬ ‫عن‬ ‫األمن‬ ‫زيادة‬,‫مثال‬:
‫المختلفة‬ ‫التوزيعات‬ ‫بين‬ ‫ما‬ ‫ألمر‬ ‫معياري‬ ‫اسم‬ ‫استخدام‬
‫الـ‬ ‫جعل‬aliases‫دائمة‬:‫ملف‬ ‫إلى‬ ‫إضافته‬ ‫طريق‬ ‫عن‬.bashrc‫الـ‬ ‫في‬ ‫الموجود‬home directory
‫حذف‬alias:‫األمر‬ ‫طريق‬ ‫عن‬:unalias [-a] name(s)
1- Basic Shell Skills
1- Basic Shell Skills
Internal commands:‫الـ‬ ‫من‬ ‫جزء‬ ‫أوامر‬ ‫هي‬shell‫نفسها‬
•‫القرص‬ ‫من‬ ‫للقراءة‬ ‫الحاجة‬ ‫بدون‬ ‫الذاكرة‬ ‫من‬ ‫متاحة‬ ‫تكون‬
External commands:‫القرص‬ ‫على‬ ‫تنفيذية‬ ‫ملفات‬ ‫ضمن‬ ‫توجد‬ ‫التي‬ ‫األوامر‬ ‫هي‬
•‫أبطأ‬ ‫األوامر‬ ‫هذه‬ ‫تعتبر‬
‫الـ‬ ‫تتأكد‬ ‫أمر‬ ‫كتابة‬ ‫عند‬shell‫الـ‬ ‫ضمن‬ ‫األمر‬ ‫هذا‬ ‫كان‬ ‫إن‬ ‫أوال‬internal commands
‫تجده‬ ‫لم‬ ‫إذا‬,‫األمر‬ ‫هذا‬ ‫عن‬ ‫القرص‬ ‫على‬ ‫التنفيذية‬ ‫الملفات‬ ‫ضمن‬ ‫بالبحث‬ ‫تقوم‬
‫األمر‬ ‫نستخدم‬ ‫ما‬ ‫أمر‬ ‫نوع‬ ‫لمعرفة‬type
‫الـ‬ ‫مكان‬ ‫لتحديد‬external commands‫المتحول‬ ‫استخدام‬ ‫يتم‬$PATH
‫المتحول‬ ‫يحوي‬$PATH‫بالـ‬ ‫قائمة‬directories‫تنفي‬ ‫ملف‬ ‫عن‬ ‫البحث‬ ‫عند‬ ‫ضمنها‬ ‫البحث‬ ‫يتم‬ ‫التي‬‫ذي‬
‫ما‬ ‫بأمر‬ ‫خاص‬
1- Basic Shell Skills
‫تستخدمه‬ ‫الذي‬ ‫التنفيذي‬ ‫الملف‬ ‫لمعرفة‬shell‫ما‬ ‫أمر‬ ‫لتنفيذ‬,‫األمر‬ ‫نستخدم‬which
‫الـ‬ ‫في‬ ‫يوجد‬ ‫أمر‬ ‫لتنفيذ‬directorycurrent‫نكتب‬./‫األمر‬ ‫اسم‬ ‫قبل‬
‫المتحول‬$PATH‫الحالي‬ ‫المستخدم‬ ‫حسب‬ ‫قيمته‬ ‫تختلف‬ ‫أن‬ ‫يمكن‬
‫الـ‬ ‫مثال‬root user‫العادي‬ ‫المستخدم‬ ‫يحتاجها‬ ‫ال‬ ‫باإلدارة‬ ‫خاصة‬ ‫إضافية‬ ‫ألوامر‬ ‫يحتاج‬
1- Basic Shell Skills
I/O Redirection:
‫افتراضي‬ ‫بشكل‬ ‫الشاشة‬ ‫على‬ ‫الخرج‬ ‫طباعة‬ ‫يتم‬ ‫أمر‬ ‫تنفيذ‬ ‫يتم‬ ‫عندما‬
‫الـ‬ ‫الحاسب‬ ‫شاشة‬ ‫تعتبر‬standard output(‫بـ‬ ‫أيضا‬ ‫يسمى‬STDOUT)
‫الـ‬ ‫المفاتيح‬ ‫لوحدة‬ ‫تعتبر‬standard input(‫بـ‬ ‫أيضا‬ ‫يسمى‬STDIN)
‫الـ‬ ‫الحاسب‬ ‫شاشة‬ ‫تعتبر‬standard error(‫بـ‬ ‫أيضا‬ ‫يسمى‬STDERR)
‫من‬ ‫تقرأ‬ ‫البرامج‬channel 0(‫تسمى‬ ‫أو‬file descriptor)‫الـ‬ ‫من‬ ‫للقراءة‬STDIN,‫على‬ ‫وتكتب‬
file descriptor 1‫الخرج‬ ‫لعرض‬,‫و‬file descriptor 2‫األخطاء‬ ‫رسائل‬ ‫لعرض‬
‫الـ‬ ‫افترضي‬ ‫بشكل‬file descriptors‫والشاشة‬ ‫المفاتيح‬ ‫لوحة‬ ‫مع‬ ‫متصلة‬
‫باستخدام‬I/O Redirection‫الـ‬ ‫وصل‬ ‫يمكن‬file descriptors‫أخرى‬ ‫أوامر‬ ‫أو‬ ‫ملفات‬ ‫مع‬
‫الـ‬symbols‫الـ‬ ‫في‬ ‫سنستخدمها‬ ‫التي‬redirection‫هي‬:< , > , |
1- Basic Shell Skills
‫الشرح‬ Redirector
‫توجيه‬ ‫تعيد‬STDOUT.‫فوقه‬ ‫الكتابة‬ ‫سيتم‬ ‫لملف‬ ‫التوجيه‬ ‫أعدنا‬ ‫إذا‬ >(‫أو‬1>)
‫توجيه‬ ‫تعيد‬STDOUT.‫أعدنا‬ ‫إذا‬‫للملف‬ ‫الخرج‬ ‫إلحاق‬ ‫سيتم‬ ‫لملف‬ ‫التوجيه‬ >>(‫أو‬1>>)
‫تعيد‬‫توجيه‬STDERR 2>
‫تعيد‬‫توجيه‬STDERR‫و‬STDOUT‫الملف‬ ‫لنفس‬ 2>&1
‫توجيه‬ ‫تعيد‬STDIN <(‫أو‬0<)
‫استخدام‬ ‫عند‬ ‫نالحظ‬>‫الملف‬ ‫فوق‬ ‫الكتابة‬ ‫يتم‬ ‫أنه‬,‫األمر‬ ‫نستخدم‬ ‫ذلك‬ ‫لمنع‬:set –o noclobber
‫نستخدم‬>|‫المنع‬ ‫لتجاوز‬
‫طريق‬ ‫عن‬&>‫الـ‬ ‫نضع‬stdout‫و‬stderr‫الـ‬ ‫بنفس‬stream,‫مثال‬:
<< here document:‫محددة‬ ‫لمحارف‬ ‫الوصول‬ ‫حتى‬ ‫لملف‬ ‫دخل‬ ‫إللحاق‬ ‫تستخدم‬(‫عادة‬EOF)
<<< here string:‫لتمرير‬ ‫تستخدم‬string‫ما‬ ‫ألمر‬,‫مثال‬:
‫التوجيه‬ ‫إعادة‬‫إلى‬device file:
‫الـ‬device file‫إلى‬ ‫للوصول‬ ‫يستخدم‬ ‫ملف‬ ‫هو‬hardware‫محدد‬
‫مثال‬‫طريق‬ ‫عن‬ ‫الصلب‬ ‫القرص‬ ‫إلى‬ ‫الوصول‬ ‫يمكن‬/dev/sda
‫إلى‬ ‫التوجيه‬ ‫نعيد‬ ‫أن‬ ‫يمكن‬ ‫ما‬ ‫أمر‬ ‫خرج‬ ‫من‬ ‫للتخلص‬/dev/null‫مثال‬:
1- Basic Shell Skills
1- Basic Shell Skills
‫استخدام‬pipes‫التوجيه‬ ‫إلعادة‬:
‫الـ‬pipe‫آخر‬ ‫ألمر‬ ‫كدخل‬ ‫وتستخدمه‬ ‫ما‬ ‫أمر‬ ‫خرج‬ ‫تأخذ‬,‫مثال‬:
•‫األمرين‬ ‫بدأ‬ ‫سيتم‬ls‫و‬less‫التوازي‬ ‫على‬
•‫تكتبه‬ ‫ما‬ ‫كل‬ls‫للـ‬standard output‫ستقرأه‬less‫كـ‬standard input
•‫خرج‬ ‫بعرض‬ ‫السابق‬ ‫األمر‬ ‫يفيد‬|‫التصفح‬ ‫سهلة‬ ‫بطريقة‬
‫الـ‬ ‫ستخدم‬ُ‫ت‬pipes‫لينوكس‬ ‫أنظمة‬ ‫إدارة‬ ‫عند‬ ‫مركبة‬ ‫أوامر‬ ‫لكتابة‬ ‫بكثرة‬
‫مالحظة‬:‫الـ‬pipes‫آلخر‬ ‫أمر‬ ‫من‬ ‫البيانات‬ ‫توجيه‬ ‫تعيد‬,‫بينما‬>‫و‬>>‫حصرا‬ ‫لملفات‬ ‫الخرج‬ ‫التوجيه‬ ‫تعيد‬
‫مثال‬1:‫التعليمة‬ ‫خرج‬ ‫بتوجيه‬ ‫نقوم‬ls‫نصي‬ ‫ملف‬ ‫إلى‬:
‫مثال‬2:‫األمر‬ ‫نخبر‬sort‫نصي‬ ‫ملف‬ ‫من‬ ‫دخله‬ ‫يأخذ‬ ‫أن‬:
‫مثال‬3:‫أوامر‬ ‫عدة‬ ‫عبر‬ ‫الخرج‬ ‫توجيه‬ ‫بإعادة‬ ‫نقوم‬:
‫مثال‬4:‫الـ‬ ‫تمرير‬ ‫نستطيع‬ ‫ال‬ ‫العادة‬ ‫في‬stderr‫عبر‬|‫ألن‬stdout‫لوحده‬ ‫يمرر‬,‫االثنين‬ ‫بتمرير‬ ‫سنقوم‬:
1- Basic Shell Skills
1- Basic Shell Skills
‫الـ‬ ‫مع‬ ‫التعامل‬History:
‫الـ‬ ‫تحتفظ‬Bash‫بـ‬ ‫افتراضي‬ ‫بشكل‬1000‫سابقا‬ ‫استخدامه‬ ‫تم‬ ‫أمر‬
‫الـ‬ ‫إغالق‬ ‫يتم‬ ‫عندما‬shell session,‫الـ‬ ‫كتابة‬ ‫يتم‬history‫بالـ‬ ‫الخاص‬session‫إلى‬history file
‫الملف‬ ‫اسم‬.bash_history‫الـ‬ ‫في‬ ‫وينشأ‬home directory‫للمستخدم‬
•‫المتحول‬HISTFILESIZE:‫الـ‬ ‫ضمن‬ ‫بها‬ ‫االحتفاظ‬ ‫سيتم‬ ‫التي‬ ‫األوامر‬ ‫عدد‬ ‫يحدد‬history file
•‫المتحول‬HISTSIZE:‫الـ‬ ‫ضمن‬ ‫الذاكرة‬ ‫في‬ ‫ستخزن‬ ‫التي‬ ‫األوامر‬ ‫عدد‬ ‫يحدد‬session
‫الـ‬ ‫لملف‬ ‫لإللحاق‬history‫نضيف‬ ‫فوقه‬ ‫الكتابة‬ ‫بدل‬:shopt -s histappend
‫الـ‬ ‫من‬ ‫مباشرة‬ ‫الكتابة‬ ‫لتفعيل‬session‫الملف‬ ‫إلى‬:history –a
‫األمر‬ ‫طريق‬ ‫عن‬history‫الـ‬ ‫في‬ ‫األوامر‬ ‫بجميع‬ ‫قائمة‬ ‫نظهر‬bash history
‫على‬ ‫بالضغط‬Ctrl+R‫سابقا‬ ‫باستخدامها‬ ‫قمنا‬ ‫التي‬ ‫األوامر‬ ‫ضمن‬ ‫ببحث‬ ‫نقوم‬ ‫أن‬ ‫يمكن‬
‫مثال‬:Ctrl+R‫بـ‬ ‫يبدأ‬ ‫أمر‬ ‫آخر‬ ‫نظهر‬ ‫ثم‬c
‫الـ‬ ‫من‬ ‫أوامر‬ ‫تنفيذ‬history:
!number‫األمر‬ ‫تنفذ‬‫الرقم‬ ‫ذو‬number‫الـ‬ ‫ضمن‬history
!-number‫الرقم‬ ‫ذو‬ ‫األمر‬ ‫تنفذ‬number‫أمر‬ ‫آخر‬ ‫من‬ ‫بدءا‬
!!‫أمر‬ ‫آخر‬ ‫تنفذ‬
!sometext‫تنفذ‬‫بـ‬ ‫يبدأ‬ ‫أمر‬ ‫آخر‬sometext(‫مثال‬!ssh)
!?sometext?‫يحوي‬ ‫أمر‬ ‫أخر‬ ‫تنفذ‬sometext
‫أمر‬ ‫كتابة‬ ‫عند‬ ‫خطأ‬ ‫لتصحيح‬^original^replacement^
1- Basic Shell Skills
‫تنفيذها‬ ‫نعيد‬ ‫التي‬ ‫التعليمة‬ ‫من‬ ‫معين‬ ‫قسم‬ ‫نحدد‬ ‫أن‬ ‫يمكن‬,‫بـ‬ ‫مفصولة‬ ‫ألجزاء‬ ‫تقسم‬ ‫تعليمة‬ ‫كل‬ ‫أن‬ ‫حيث‬space‫من‬ ‫بدئا‬ ‫ومرقمة‬0
‫آخر‬portion‫بـ‬ ‫له‬ ‫يرمز‬$
‫الـ‬ ‫جميع‬ ‫على‬ ‫الحصول‬ ‫يمكن‬arguments‫خالل‬ ‫من‬ ‫ألمر‬:!!:1*‫أو‬!!:1-$
‫الـ‬ ‫استخدام‬modifiers:
h modifier‫بعد‬ ‫القسم‬ ‫يقتص‬/
t modifier‫بعد‬ ‫القسم‬ ‫يعيد‬/
(‫مثال‬less !nano:$:t)
1- Basic Shell Skills
r modifier‫يقتص‬‫الالحقة‬
e modifier‫يعيد‬‫الالحقة‬
p modifier‫يتم‬ ‫الذي‬ ‫األمر‬ ‫يطبع‬‫إعادته‬
‫نكتب‬ ‫طباعته‬ ‫بعد‬ ‫األمر‬ ‫تنفيذ‬ ‫أردنا‬ ‫إذا‬:Ctrl + p
‫يمكننا‬‫باستخدام‬ ‫أخرى‬ ‫بكلمة‬ ‫كلمة‬ ‫استبدال‬:
s/original/new/
1- Basic Shell Skills
1- Basic Shell Skills
Bash Completion:
‫الـ‬ ‫تقدمها‬ ‫هامة‬ ‫ميزة‬ ‫يعتبر‬ ‫التلقائي‬ ‫اإلكمال‬bash shell
‫الـ‬ ‫وحتى‬ ‫واألوامر‬ ‫الملفات‬ ‫وأسماء‬ ‫المتحوالت‬ ‫على‬ ‫التلقائي‬ ‫اإلكمال‬ ‫يعمل‬arguments‫باألوامر‬ ‫الخاصة‬
‫المفتاح‬ ‫على‬ ‫نضغط‬ ‫ثم‬ ‫األمر‬ ‫بداية‬ ‫نكتب‬Tab
‫تلقائي‬ ‫بشكل‬ ‫األمر‬ ‫كتابة‬ ‫إكمال‬ ‫سيتم‬ ‫وحيد‬ ‫خيار‬ ‫هناك‬ ‫كان‬ ‫إذا‬
‫المفتاح‬ ‫على‬ ‫بالضغط‬ ‫نقوم‬ ‫خيار‬ ‫من‬ ‫أكثر‬ ‫هناك‬ ‫كان‬ ‫إذا‬Tab‫الخيارات‬ ‫بجميع‬ ‫قائمة‬ ‫على‬ ‫للحصول‬ ‫أخرى‬ ‫مرة‬
‫المتاحة‬
‫الملف‬/etc/bash_completion‫الـ‬ ‫ضمن‬ ‫تحميله‬ ‫ويتم‬ ‫التلقائي‬ ‫اإلكمال‬ ‫عن‬ ‫المسؤول‬ ‫يعتبر‬shell
2- Editing Files with vim
‫لينوكس‬ ‫في‬ ‫أساسي‬ ‫يعتبر‬ ‫ما‬ ‫خدمة‬ ‫إلعداد‬ ‫الملفات‬ ‫مع‬ ‫التعامل‬
‫معها‬ ‫العمل‬ ‫يمكن‬ ‫التي‬ ‫النصوص‬ ‫محررات‬ ‫من‬ ‫العديد‬ ‫هناك‬
‫المحررات‬ ‫هذه‬ ‫أهم‬ ‫من‬,‫النصوص‬ ‫محرر‬vi
vim‫على‬ ‫تحسين‬ ‫يعد‬ ‫نصوص‬ ‫محرر‬ ‫هو‬vi(‫لـ‬ ‫اختصار‬ ‫االسم‬vi improved)
‫على‬ ‫التحسينات‬ ‫من‬ ‫العديد‬ ‫تضمين‬ ‫تم‬vim‫أسهل‬ ‫معه‬ ‫التعامل‬ ‫لجعل‬
‫مثل‬:syntax highlighting(‫أسهل‬ ‫األخطاء‬ ‫اكتشاف‬ ‫يجعل‬ ‫مما‬)
‫يعمل‬vim‫الـ‬ ‫من‬ ‫عدد‬ ‫ضمن‬modes‫أهمها‬:
command mode:‫النصي‬ ‫الملف‬ ‫محتوى‬ ‫تغيير‬ ‫يمكن‬ ‫ال‬ ‫لكن‬ ‫ما‬ ‫أمر‬ ‫كتابة‬ ‫يمكن‬
input mode:‫النصي‬ ‫الملف‬ ‫محتوى‬ ‫تغيير‬ ‫يمكن‬
2- Editing Files with vim
‫الوظيفة‬ ‫األمر‬
‫الـ‬ ‫إلى‬ ‫يدخل‬command mode(‫أمر‬ ‫أي‬ ‫كتابة‬ ‫قبل‬ ‫ضغطه‬ ‫يجب‬) Esc
‫يدخل‬‫الـ‬ ‫إلى‬input mode(‫استخدام‬ ‫عند‬ ‫للمؤشر‬ ‫الحالي‬ ‫الموضع‬ ‫بعد‬a) i ,a
‫يدخل‬‫للـ‬input mode‫جديد‬ ‫سطر‬ ‫طباعة‬ ‫مع‬ o
‫يحفظ‬‫المحرر‬ ‫ويغلق‬ ‫الحالي‬ ‫الملف‬ ‫محتويات‬ :wq
‫للتعديالت‬ ‫حفظ‬ ‫إجراء‬ ‫بدون‬ ‫المحرر‬ ‫يغلق‬ :q!
‫المحدد‬ ‫باالسم‬ ‫الملف‬ ‫يحفظ‬filename :w filename
‫الحالي‬ ‫السطر‬ ‫يحذف‬ dd
‫ينسخ‬‫الحالي‬ ‫السطر‬ yy
‫لنص‬ ‫باللصق‬ ‫يقوم‬‫منسوخ‬ p
‫للـ‬ ‫يدخل‬visual mode(‫الذي‬‫وقصه‬ ‫نص‬ ‫باختيار‬ ‫يسمح‬d‫نسخه‬ ‫أو‬y) v
‫يتراجع‬‫أمر‬ ‫آخر‬ ‫عن‬ u
2- Editing Files with vim
‫الوظيفة‬ ‫األمر‬
‫يتراجع‬‫تراجع‬ ‫آخر‬ ‫عن‬ Ctrl+r
‫يذهب‬‫الملف‬ ‫في‬ ‫سطر‬ ‫ألول‬ gg
‫يذهب‬‫الملف‬ ‫في‬ ‫سطر‬ ‫آلخر‬ G
‫يبحث‬‫عن‬text‫للمؤشر‬ ‫الحالي‬ ‫الموقع‬ ‫من‬ ‫بدءا‬ /text
‫يبحث‬‫عن‬text‫للمؤشر‬ ‫الحالي‬ ‫الموقع‬ ‫قبل‬ ?text
‫ألول‬ ‫يذهب‬‫الحالي‬ ‫السطر‬ ‫في‬ ‫محرف‬ ^
‫الحالي‬ ‫السطر‬ ‫في‬ ‫محرف‬ ‫آلخر‬ ‫يذهب‬ $
‫األمر‬ ‫خرج‬ ‫يطبع‬command‫الحالي‬ ‫الملف‬ ‫في‬(‫مثال‬!ls) !command
‫يستبدل‬‫كلمة‬ ‫ورود‬ ‫جميع‬old‫بكلمة‬new :%s/old/new/g
3- Understanding the Shell Environment
‫من‬ ‫العمل‬ ‫يتم‬ ‫عندما‬shell‫بيئة‬ ‫تعريف‬ ‫يتم‬environment‫معينة‬
‫بمتحوالت‬ ‫عرف‬ُ‫ت‬ ‫البئية‬variables
‫البرامج‬ ‫قبل‬ ‫من‬ ‫استخدامها‬ ‫يتم‬ ‫المتحوالت‬programs‫والـ‬scripts
‫مستخدم‬ ‫كل‬user‫بيئة‬ ‫له‬ ‫يكون‬environment‫به‬ ‫خاصة‬
‫ضمن‬ ‫المعرفة‬ ‫المتحوالت‬ ‫لمعرفة‬shell environment‫األمر‬ ‫نستخدم‬ ‫معينة‬env
‫األمر‬ ‫خرج‬ ‫من‬ ‫ألسطر‬ ‫مثال‬env:
3- Understanding the Shell Environment
‫التالية‬ ‫الصيغة‬ ‫باستخدام‬ ‫له‬ ‫قيمة‬ ‫وإسناد‬ ‫بتعريفه‬ ‫نقوم‬ ‫متحول‬ ‫لتعريف‬:
myVariable=value
‫التالية‬ ‫الصيغة‬ ‫باستخدام‬ ‫نقوم‬ ‫متحول‬ ‫قيمة‬ ‫لقراءة‬:
echo $myVariable
‫ما‬ ‫ببيئة‬ ‫الخاصة‬ ‫اإلعدادت‬ ‫ملفات‬Environment configuration files‫من‬ ‫تتألف‬script code‫ومن‬variables
‫لـ‬ ‫يصل‬ ‫الدخول‬ ‫بتسجيل‬ ‫مستخدم‬ ‫يقوم‬ ‫عندما‬shell‫تسمى‬:login shell
‫تنفيذ‬ ‫تم‬ ‫إذا‬scripts‫الـ‬ ‫هذه‬ ‫من‬login shell‫بدأ‬ ‫سيتم‬subshell‫بها‬ ‫خاصة‬ ‫بيئة‬ ‫لها‬
3- Understanding the Shell Environment
‫ببيئة‬ ‫الخاصة‬ ‫اإلعدادت‬ ‫ملفات‬Environment configuration files:
/etc/profile:‫المستخدمين‬ ‫جميع‬ ‫قبل‬ ‫من‬ ‫استخدامه‬ ‫يتم‬(‫مع‬ ‫يستخدم‬login shell‫فقط‬)
•‫المتحول‬ ‫بإعداد‬ ‫يقوم‬PATH‫المستخدمين‬ ‫جميع‬ ‫أجل‬ ‫من‬ ‫متحوالت‬ ‫ويعرف‬
•‫ينفذ‬scripts‫في‬ ‫توجد‬:/etc/profile.d
•‫الـ‬ ‫أجل‬ ‫من‬ ‫ينفذ‬Interactive shells‫فقط‬
/etc/bashrc:‫إطالق‬ ‫يتم‬ ‫عندما‬ ‫استخدامه‬ ‫يتم‬subshell(‫تنفيذ‬ ‫عند‬ ‫أي‬scripts)
•‫ينفذ‬ ‫أيضا‬scripts‫في‬ ‫توجد‬:/etc/profile.d
•‫الـ‬ ‫أجل‬ ‫من‬ ‫ينفذ‬Interactive shells‫والـ‬non-interactive shells
~/.bash_profile:‫تعريف‬ ‫يتم‬ ‫الملف‬ ‫بهذا‬login shell variables‫معين‬ ‫بمستخدم‬ ‫خاصة‬
~/.bashrc:‫تعريف‬ ‫يتم‬ ‫الملف‬ ‫بهذا‬subshell variables‫معين‬ ‫بمستخدم‬ ‫خاصة‬
3- Understanding the Shell Environment
‫الـ‬ ‫لمستخدم‬ ‫رسائل‬ ‫إظهار‬shell:
‫الملف‬ ‫باستخدام‬/etc/motd:
‫الـ‬ ‫إلى‬ ‫بنجاح‬ ‫الدخول‬ ‫يسجل‬ ‫عندما‬ ‫للمستخدم‬ ‫تظهر‬ ‫رسائل‬ ‫كتابة‬ ‫يتم‬shell‫الـ‬ ‫تنفيذ‬ ‫وقبل‬login shell
‫الملف‬ ‫باستخدام‬/etc/issue:
‫الـ‬ ‫إلى‬ ‫الدخول‬ ‫يسجل‬ ‫أن‬ ‫قبل‬ ‫للمستخدم‬ ‫تظهر‬ ‫رسائل‬ ‫كتابة‬ ‫يتم‬shell
•‫الملف‬issue.net‫بعد‬ ‫عند‬ ‫التسجيل‬ ‫عند‬ ‫رسالة‬ ‫يظهر‬
•‫الملف‬issue‫يحوي‬ ‫أن‬ ‫يمكن‬ ‫لكن‬ ‫نصي‬ ‫ملف‬ ‫هو‬escape
sequences‫النظام‬ ‫حول‬ ‫معينة‬ ‫معلومات‬ ‫لطباعة‬
d‫الحالي‬ ‫التاريخ‬ ‫تطبع‬s‫الـ‬ ‫اسم‬ ‫تطبع‬OS
n‫الجهاز‬ ‫اسم‬ ‫تطبع‬o‫الـ‬ ‫تطبع‬domain name
u‫الحاليين‬ ‫المستخدمين‬ ‫عدد‬ ‫تطبع‬t‫الوقت‬ ‫تطبع‬
4- Finding Help
‫صعبا‬ ‫أمرا‬ ‫تذكرها‬ ‫عملية‬ ‫يجعل‬ ‫مما‬ ‫تنفيذها‬ ‫يمكن‬ ‫التي‬ ‫األوامر‬ ‫من‬ ‫الكثير‬ ‫هناك‬
‫تنفيذها‬ ‫نريد‬ ‫التي‬ ‫باألوامر‬ ‫خاصة‬ ‫معلومات‬ ‫على‬ ‫للحصول‬ ‫لينوكس‬ ‫تقدمها‬ ‫أدواة‬ ‫نستخدم‬
-- help option:
•‫عنه‬ ‫يبحث‬ ‫الذي‬ ‫األمر‬ ‫استخدام‬ ‫لكيفية‬ ‫مسبقة‬ ‫عامة‬ ‫معرفة‬ ‫المستخدم‬ ‫لدى‬ ‫وجود‬ ‫يفترض‬
•‫أمر‬ ‫استخدام‬ ‫كيفية‬ ‫عن‬ ‫عامة‬ ‫لمحة‬ ‫يعطي‬‫معين‬
•‫الـ‬ ‫يسرد‬options‫استخدامها‬ ‫يمكن‬ ‫التي‬
‫استخدام‬man:
•‫المتاحة‬ ‫األوامر‬ ‫عن‬ ‫معلومات‬ ‫على‬ ‫للحصول‬ ‫األدوات‬ ‫أهم‬ ‫من‬
•‫استخدامه‬ ‫وكيفية‬ ‫المحدد‬ ‫باألمر‬ ‫تعريف‬ ‫يعطي‬
•‫يسرد‬‫الـ‬options‫يمكن‬ ‫التي‬‫استخدامها‬
4- Finding Help
‫صفحة‬ ‫بأسفل‬ ‫مفيدة‬ ‫أقسام‬man‫ما‬ ‫ألمر‬:
‫باألمثلة‬ ‫خاص‬ ‫قسم‬examples
‫قسم‬see also:‫لصفحات‬ ‫إحالة‬ ‫يقدم‬man‫ذات‬ ‫أخرى‬‫تحوي‬ ‫ولصفحات‬ ‫صلة‬Documentation
‫أشمل‬
•‫صفحة‬ ‫أسفل‬ ‫يظهر‬ ‫مثال‬man grep:
4- Finding Help
‫الـ‬ ‫ضمن‬ ‫محددة‬ ‫معلومات‬ ‫عن‬ ‫البحث‬man pages:
‫باستخدام‬ ‫البحث‬man –k:
•‫نستخدم‬man –k‫بالـ‬ ‫متبوعة‬keyword‫عنها‬ ‫البحث‬ ‫نريد‬ ‫التي‬
•‫الـ‬ ‫بقسم‬ ‫البحث‬ ‫سيتم‬summary‫الـ‬ ‫صفحات‬ ‫بجميع‬ ‫الخاص‬man‫الموجودة‬
•‫الـ‬ ‫بصفحات‬ ‫قائمة‬ ‫إعادة‬ ‫سيتم‬man‫صفحة‬ ‫بكل‬ ‫مختصر‬ ‫تعريف‬ ‫مع‬ ‫الصلة‬ ‫ذات‬
•‫الـ‬ ‫ضمن‬ ‫البحث‬ ‫يتم‬ ‫حيث‬ ‫تماما‬ ‫دقيق‬ ‫غير‬ ‫البحث‬summary‫أمر‬ ‫لكل‬ ‫فقط‬
•‫الـ‬ ‫إيجاد‬ ‫يتم‬ ‫لم‬ ‫إذا‬keyword‫خطأ‬ ‫رسالة‬ ‫إعادة‬ ‫سيتم‬ ‫عنها‬ ‫نبحث‬ ‫التي‬:
“nothing appropriate”
4- Finding Help
‫األمر‬ ‫خرج‬ ‫يظهر‬ ‫مثال‬:man –k partition
4- Finding Help
‫باستخدام‬ ‫البحث‬ ‫عند‬ ‫النتائج‬ ‫فلترة‬man –k:
•‫نستخدم‬ ‫أن‬ ‫يمكن‬grep‫البحث‬ ‫نتائج‬ ‫لفلترة‬
•‫الـ‬ ‫صفحات‬man‫أقسام‬ ‫عدة‬ ‫ضمن‬ ‫مصنفة‬
(‫القسم‬ ‫مثال‬1‫التنفيذية‬ ‫بالبرامج‬ ‫خاص‬,‫القسم‬8‫النظام‬ ‫إدارة‬ ‫بأوامر‬ ‫خاص‬)
•‫لكلمة‬ ‫ورود‬ ‫عن‬ ‫للبحث‬ ‫التالي‬ ‫األمر‬partition‫القسم‬ ‫ضمن‬8‫الـ‬ ‫من‬man pages:
man -k partition | grep 8
man –f <somecommand>:
•‫نستخدم‬–f option‫وصف‬ ‫لعرض‬description‫بتحديده‬ ‫نقوم‬ ‫ما‬ ‫ألمر‬ ‫قصير‬
•‫الصحيح‬ ‫األمر‬ ‫نستخدم‬ ‫أننا‬ ‫بالتأكد‬ ‫استخدامه‬ ‫يفيد‬
‫األمر‬apropos‫لألمر‬ ‫مكافئ‬man –k(‫الـ‬ ‫ضمن‬ ‫للبحث‬ ‫يستخدم‬man pages)
4- Finding Help
‫بـ‬ ‫الخاصة‬ ‫المعطيات‬ ‫قاعدة‬ ‫تحديث‬man:
‫األمر‬ ‫كتابة‬ ‫عندما‬man –k‫رسالة‬ ‫على‬ ‫نحصل‬ ‫قد‬:
“nothing appropriate.”
‫بـ‬ ‫الخاصة‬ ‫المعطيات‬ ‫قاعدة‬ ‫تحديث‬ ‫علينا‬ ‫أن‬ ‫الرسالة‬ ‫هذه‬ ‫تشير‬ ‫ربما‬man
‫بـ‬ ‫الخاصة‬ ‫المعطيات‬ ‫قاعدة‬ ‫نحدث‬man‫األمر‬ ‫طريق‬ ‫عن‬:
mandb
‫استخدام‬info‫ما‬ ‫أمر‬ ‫عن‬ ‫معلومات‬ ‫على‬ ‫للحصول‬:
‫الـ‬Info‫لـ‬ ‫مشابهة‬man‫ببعضها‬ ‫مربوطة‬ ‫الصفحات‬ ‫تكون‬ ‫حيث‬ ‫التصفح‬ ‫بسهولة‬ ‫عنها‬ ‫تتميز‬ ‫لكنها‬
‫الـ‬ ‫صفحات‬Info‫تقدم‬ ‫صفحات‬ ‫هي‬documentation‫لينوكس‬ ‫في‬ ‫لألوامر‬
‫طريق‬ ‫عن‬ ‫بها‬ ‫الخاص‬ ‫للتوثيق‬ ‫الوصول‬ ‫يمكن‬ ‫األوامر‬ ‫بعض‬Info page‫فقط‬
‫الـ‬ ‫قراءة‬ ‫يمكن‬Info page‫استخدام‬ ‫طريق‬ ‫عن‬ ‫ما‬ ‫ألمر‬info‫أو‬pinfo
4- Finding Help
‫استخدام‬ ‫يفضل‬pinfo‫على‬info‫للـ‬ ‫خاص‬ ‫دعم‬ ‫مثل‬ ‫خاصة‬ ‫ميزات‬ ‫تقدم‬ ‫ألنها‬menu items
‫الـ‬ ‫صفحات‬info‫الويب‬ ‫كصفحات‬ ‫هرمي‬ ‫بشكل‬ ‫منظمة‬
‫نضغط‬n‫التالية‬ ‫للصفحة‬ ‫لالنتقال‬,p‫السابقة‬ ‫للصفحة‬ ‫لالنتقال‬,u‫لألعلى‬ ‫لالنتقال‬
‫الـ‬ ‫ضمن‬Info page‫هناك‬menu items,‫كل‬item‫بـ‬ ‫يسبق‬*
‫على‬ ‫الضغط‬ ‫عند‬item‫الهرمية‬ ‫ضمن‬ ‫آخر‬ ‫لمستوى‬ ‫ننتقل‬ ‫محدد‬,‫على‬ ‫نضغط‬ ‫للصعود‬u
4- Finding Help
‫ملفات‬ ‫استخدام‬/usr/share/doc:
‫بعض‬‫واألنظمة‬ ‫الخدمات‬‫بها‬ ‫خاص‬ ‫توثيق‬ ‫تتيح‬‫الـ‬ ‫هذا‬ ‫في‬directory
‫مثل‬:rsyslog ,Kerberos ,OpenSSL
‫عنه‬ ‫نبحث‬ ‫التي‬ ‫الخدمات‬ ‫إلعداد‬ ‫دليل‬ ‫وتقدم‬ ‫تفصيال‬ ‫أكثر‬ ‫تكون‬ ‫الملفات‬ ‫هذه‬ ‫في‬ ‫المعلومات‬‫ا‬

More Related Content

Similar to [Arabic] Essential tools in Linux

تعلم HTML CSS و JavaScript
تعلم HTML CSS و JavaScriptتعلم HTML CSS و JavaScript
تعلم HTML CSS و JavaScriptMolham Al-Maleh
 
شرح برنامج الورود
شرح برنامج الورودشرح برنامج الورود
شرح برنامج الورودHanaa Ahmed
 
سلسلة تعلم البرمجة بلغة C / C++ - 1
سلسلة تعلم البرمجة بلغة C / C++  - 1سلسلة تعلم البرمجة بلغة C / C++  - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1بندر المجلاد
 
برنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبيبرنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبيSaif Alzoubi
 
Evil Shell: Hacking Linux Users
Evil Shell: Hacking Linux UsersEvil Shell: Hacking Linux Users
Evil Shell: Hacking Linux UsersMohammed ALDOUB
 
Using Ubuntu Linux as environment for the development of sites using php
Using Ubuntu Linux as environment for the development of sites using phpUsing Ubuntu Linux as environment for the development of sites using php
Using Ubuntu Linux as environment for the development of sites using phpObieda Ananbeh
 
10_2019_01_13!10_51_54_PM (1).pptx
10_2019_01_13!10_51_54_PM (1).pptx10_2019_01_13!10_51_54_PM (1).pptx
10_2019_01_13!10_51_54_PM (1).pptxGmachImen
 
برمجه حاسب1
برمجه حاسب1برمجه حاسب1
برمجه حاسب1jadalkinani1
 
برمجه حاسب1
برمجه حاسب1برمجه حاسب1
برمجه حاسب1jadalkinani1
 
Computer 2nd-preparatory-second-term- (10)
Computer 2nd-preparatory-second-term- (10)Computer 2nd-preparatory-second-term- (10)
Computer 2nd-preparatory-second-term- (10)khawagah
 
تطوير البرمجيات بالعربية المسائل والطرائق
تطوير البرمجيات بالعربية المسائل والطرائقتطوير البرمجيات بالعربية المسائل والطرائق
تطوير البرمجيات بالعربية المسائل والطرائقlinuxscout
 
تفعيل وتثبيت المدونة
تفعيل وتثبيت المدونةتفعيل وتثبيت المدونة
تفعيل وتثبيت المدونةNasser AlFareed
 
بنيه القرص الصلب وتنصيب ليونكس
بنيه القرص الصلب وتنصيب ليونكسبنيه القرص الصلب وتنصيب ليونكس
بنيه القرص الصلب وتنصيب ليونكسjihad-kh
 

Similar to [Arabic] Essential tools in Linux (20)

تعلم HTML CSS و JavaScript
تعلم HTML CSS و JavaScriptتعلم HTML CSS و JavaScript
تعلم HTML CSS و JavaScript
 
Computer
ComputerComputer
Computer
 
شرح برنامج الورود
شرح برنامج الورودشرح برنامج الورود
شرح برنامج الورود
 
سلسلة تعلم البرمجة بلغة C / C++ - 1
سلسلة تعلم البرمجة بلغة C / C++  - 1سلسلة تعلم البرمجة بلغة C / C++  - 1
سلسلة تعلم البرمجة بلغة C / C++ - 1
 
8 header files
8 header files8 header files
8 header files
 
برنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبيبرنامج اكسل من سيف الزعبي
برنامج اكسل من سيف الزعبي
 
Evil Shell: Hacking Linux Users
Evil Shell: Hacking Linux UsersEvil Shell: Hacking Linux Users
Evil Shell: Hacking Linux Users
 
Using Ubuntu Linux as environment for the development of sites using php
Using Ubuntu Linux as environment for the development of sites using phpUsing Ubuntu Linux as environment for the development of sites using php
Using Ubuntu Linux as environment for the development of sites using php
 
لغه ال c+
لغه ال c+لغه ال c+
لغه ال c+
 
10_2019_01_13!10_51_54_PM (1).pptx
10_2019_01_13!10_51_54_PM (1).pptx10_2019_01_13!10_51_54_PM (1).pptx
10_2019_01_13!10_51_54_PM (1).pptx
 
برمجه حاسب1
برمجه حاسب1برمجه حاسب1
برمجه حاسب1
 
برمجه حاسب1
برمجه حاسب1برمجه حاسب1
برمجه حاسب1
 
Chapter4 part1
Chapter4 part1Chapter4 part1
Chapter4 part1
 
Computer 2nd-preparatory-second-term- (10)
Computer 2nd-preparatory-second-term- (10)Computer 2nd-preparatory-second-term- (10)
Computer 2nd-preparatory-second-term- (10)
 
Amn almjahd
Amn almjahdAmn almjahd
Amn almjahd
 
تطوير البرمجيات بالعربية المسائل والطرائق
تطوير البرمجيات بالعربية المسائل والطرائقتطوير البرمجيات بالعربية المسائل والطرائق
تطوير البرمجيات بالعربية المسائل والطرائق
 
تفعيل وتثبيت المدونة
تفعيل وتثبيت المدونةتفعيل وتثبيت المدونة
تفعيل وتثبيت المدونة
 
تعريب برامج + العاب
تعريب برامج + العابتعريب برامج + العاب
تعريب برامج + العاب
 
Paper5
Paper5Paper5
Paper5
 
بنيه القرص الصلب وتنصيب ليونكس
بنيه القرص الصلب وتنصيب ليونكسبنيه القرص الصلب وتنصيب ليونكس
بنيه القرص الصلب وتنصيب ليونكس
 

[Arabic] Essential tools in Linux

  • 1. Red Hat Enterprise Linux 7 Presented By: Mohammad Bany Almarjh CHAPTER 2 :USING ESSENTIAL TOOLS
  • 2. 1- Basic Shell Skills 2- Editing Files with vim 3- Understanding the Shell Environment 4- Finding Help ‫تناولها‬ ‫سيتم‬ ‫التي‬ ‫األفكار‬:
  • 3. 1- Basic Shell Skills ‫الـ‬shell‫لينوكس‬ ‫أنظمة‬ ‫لمدراء‬ ‫األساسية‬ ‫العمل‬ ‫بيئة‬ ‫هي‬ ‫تقبل‬‫األوامر‬ ‫أو‬ ‫التعليمات‬‫وتقوم‬ ‫المستخدم‬ ‫من‬‫ليتم‬ ‫النظام‬ ‫نواة‬ ‫إلى‬ ‫بتمريرها‬‫تنفيذها‬ ‫هناك‬‫من‬ ‫العديد‬‫الـ‬shells‫الـ‬ ‫لكن‬bash shell‫هي‬‫شيوعا‬ ‫األكثر‬‫لينوكس‬ ‫أنظمة‬ ‫في‬ ‫الـ‬ ‫أنواع‬commands‫الـ‬ ‫في‬ ‫كتابتها‬ ‫يمكن‬ ‫التي‬shell: Aliases:‫المستخدم‬ ‫قبل‬ ‫من‬ ‫تعرف‬ ‫أوامر‬ ‫هي‬ •‫هناك‬aliases‫مثل‬ ‫افتراضي‬ ‫بشكل‬ ‫معرفة‬:ll=’ls -l --color=auto’ •‫تعريف‬ ‫يمكن‬alias‫التالية‬ ‫بالصيغة‬:alias newcommand=’oldcommand’ •‫بالـ‬ ‫قائمة‬ ‫طباعة‬ ‫يمكن‬aliases‫األمر‬ ‫طريق‬ ‫عن‬ ‫افتراضي‬ ‫بشكل‬ ‫المعرفة‬:alias
  • 4. ‫مثال‬: ‫الـ‬ ‫تكون‬aliases‫فقط‬ ‫عرفها‬ ‫الذي‬ ‫للمستخدم‬ ‫متاحة‬ ‫الـ‬ ‫بنفس‬ ‫أوامر‬ ‫عدة‬ ‫تضمين‬ ‫يمكن‬alias‫بـ‬ ‫فصلها‬ ‫طريق‬ ‫عن‬;,‫مثال‬: ‫الـ‬ ‫استخدام‬aliases: ‫األوامر‬ ‫كتابة‬ ‫تسهيل‬ ‫الـ‬ ‫تحديد‬options‫ما‬ ‫ألمر‬ ‫االفتراضية‬,‫مثال‬: ‫األوامر‬ ‫بكتابة‬ ‫األخطاء‬ ‫تصحيح‬,‫مثال‬: ‫تفاعلية‬ ‫األوامر‬ ‫جعل‬ ‫طريق‬ ‫عن‬ ‫األمن‬ ‫زيادة‬,‫مثال‬: ‫المختلفة‬ ‫التوزيعات‬ ‫بين‬ ‫ما‬ ‫ألمر‬ ‫معياري‬ ‫اسم‬ ‫استخدام‬ ‫الـ‬ ‫جعل‬aliases‫دائمة‬:‫ملف‬ ‫إلى‬ ‫إضافته‬ ‫طريق‬ ‫عن‬.bashrc‫الـ‬ ‫في‬ ‫الموجود‬home directory ‫حذف‬alias:‫األمر‬ ‫طريق‬ ‫عن‬:unalias [-a] name(s) 1- Basic Shell Skills
  • 5. 1- Basic Shell Skills Internal commands:‫الـ‬ ‫من‬ ‫جزء‬ ‫أوامر‬ ‫هي‬shell‫نفسها‬ •‫القرص‬ ‫من‬ ‫للقراءة‬ ‫الحاجة‬ ‫بدون‬ ‫الذاكرة‬ ‫من‬ ‫متاحة‬ ‫تكون‬ External commands:‫القرص‬ ‫على‬ ‫تنفيذية‬ ‫ملفات‬ ‫ضمن‬ ‫توجد‬ ‫التي‬ ‫األوامر‬ ‫هي‬ •‫أبطأ‬ ‫األوامر‬ ‫هذه‬ ‫تعتبر‬ ‫الـ‬ ‫تتأكد‬ ‫أمر‬ ‫كتابة‬ ‫عند‬shell‫الـ‬ ‫ضمن‬ ‫األمر‬ ‫هذا‬ ‫كان‬ ‫إن‬ ‫أوال‬internal commands ‫تجده‬ ‫لم‬ ‫إذا‬,‫األمر‬ ‫هذا‬ ‫عن‬ ‫القرص‬ ‫على‬ ‫التنفيذية‬ ‫الملفات‬ ‫ضمن‬ ‫بالبحث‬ ‫تقوم‬ ‫األمر‬ ‫نستخدم‬ ‫ما‬ ‫أمر‬ ‫نوع‬ ‫لمعرفة‬type ‫الـ‬ ‫مكان‬ ‫لتحديد‬external commands‫المتحول‬ ‫استخدام‬ ‫يتم‬$PATH ‫المتحول‬ ‫يحوي‬$PATH‫بالـ‬ ‫قائمة‬directories‫تنفي‬ ‫ملف‬ ‫عن‬ ‫البحث‬ ‫عند‬ ‫ضمنها‬ ‫البحث‬ ‫يتم‬ ‫التي‬‫ذي‬ ‫ما‬ ‫بأمر‬ ‫خاص‬
  • 6. 1- Basic Shell Skills ‫تستخدمه‬ ‫الذي‬ ‫التنفيذي‬ ‫الملف‬ ‫لمعرفة‬shell‫ما‬ ‫أمر‬ ‫لتنفيذ‬,‫األمر‬ ‫نستخدم‬which ‫الـ‬ ‫في‬ ‫يوجد‬ ‫أمر‬ ‫لتنفيذ‬directorycurrent‫نكتب‬./‫األمر‬ ‫اسم‬ ‫قبل‬ ‫المتحول‬$PATH‫الحالي‬ ‫المستخدم‬ ‫حسب‬ ‫قيمته‬ ‫تختلف‬ ‫أن‬ ‫يمكن‬ ‫الـ‬ ‫مثال‬root user‫العادي‬ ‫المستخدم‬ ‫يحتاجها‬ ‫ال‬ ‫باإلدارة‬ ‫خاصة‬ ‫إضافية‬ ‫ألوامر‬ ‫يحتاج‬
  • 7. 1- Basic Shell Skills I/O Redirection: ‫افتراضي‬ ‫بشكل‬ ‫الشاشة‬ ‫على‬ ‫الخرج‬ ‫طباعة‬ ‫يتم‬ ‫أمر‬ ‫تنفيذ‬ ‫يتم‬ ‫عندما‬ ‫الـ‬ ‫الحاسب‬ ‫شاشة‬ ‫تعتبر‬standard output(‫بـ‬ ‫أيضا‬ ‫يسمى‬STDOUT) ‫الـ‬ ‫المفاتيح‬ ‫لوحدة‬ ‫تعتبر‬standard input(‫بـ‬ ‫أيضا‬ ‫يسمى‬STDIN) ‫الـ‬ ‫الحاسب‬ ‫شاشة‬ ‫تعتبر‬standard error(‫بـ‬ ‫أيضا‬ ‫يسمى‬STDERR) ‫من‬ ‫تقرأ‬ ‫البرامج‬channel 0(‫تسمى‬ ‫أو‬file descriptor)‫الـ‬ ‫من‬ ‫للقراءة‬STDIN,‫على‬ ‫وتكتب‬ file descriptor 1‫الخرج‬ ‫لعرض‬,‫و‬file descriptor 2‫األخطاء‬ ‫رسائل‬ ‫لعرض‬ ‫الـ‬ ‫افترضي‬ ‫بشكل‬file descriptors‫والشاشة‬ ‫المفاتيح‬ ‫لوحة‬ ‫مع‬ ‫متصلة‬ ‫باستخدام‬I/O Redirection‫الـ‬ ‫وصل‬ ‫يمكن‬file descriptors‫أخرى‬ ‫أوامر‬ ‫أو‬ ‫ملفات‬ ‫مع‬ ‫الـ‬symbols‫الـ‬ ‫في‬ ‫سنستخدمها‬ ‫التي‬redirection‫هي‬:< , > , |
  • 8. 1- Basic Shell Skills ‫الشرح‬ Redirector ‫توجيه‬ ‫تعيد‬STDOUT.‫فوقه‬ ‫الكتابة‬ ‫سيتم‬ ‫لملف‬ ‫التوجيه‬ ‫أعدنا‬ ‫إذا‬ >(‫أو‬1>) ‫توجيه‬ ‫تعيد‬STDOUT.‫أعدنا‬ ‫إذا‬‫للملف‬ ‫الخرج‬ ‫إلحاق‬ ‫سيتم‬ ‫لملف‬ ‫التوجيه‬ >>(‫أو‬1>>) ‫تعيد‬‫توجيه‬STDERR 2> ‫تعيد‬‫توجيه‬STDERR‫و‬STDOUT‫الملف‬ ‫لنفس‬ 2>&1 ‫توجيه‬ ‫تعيد‬STDIN <(‫أو‬0<) ‫استخدام‬ ‫عند‬ ‫نالحظ‬>‫الملف‬ ‫فوق‬ ‫الكتابة‬ ‫يتم‬ ‫أنه‬,‫األمر‬ ‫نستخدم‬ ‫ذلك‬ ‫لمنع‬:set –o noclobber ‫نستخدم‬>|‫المنع‬ ‫لتجاوز‬ ‫طريق‬ ‫عن‬&>‫الـ‬ ‫نضع‬stdout‫و‬stderr‫الـ‬ ‫بنفس‬stream,‫مثال‬:
  • 9. << here document:‫محددة‬ ‫لمحارف‬ ‫الوصول‬ ‫حتى‬ ‫لملف‬ ‫دخل‬ ‫إللحاق‬ ‫تستخدم‬(‫عادة‬EOF) <<< here string:‫لتمرير‬ ‫تستخدم‬string‫ما‬ ‫ألمر‬,‫مثال‬: ‫التوجيه‬ ‫إعادة‬‫إلى‬device file: ‫الـ‬device file‫إلى‬ ‫للوصول‬ ‫يستخدم‬ ‫ملف‬ ‫هو‬hardware‫محدد‬ ‫مثال‬‫طريق‬ ‫عن‬ ‫الصلب‬ ‫القرص‬ ‫إلى‬ ‫الوصول‬ ‫يمكن‬/dev/sda ‫إلى‬ ‫التوجيه‬ ‫نعيد‬ ‫أن‬ ‫يمكن‬ ‫ما‬ ‫أمر‬ ‫خرج‬ ‫من‬ ‫للتخلص‬/dev/null‫مثال‬: 1- Basic Shell Skills
  • 10. 1- Basic Shell Skills ‫استخدام‬pipes‫التوجيه‬ ‫إلعادة‬: ‫الـ‬pipe‫آخر‬ ‫ألمر‬ ‫كدخل‬ ‫وتستخدمه‬ ‫ما‬ ‫أمر‬ ‫خرج‬ ‫تأخذ‬,‫مثال‬: •‫األمرين‬ ‫بدأ‬ ‫سيتم‬ls‫و‬less‫التوازي‬ ‫على‬ •‫تكتبه‬ ‫ما‬ ‫كل‬ls‫للـ‬standard output‫ستقرأه‬less‫كـ‬standard input •‫خرج‬ ‫بعرض‬ ‫السابق‬ ‫األمر‬ ‫يفيد‬|‫التصفح‬ ‫سهلة‬ ‫بطريقة‬ ‫الـ‬ ‫ستخدم‬ُ‫ت‬pipes‫لينوكس‬ ‫أنظمة‬ ‫إدارة‬ ‫عند‬ ‫مركبة‬ ‫أوامر‬ ‫لكتابة‬ ‫بكثرة‬ ‫مالحظة‬:‫الـ‬pipes‫آلخر‬ ‫أمر‬ ‫من‬ ‫البيانات‬ ‫توجيه‬ ‫تعيد‬,‫بينما‬>‫و‬>>‫حصرا‬ ‫لملفات‬ ‫الخرج‬ ‫التوجيه‬ ‫تعيد‬
  • 11. ‫مثال‬1:‫التعليمة‬ ‫خرج‬ ‫بتوجيه‬ ‫نقوم‬ls‫نصي‬ ‫ملف‬ ‫إلى‬: ‫مثال‬2:‫األمر‬ ‫نخبر‬sort‫نصي‬ ‫ملف‬ ‫من‬ ‫دخله‬ ‫يأخذ‬ ‫أن‬: ‫مثال‬3:‫أوامر‬ ‫عدة‬ ‫عبر‬ ‫الخرج‬ ‫توجيه‬ ‫بإعادة‬ ‫نقوم‬: ‫مثال‬4:‫الـ‬ ‫تمرير‬ ‫نستطيع‬ ‫ال‬ ‫العادة‬ ‫في‬stderr‫عبر‬|‫ألن‬stdout‫لوحده‬ ‫يمرر‬,‫االثنين‬ ‫بتمرير‬ ‫سنقوم‬: 1- Basic Shell Skills
  • 12. 1- Basic Shell Skills ‫الـ‬ ‫مع‬ ‫التعامل‬History: ‫الـ‬ ‫تحتفظ‬Bash‫بـ‬ ‫افتراضي‬ ‫بشكل‬1000‫سابقا‬ ‫استخدامه‬ ‫تم‬ ‫أمر‬ ‫الـ‬ ‫إغالق‬ ‫يتم‬ ‫عندما‬shell session,‫الـ‬ ‫كتابة‬ ‫يتم‬history‫بالـ‬ ‫الخاص‬session‫إلى‬history file ‫الملف‬ ‫اسم‬.bash_history‫الـ‬ ‫في‬ ‫وينشأ‬home directory‫للمستخدم‬ •‫المتحول‬HISTFILESIZE:‫الـ‬ ‫ضمن‬ ‫بها‬ ‫االحتفاظ‬ ‫سيتم‬ ‫التي‬ ‫األوامر‬ ‫عدد‬ ‫يحدد‬history file •‫المتحول‬HISTSIZE:‫الـ‬ ‫ضمن‬ ‫الذاكرة‬ ‫في‬ ‫ستخزن‬ ‫التي‬ ‫األوامر‬ ‫عدد‬ ‫يحدد‬session ‫الـ‬ ‫لملف‬ ‫لإللحاق‬history‫نضيف‬ ‫فوقه‬ ‫الكتابة‬ ‫بدل‬:shopt -s histappend ‫الـ‬ ‫من‬ ‫مباشرة‬ ‫الكتابة‬ ‫لتفعيل‬session‫الملف‬ ‫إلى‬:history –a ‫األمر‬ ‫طريق‬ ‫عن‬history‫الـ‬ ‫في‬ ‫األوامر‬ ‫بجميع‬ ‫قائمة‬ ‫نظهر‬bash history ‫على‬ ‫بالضغط‬Ctrl+R‫سابقا‬ ‫باستخدامها‬ ‫قمنا‬ ‫التي‬ ‫األوامر‬ ‫ضمن‬ ‫ببحث‬ ‫نقوم‬ ‫أن‬ ‫يمكن‬ ‫مثال‬:Ctrl+R‫بـ‬ ‫يبدأ‬ ‫أمر‬ ‫آخر‬ ‫نظهر‬ ‫ثم‬c
  • 13. ‫الـ‬ ‫من‬ ‫أوامر‬ ‫تنفيذ‬history: !number‫األمر‬ ‫تنفذ‬‫الرقم‬ ‫ذو‬number‫الـ‬ ‫ضمن‬history !-number‫الرقم‬ ‫ذو‬ ‫األمر‬ ‫تنفذ‬number‫أمر‬ ‫آخر‬ ‫من‬ ‫بدءا‬ !!‫أمر‬ ‫آخر‬ ‫تنفذ‬ !sometext‫تنفذ‬‫بـ‬ ‫يبدأ‬ ‫أمر‬ ‫آخر‬sometext(‫مثال‬!ssh) !?sometext?‫يحوي‬ ‫أمر‬ ‫أخر‬ ‫تنفذ‬sometext ‫أمر‬ ‫كتابة‬ ‫عند‬ ‫خطأ‬ ‫لتصحيح‬^original^replacement^ 1- Basic Shell Skills
  • 14. ‫تنفيذها‬ ‫نعيد‬ ‫التي‬ ‫التعليمة‬ ‫من‬ ‫معين‬ ‫قسم‬ ‫نحدد‬ ‫أن‬ ‫يمكن‬,‫بـ‬ ‫مفصولة‬ ‫ألجزاء‬ ‫تقسم‬ ‫تعليمة‬ ‫كل‬ ‫أن‬ ‫حيث‬space‫من‬ ‫بدئا‬ ‫ومرقمة‬0 ‫آخر‬portion‫بـ‬ ‫له‬ ‫يرمز‬$ ‫الـ‬ ‫جميع‬ ‫على‬ ‫الحصول‬ ‫يمكن‬arguments‫خالل‬ ‫من‬ ‫ألمر‬:!!:1*‫أو‬!!:1-$ ‫الـ‬ ‫استخدام‬modifiers: h modifier‫بعد‬ ‫القسم‬ ‫يقتص‬/ t modifier‫بعد‬ ‫القسم‬ ‫يعيد‬/ (‫مثال‬less !nano:$:t) 1- Basic Shell Skills
  • 15. r modifier‫يقتص‬‫الالحقة‬ e modifier‫يعيد‬‫الالحقة‬ p modifier‫يتم‬ ‫الذي‬ ‫األمر‬ ‫يطبع‬‫إعادته‬ ‫نكتب‬ ‫طباعته‬ ‫بعد‬ ‫األمر‬ ‫تنفيذ‬ ‫أردنا‬ ‫إذا‬:Ctrl + p ‫يمكننا‬‫باستخدام‬ ‫أخرى‬ ‫بكلمة‬ ‫كلمة‬ ‫استبدال‬: s/original/new/ 1- Basic Shell Skills
  • 16. 1- Basic Shell Skills Bash Completion: ‫الـ‬ ‫تقدمها‬ ‫هامة‬ ‫ميزة‬ ‫يعتبر‬ ‫التلقائي‬ ‫اإلكمال‬bash shell ‫الـ‬ ‫وحتى‬ ‫واألوامر‬ ‫الملفات‬ ‫وأسماء‬ ‫المتحوالت‬ ‫على‬ ‫التلقائي‬ ‫اإلكمال‬ ‫يعمل‬arguments‫باألوامر‬ ‫الخاصة‬ ‫المفتاح‬ ‫على‬ ‫نضغط‬ ‫ثم‬ ‫األمر‬ ‫بداية‬ ‫نكتب‬Tab ‫تلقائي‬ ‫بشكل‬ ‫األمر‬ ‫كتابة‬ ‫إكمال‬ ‫سيتم‬ ‫وحيد‬ ‫خيار‬ ‫هناك‬ ‫كان‬ ‫إذا‬ ‫المفتاح‬ ‫على‬ ‫بالضغط‬ ‫نقوم‬ ‫خيار‬ ‫من‬ ‫أكثر‬ ‫هناك‬ ‫كان‬ ‫إذا‬Tab‫الخيارات‬ ‫بجميع‬ ‫قائمة‬ ‫على‬ ‫للحصول‬ ‫أخرى‬ ‫مرة‬ ‫المتاحة‬ ‫الملف‬/etc/bash_completion‫الـ‬ ‫ضمن‬ ‫تحميله‬ ‫ويتم‬ ‫التلقائي‬ ‫اإلكمال‬ ‫عن‬ ‫المسؤول‬ ‫يعتبر‬shell
  • 17. 2- Editing Files with vim ‫لينوكس‬ ‫في‬ ‫أساسي‬ ‫يعتبر‬ ‫ما‬ ‫خدمة‬ ‫إلعداد‬ ‫الملفات‬ ‫مع‬ ‫التعامل‬ ‫معها‬ ‫العمل‬ ‫يمكن‬ ‫التي‬ ‫النصوص‬ ‫محررات‬ ‫من‬ ‫العديد‬ ‫هناك‬ ‫المحررات‬ ‫هذه‬ ‫أهم‬ ‫من‬,‫النصوص‬ ‫محرر‬vi vim‫على‬ ‫تحسين‬ ‫يعد‬ ‫نصوص‬ ‫محرر‬ ‫هو‬vi(‫لـ‬ ‫اختصار‬ ‫االسم‬vi improved) ‫على‬ ‫التحسينات‬ ‫من‬ ‫العديد‬ ‫تضمين‬ ‫تم‬vim‫أسهل‬ ‫معه‬ ‫التعامل‬ ‫لجعل‬ ‫مثل‬:syntax highlighting(‫أسهل‬ ‫األخطاء‬ ‫اكتشاف‬ ‫يجعل‬ ‫مما‬) ‫يعمل‬vim‫الـ‬ ‫من‬ ‫عدد‬ ‫ضمن‬modes‫أهمها‬: command mode:‫النصي‬ ‫الملف‬ ‫محتوى‬ ‫تغيير‬ ‫يمكن‬ ‫ال‬ ‫لكن‬ ‫ما‬ ‫أمر‬ ‫كتابة‬ ‫يمكن‬ input mode:‫النصي‬ ‫الملف‬ ‫محتوى‬ ‫تغيير‬ ‫يمكن‬
  • 18. 2- Editing Files with vim ‫الوظيفة‬ ‫األمر‬ ‫الـ‬ ‫إلى‬ ‫يدخل‬command mode(‫أمر‬ ‫أي‬ ‫كتابة‬ ‫قبل‬ ‫ضغطه‬ ‫يجب‬) Esc ‫يدخل‬‫الـ‬ ‫إلى‬input mode(‫استخدام‬ ‫عند‬ ‫للمؤشر‬ ‫الحالي‬ ‫الموضع‬ ‫بعد‬a) i ,a ‫يدخل‬‫للـ‬input mode‫جديد‬ ‫سطر‬ ‫طباعة‬ ‫مع‬ o ‫يحفظ‬‫المحرر‬ ‫ويغلق‬ ‫الحالي‬ ‫الملف‬ ‫محتويات‬ :wq ‫للتعديالت‬ ‫حفظ‬ ‫إجراء‬ ‫بدون‬ ‫المحرر‬ ‫يغلق‬ :q! ‫المحدد‬ ‫باالسم‬ ‫الملف‬ ‫يحفظ‬filename :w filename ‫الحالي‬ ‫السطر‬ ‫يحذف‬ dd ‫ينسخ‬‫الحالي‬ ‫السطر‬ yy ‫لنص‬ ‫باللصق‬ ‫يقوم‬‫منسوخ‬ p ‫للـ‬ ‫يدخل‬visual mode(‫الذي‬‫وقصه‬ ‫نص‬ ‫باختيار‬ ‫يسمح‬d‫نسخه‬ ‫أو‬y) v ‫يتراجع‬‫أمر‬ ‫آخر‬ ‫عن‬ u
  • 19. 2- Editing Files with vim ‫الوظيفة‬ ‫األمر‬ ‫يتراجع‬‫تراجع‬ ‫آخر‬ ‫عن‬ Ctrl+r ‫يذهب‬‫الملف‬ ‫في‬ ‫سطر‬ ‫ألول‬ gg ‫يذهب‬‫الملف‬ ‫في‬ ‫سطر‬ ‫آلخر‬ G ‫يبحث‬‫عن‬text‫للمؤشر‬ ‫الحالي‬ ‫الموقع‬ ‫من‬ ‫بدءا‬ /text ‫يبحث‬‫عن‬text‫للمؤشر‬ ‫الحالي‬ ‫الموقع‬ ‫قبل‬ ?text ‫ألول‬ ‫يذهب‬‫الحالي‬ ‫السطر‬ ‫في‬ ‫محرف‬ ^ ‫الحالي‬ ‫السطر‬ ‫في‬ ‫محرف‬ ‫آلخر‬ ‫يذهب‬ $ ‫األمر‬ ‫خرج‬ ‫يطبع‬command‫الحالي‬ ‫الملف‬ ‫في‬(‫مثال‬!ls) !command ‫يستبدل‬‫كلمة‬ ‫ورود‬ ‫جميع‬old‫بكلمة‬new :%s/old/new/g
  • 20. 3- Understanding the Shell Environment ‫من‬ ‫العمل‬ ‫يتم‬ ‫عندما‬shell‫بيئة‬ ‫تعريف‬ ‫يتم‬environment‫معينة‬ ‫بمتحوالت‬ ‫عرف‬ُ‫ت‬ ‫البئية‬variables ‫البرامج‬ ‫قبل‬ ‫من‬ ‫استخدامها‬ ‫يتم‬ ‫المتحوالت‬programs‫والـ‬scripts ‫مستخدم‬ ‫كل‬user‫بيئة‬ ‫له‬ ‫يكون‬environment‫به‬ ‫خاصة‬ ‫ضمن‬ ‫المعرفة‬ ‫المتحوالت‬ ‫لمعرفة‬shell environment‫األمر‬ ‫نستخدم‬ ‫معينة‬env ‫األمر‬ ‫خرج‬ ‫من‬ ‫ألسطر‬ ‫مثال‬env:
  • 21. 3- Understanding the Shell Environment ‫التالية‬ ‫الصيغة‬ ‫باستخدام‬ ‫له‬ ‫قيمة‬ ‫وإسناد‬ ‫بتعريفه‬ ‫نقوم‬ ‫متحول‬ ‫لتعريف‬: myVariable=value ‫التالية‬ ‫الصيغة‬ ‫باستخدام‬ ‫نقوم‬ ‫متحول‬ ‫قيمة‬ ‫لقراءة‬: echo $myVariable ‫ما‬ ‫ببيئة‬ ‫الخاصة‬ ‫اإلعدادت‬ ‫ملفات‬Environment configuration files‫من‬ ‫تتألف‬script code‫ومن‬variables ‫لـ‬ ‫يصل‬ ‫الدخول‬ ‫بتسجيل‬ ‫مستخدم‬ ‫يقوم‬ ‫عندما‬shell‫تسمى‬:login shell ‫تنفيذ‬ ‫تم‬ ‫إذا‬scripts‫الـ‬ ‫هذه‬ ‫من‬login shell‫بدأ‬ ‫سيتم‬subshell‫بها‬ ‫خاصة‬ ‫بيئة‬ ‫لها‬
  • 22. 3- Understanding the Shell Environment ‫ببيئة‬ ‫الخاصة‬ ‫اإلعدادت‬ ‫ملفات‬Environment configuration files: /etc/profile:‫المستخدمين‬ ‫جميع‬ ‫قبل‬ ‫من‬ ‫استخدامه‬ ‫يتم‬(‫مع‬ ‫يستخدم‬login shell‫فقط‬) •‫المتحول‬ ‫بإعداد‬ ‫يقوم‬PATH‫المستخدمين‬ ‫جميع‬ ‫أجل‬ ‫من‬ ‫متحوالت‬ ‫ويعرف‬ •‫ينفذ‬scripts‫في‬ ‫توجد‬:/etc/profile.d •‫الـ‬ ‫أجل‬ ‫من‬ ‫ينفذ‬Interactive shells‫فقط‬ /etc/bashrc:‫إطالق‬ ‫يتم‬ ‫عندما‬ ‫استخدامه‬ ‫يتم‬subshell(‫تنفيذ‬ ‫عند‬ ‫أي‬scripts) •‫ينفذ‬ ‫أيضا‬scripts‫في‬ ‫توجد‬:/etc/profile.d •‫الـ‬ ‫أجل‬ ‫من‬ ‫ينفذ‬Interactive shells‫والـ‬non-interactive shells ~/.bash_profile:‫تعريف‬ ‫يتم‬ ‫الملف‬ ‫بهذا‬login shell variables‫معين‬ ‫بمستخدم‬ ‫خاصة‬ ~/.bashrc:‫تعريف‬ ‫يتم‬ ‫الملف‬ ‫بهذا‬subshell variables‫معين‬ ‫بمستخدم‬ ‫خاصة‬
  • 23. 3- Understanding the Shell Environment ‫الـ‬ ‫لمستخدم‬ ‫رسائل‬ ‫إظهار‬shell: ‫الملف‬ ‫باستخدام‬/etc/motd: ‫الـ‬ ‫إلى‬ ‫بنجاح‬ ‫الدخول‬ ‫يسجل‬ ‫عندما‬ ‫للمستخدم‬ ‫تظهر‬ ‫رسائل‬ ‫كتابة‬ ‫يتم‬shell‫الـ‬ ‫تنفيذ‬ ‫وقبل‬login shell ‫الملف‬ ‫باستخدام‬/etc/issue: ‫الـ‬ ‫إلى‬ ‫الدخول‬ ‫يسجل‬ ‫أن‬ ‫قبل‬ ‫للمستخدم‬ ‫تظهر‬ ‫رسائل‬ ‫كتابة‬ ‫يتم‬shell •‫الملف‬issue.net‫بعد‬ ‫عند‬ ‫التسجيل‬ ‫عند‬ ‫رسالة‬ ‫يظهر‬ •‫الملف‬issue‫يحوي‬ ‫أن‬ ‫يمكن‬ ‫لكن‬ ‫نصي‬ ‫ملف‬ ‫هو‬escape sequences‫النظام‬ ‫حول‬ ‫معينة‬ ‫معلومات‬ ‫لطباعة‬ d‫الحالي‬ ‫التاريخ‬ ‫تطبع‬s‫الـ‬ ‫اسم‬ ‫تطبع‬OS n‫الجهاز‬ ‫اسم‬ ‫تطبع‬o‫الـ‬ ‫تطبع‬domain name u‫الحاليين‬ ‫المستخدمين‬ ‫عدد‬ ‫تطبع‬t‫الوقت‬ ‫تطبع‬
  • 24. 4- Finding Help ‫صعبا‬ ‫أمرا‬ ‫تذكرها‬ ‫عملية‬ ‫يجعل‬ ‫مما‬ ‫تنفيذها‬ ‫يمكن‬ ‫التي‬ ‫األوامر‬ ‫من‬ ‫الكثير‬ ‫هناك‬ ‫تنفيذها‬ ‫نريد‬ ‫التي‬ ‫باألوامر‬ ‫خاصة‬ ‫معلومات‬ ‫على‬ ‫للحصول‬ ‫لينوكس‬ ‫تقدمها‬ ‫أدواة‬ ‫نستخدم‬ -- help option: •‫عنه‬ ‫يبحث‬ ‫الذي‬ ‫األمر‬ ‫استخدام‬ ‫لكيفية‬ ‫مسبقة‬ ‫عامة‬ ‫معرفة‬ ‫المستخدم‬ ‫لدى‬ ‫وجود‬ ‫يفترض‬ •‫أمر‬ ‫استخدام‬ ‫كيفية‬ ‫عن‬ ‫عامة‬ ‫لمحة‬ ‫يعطي‬‫معين‬ •‫الـ‬ ‫يسرد‬options‫استخدامها‬ ‫يمكن‬ ‫التي‬ ‫استخدام‬man: •‫المتاحة‬ ‫األوامر‬ ‫عن‬ ‫معلومات‬ ‫على‬ ‫للحصول‬ ‫األدوات‬ ‫أهم‬ ‫من‬ •‫استخدامه‬ ‫وكيفية‬ ‫المحدد‬ ‫باألمر‬ ‫تعريف‬ ‫يعطي‬ •‫يسرد‬‫الـ‬options‫يمكن‬ ‫التي‬‫استخدامها‬
  • 25. 4- Finding Help ‫صفحة‬ ‫بأسفل‬ ‫مفيدة‬ ‫أقسام‬man‫ما‬ ‫ألمر‬: ‫باألمثلة‬ ‫خاص‬ ‫قسم‬examples ‫قسم‬see also:‫لصفحات‬ ‫إحالة‬ ‫يقدم‬man‫ذات‬ ‫أخرى‬‫تحوي‬ ‫ولصفحات‬ ‫صلة‬Documentation ‫أشمل‬ •‫صفحة‬ ‫أسفل‬ ‫يظهر‬ ‫مثال‬man grep:
  • 26. 4- Finding Help ‫الـ‬ ‫ضمن‬ ‫محددة‬ ‫معلومات‬ ‫عن‬ ‫البحث‬man pages: ‫باستخدام‬ ‫البحث‬man –k: •‫نستخدم‬man –k‫بالـ‬ ‫متبوعة‬keyword‫عنها‬ ‫البحث‬ ‫نريد‬ ‫التي‬ •‫الـ‬ ‫بقسم‬ ‫البحث‬ ‫سيتم‬summary‫الـ‬ ‫صفحات‬ ‫بجميع‬ ‫الخاص‬man‫الموجودة‬ •‫الـ‬ ‫بصفحات‬ ‫قائمة‬ ‫إعادة‬ ‫سيتم‬man‫صفحة‬ ‫بكل‬ ‫مختصر‬ ‫تعريف‬ ‫مع‬ ‫الصلة‬ ‫ذات‬ •‫الـ‬ ‫ضمن‬ ‫البحث‬ ‫يتم‬ ‫حيث‬ ‫تماما‬ ‫دقيق‬ ‫غير‬ ‫البحث‬summary‫أمر‬ ‫لكل‬ ‫فقط‬ •‫الـ‬ ‫إيجاد‬ ‫يتم‬ ‫لم‬ ‫إذا‬keyword‫خطأ‬ ‫رسالة‬ ‫إعادة‬ ‫سيتم‬ ‫عنها‬ ‫نبحث‬ ‫التي‬: “nothing appropriate”
  • 27. 4- Finding Help ‫األمر‬ ‫خرج‬ ‫يظهر‬ ‫مثال‬:man –k partition
  • 28. 4- Finding Help ‫باستخدام‬ ‫البحث‬ ‫عند‬ ‫النتائج‬ ‫فلترة‬man –k: •‫نستخدم‬ ‫أن‬ ‫يمكن‬grep‫البحث‬ ‫نتائج‬ ‫لفلترة‬ •‫الـ‬ ‫صفحات‬man‫أقسام‬ ‫عدة‬ ‫ضمن‬ ‫مصنفة‬ (‫القسم‬ ‫مثال‬1‫التنفيذية‬ ‫بالبرامج‬ ‫خاص‬,‫القسم‬8‫النظام‬ ‫إدارة‬ ‫بأوامر‬ ‫خاص‬) •‫لكلمة‬ ‫ورود‬ ‫عن‬ ‫للبحث‬ ‫التالي‬ ‫األمر‬partition‫القسم‬ ‫ضمن‬8‫الـ‬ ‫من‬man pages: man -k partition | grep 8 man –f <somecommand>: •‫نستخدم‬–f option‫وصف‬ ‫لعرض‬description‫بتحديده‬ ‫نقوم‬ ‫ما‬ ‫ألمر‬ ‫قصير‬ •‫الصحيح‬ ‫األمر‬ ‫نستخدم‬ ‫أننا‬ ‫بالتأكد‬ ‫استخدامه‬ ‫يفيد‬ ‫األمر‬apropos‫لألمر‬ ‫مكافئ‬man –k(‫الـ‬ ‫ضمن‬ ‫للبحث‬ ‫يستخدم‬man pages)
  • 29. 4- Finding Help ‫بـ‬ ‫الخاصة‬ ‫المعطيات‬ ‫قاعدة‬ ‫تحديث‬man: ‫األمر‬ ‫كتابة‬ ‫عندما‬man –k‫رسالة‬ ‫على‬ ‫نحصل‬ ‫قد‬: “nothing appropriate.” ‫بـ‬ ‫الخاصة‬ ‫المعطيات‬ ‫قاعدة‬ ‫تحديث‬ ‫علينا‬ ‫أن‬ ‫الرسالة‬ ‫هذه‬ ‫تشير‬ ‫ربما‬man ‫بـ‬ ‫الخاصة‬ ‫المعطيات‬ ‫قاعدة‬ ‫نحدث‬man‫األمر‬ ‫طريق‬ ‫عن‬: mandb ‫استخدام‬info‫ما‬ ‫أمر‬ ‫عن‬ ‫معلومات‬ ‫على‬ ‫للحصول‬: ‫الـ‬Info‫لـ‬ ‫مشابهة‬man‫ببعضها‬ ‫مربوطة‬ ‫الصفحات‬ ‫تكون‬ ‫حيث‬ ‫التصفح‬ ‫بسهولة‬ ‫عنها‬ ‫تتميز‬ ‫لكنها‬ ‫الـ‬ ‫صفحات‬Info‫تقدم‬ ‫صفحات‬ ‫هي‬documentation‫لينوكس‬ ‫في‬ ‫لألوامر‬ ‫طريق‬ ‫عن‬ ‫بها‬ ‫الخاص‬ ‫للتوثيق‬ ‫الوصول‬ ‫يمكن‬ ‫األوامر‬ ‫بعض‬Info page‫فقط‬ ‫الـ‬ ‫قراءة‬ ‫يمكن‬Info page‫استخدام‬ ‫طريق‬ ‫عن‬ ‫ما‬ ‫ألمر‬info‫أو‬pinfo
  • 30. 4- Finding Help ‫استخدام‬ ‫يفضل‬pinfo‫على‬info‫للـ‬ ‫خاص‬ ‫دعم‬ ‫مثل‬ ‫خاصة‬ ‫ميزات‬ ‫تقدم‬ ‫ألنها‬menu items ‫الـ‬ ‫صفحات‬info‫الويب‬ ‫كصفحات‬ ‫هرمي‬ ‫بشكل‬ ‫منظمة‬ ‫نضغط‬n‫التالية‬ ‫للصفحة‬ ‫لالنتقال‬,p‫السابقة‬ ‫للصفحة‬ ‫لالنتقال‬,u‫لألعلى‬ ‫لالنتقال‬ ‫الـ‬ ‫ضمن‬Info page‫هناك‬menu items,‫كل‬item‫بـ‬ ‫يسبق‬* ‫على‬ ‫الضغط‬ ‫عند‬item‫الهرمية‬ ‫ضمن‬ ‫آخر‬ ‫لمستوى‬ ‫ننتقل‬ ‫محدد‬,‫على‬ ‫نضغط‬ ‫للصعود‬u
  • 31. 4- Finding Help ‫ملفات‬ ‫استخدام‬/usr/share/doc: ‫بعض‬‫واألنظمة‬ ‫الخدمات‬‫بها‬ ‫خاص‬ ‫توثيق‬ ‫تتيح‬‫الـ‬ ‫هذا‬ ‫في‬directory ‫مثل‬:rsyslog ,Kerberos ,OpenSSL ‫عنه‬ ‫نبحث‬ ‫التي‬ ‫الخدمات‬ ‫إلعداد‬ ‫دليل‬ ‫وتقدم‬ ‫تفصيال‬ ‫أكثر‬ ‫تكون‬ ‫الملفات‬ ‫هذه‬ ‫في‬ ‫المعلومات‬‫ا‬

Editor's Notes

  1. الغرض من الـ shell أنها توفر بيئة يمكن عن طريقها تنفيذ الـ commands
  2. يمكن باستخدام الـ aliases أن نعدل على الأوامر الموجودة أصلا ضمن لينوكس unalias [-a] name(s) -a لحذف جميع الـ aliases للمستخدم الحالي ضمن الـ session الحالية
  3. من المفيد لمدير النظام أن يقوم بالاستفادة من الـ history عند التعامل مع الـ bash shell وبالتالي لا يكتب الأوامر نفسها مرارا وتكرارا لضبط إعدادت الـ bash history نقوم بالتعديل على الملف ~/.bashrc حيث نحدد قيم المتحولين HISTFILESIZE وHISTSIZE بشكل افتراضي تكون قيم هذه المتحولة صغيرة ,نقوم بزيادة القيم بشكل افتراضي تكتب bash بنهاية كل session فوق الملف الخاص بالـ history ,فإذا كنا مسجلين الدخول لأكثر من bash session سيتم حفظ آخر session فقط ,نريد أن يتم الإلحاق للملف وليس الكتابة فوقه ,لتفعيل ذلك نضيف السطر التالي بملف .bashrc : shopt -s histappend لنفعل الكتابة بشكل مباشر من الsession إلى الملف (وبالتالي يمكن لأوامر خاصة بterminal أن يتم استخدامها في أخرى بنفس الوقت) نستخدم الأمر history –a الأوامر التي سيتم إظهارها عن طريق الأمر history ستكون مرقمة وهذا سيفيدنا بإعادة استخدامها Histroy 5 تظهر آخر 5 أوامر
  4. Event Designators نستخدمها لتنفيذ أوامر سابقة من الـ history بعد كتابة ! لتنفيذ أمر تمت كتابته مؤخرا نكتب رقمه وفقا لآخر رقم كالتالي: !-number لتنفيذ آخر أمر !! !ssh تقوم بتنفيذ آخر آمر يبدأ بـ ssh إذا كنا نريد تنفيذ أمر يحوي كلمة ليس في أوله ,نقوم بكتابة: !?search? حيث ينفذ آخر أمر يحوي الكلمة search إذا أخطأنا بكتابة أمر يمكن أن نستخدم: ^original^replacement^
  5. Word Designators تكون بعد ! وتستخدم لاختيار قسم من الأمر يمكن أن نحدد قسم معين من التعليمة التي نعيد تنفيذها ,حيث أن كل تعليمة تقسم لأجزاء مفصولة بـ space ومرقمة بدئا من 0 ls /usr/share/doc/manpages cd !!:1 عن طريق هذه التعليمة قمنا بأخذ ثاني قسم من التعليمة السابقة آخر قسم يرمز له بـ $ ,يمكن أن نختار جميع الparameters التي تم استخدامها في الأمر السابق كالتالي: !!:1* !!:1-$ Modifiers إضافة modifiers للتعديل على الأوامر التي نقوم باستعادتها من الـ history تضاف بعد : cat /usr/share/doc/manpages/copyright cd !!:$:h Pwd /usr/share/doc/manpages عن طريق h modifier قمنا باقتصاص آخر جزء من الprarmeter بعد / يمككنا أن نأخذ آخر جزء بعد / less !cat:$:t حيث يتم البحث عن آخر cat command تم تنفيذه ويتم إعادة آخر جزء بعد /
  6. p modifier نستخدمه لطباعة الأمر الذي نقوم باستعادته من الـ history وذلك للتأكد من صحته قبل أن نقوم بتنفيذه .. لاستبدال كلمة بكلمة أخرى s/original/new/ تقوم باستبدال أول ورود للكلمة original بالكلمة new إذا أردنا استبدال كل ورود للكملة نستخدم gs بدلا من s
  7. في العادة عندما كنا ندخل إلى محرر نصوص فإن أحرف الأبجدية سيتم طباعتها عند ضغطها ,لكن في vim سيتم الدخول أولا إلى الـ command mode وأحرف الأبدية ستنقل المؤشر مثلا عند الضغط على : ندخل إلى الـ: last-line mode الآن يمكننا أن نكتب أوامر مثل :q لإغلاق الملف ,أو :w لحفظ الملف
  8. الـ shell environment تتألف من متحولات variables ,هذه المتحولات تأخذ قيم محددة المتحولات تستخدم من قبل البرامج فمثلا يمكن للبرامج أن تعرف أني أستخدم اللغة الأنكليزية حيث تنظر لقيمة المتحول LANG والتي تكون en_US.UTF-8 وهذا يجعل البرامج تتعامل مع المتحولات بشكل عام بدون أن تهتم بالقيمة الفعلية للمتحول بسبب احتياجات المستخدمين والصلاحيات المسندة لهم ستكون مختلفة فإن لكل مستخدم سيكون له بيئة خاصة به ,وبالتالي يكون له variables خاصة به مثلا أحد المستخدمين يمكن أن تكون قيمة المتحول LANG عنده هي اللغة الأنكليزية ,ومستخدم آخر تكون قيمة الـ LANG عنده هي اللغة العربية
  9. عندما يقوم مستخدم بتسجيل الدخول يتم خلق environment خاصة بهذا المستخدم بشكل تلقائي من أجل خلق environment خاصة بالمستخدم بعد تسجيل الدخول يتم تنفيذ ملفات محددة وهي أربع ملفات (مذكورة الملفات الأربعة في السلايد القادم) هذه الملفات ستقوم بتعريف المتحولات الخاصة بالمستخدم عندما يقوم مستخدم بتسجيل الدخول فإن أول shell تفتح له هي الـ login shell
  10. /etc/profile هو ملف عام يتم قراءته عندما يقوم أي مستخدم بتسجيل الدخول هذا الملف بقوم بإعداد متحول الـ PATH ,وإعدادات ومتحولات خاصة بكل المستخدمين أيضا هذا الملف يقوم بتنفيذ scripts توجد في الـ directory : /etc/profile.d . فإذا أردنا أن يقوم النظام بتنفيذ script من أجل كل مستخدم عندما يقوم بالدخول للنظام نضع هذا الـ script في الـ directory السابق الملف /etc/bashrc يتم قراءته عند تنفيذ script ويمكن ضمنه أن نقوم بتنفيذ scripts توجد في الـ directory : /etc/profile.d الاختلاف بالطريقة التي يتم تنفيذ بها الملفين /etc/profile و/etc/bashrc يعتمد على نوع تسجيل الدخول الذي ينفذ /etc/profile تنفذ فقط من أجل الـ shells التفاعلية /etc/bashrc تنفذ من أجل الـ shells التفاعلية وغير التفاعلية في لينوكس هناك نوعان من الـ login shells : الـ shells التفاعلية ,والshells غير التفاعلية الـ shell التفاعلية هي الـ shell التي يمكن للمستخدم فيها أن يقوم بإدخال التعليمات مثل: bash prompt (أي الـ terminal العادية) بينما الـ shell غير التفاعلية هي الـ shell التي لا يمكن أن يتفاعل معها المستخدم مثل الـ bash الخاصة بتنفيذ scripts
  11. /etc/motd يمكن بهذا الملف أن نكتب رسائل ستظهر للمستخدم بعد أن يسجل الدخول بنجاح إلى الـ shell ,يمكن أن يتم استخدام ذلك من قبل مدراء النظام لإظهار رسائل للمستخدمين وإعطائهم تعليمات أو إرشادات معينة بدلا من إرسال أيميل لهم على سبيل المثال Motd هي اختصار لـ message of the day /etc/issue هو ملف نصي يتم كتابة فيه رسائل تحوي تعلميات أو إرشادات تظهر للمستخدم قبل أن يقوم بتسجيل الدخول الملف issue.net تحوي الرسالة التي سيتم إظهارها للمستخدم عندما يقوم بتسجيل الدخول عن بعد للجهاز remotely مثلا باستخدام ssh الملف issue هو ملف نصي لكنه يمكن أن يحوي escape sequences لإظهار معلومات معينة حول النظام escape sequence يبدأ بـ \ وبعده محرف معين ,مثلا \d ستقوم بطباعة التاريخ الحالي \s تظهر اسم نظام التشغيل , \n تظهر اسم الجهاز ,\o تطبع الـ domain name للجهاز \t تطبع الوقت الحالي ,\u تطبع عدد المستخدمين المسجيلين الدخول حاليا
  12. أسرع طريقة للحصول على معلومات عن أمر معين هي أن ننفذ الأمر مع –help , مثلا: systemctl –help نستخدم –help عندما يكون عندنا لمحة عامة عن كيف يمكن استخدام أمر ونريد أن نعرف الـ options المتاحة