Professional Documents
Culture Documents
Ø Ù ÙŠÙ Ø Ù Ù Ø Ø Ø®Ø Ù Ø Ù Ø Ø Ø ÙŠ Ù ÙŠ Ø Ù Ø Ù Ø Ù ÙŠÙ ÙƒØ - Ù Ø Ù Ù PDF
Ø Ù ÙŠÙ Ø Ù Ù Ø Ø Ø®Ø Ù Ø Ù Ø Ø Ø ÙŠ Ù ÙŠ Ø Ù Ø Ù Ø Ù ÙŠÙ ÙƒØ - Ù Ø Ù Ù PDF
الصدار الول
12شعبان 1429
13اغسطس 2008
دليل المستخدم العربى فى أوامر لينكس 2
سبحان ال وبحمده سبحان ال العظيم الحمد ل رب العالمين
إهداء
أهدي هذا الكتاب إلى أمي الحبيبة
وأرجو من كل من يقرأ هذا الكتاب أن
يدعو لها بالشفاء و بدخول الجنة
مقدمة:
الحمد ل رب العالمين والصلة و السلم على أشرف المرسلين وخاتم النبيين ورحمة ال
للعالمين سيدنا محمد وعلى آله وصحبه وسلم .
وإن شاء ال سيصدر هذا الكتاب على إصدرات متتالية بحيث يلم الكتاب بأكبر قدر
ممكن من الوامر .وإن شاء ال ستحمل الصدارة الثانية رقم . 2
تمت كتابة هذا الكتاب على توزيعة opensuse 11وذلك باستخدام برنامج
openoffice.orgالصدارة 2.4
أي ) ( GNU Free Documentation License هذا الكتاب خاضع لرخصة GNU FDL
جميع حقوق الطبع محفوظة للمؤلف أحمد السيد أحمد علي
ملحظة مهمة :هذه العلمة تعنى اترك مسافة بعد المر .وسوف أضع هذه العلمة
فى شرح المر بالعربى فقط ولن أضعها فى المثلة .وساتبع تلك الطريقة فى الوامر الولى
فقط لكى تشعر بالمسافات ومدى وجوبها .
قائمة المحتويات
مقدمة :
الفصل الول :كيفية التعامل مع سطر الوامر
المر man
المر info
المر xman
طريقة فهم صفحات المساعدة manual
المر whatis
المر apropos
-bالتعامل مع الملفات
المر touch
المر cat
المر tac
المر file
المر more
المر less
المر head
المر tail
المر wc
المر grep
المر zgrep
المر diff
-cالتعامل مع المجلدات
المر mkdir
المر tree
-dأوامر النسخ و النقل و إعادة التسمية
المر rm
المر cp
المر mv
#النسخ و النقل باستخدام علمة *
المر ln
#عمل أرشيف
#عرض محتويات أرشيف
#فك أرشيف
#إضافة ملف أو مجلد إلى أرشيف
المر cpio
-bالضغط
المر gzip
المر mkfs
-cربط محرك أقراص جديد
#خطوات ربط البرتشنات مؤقتا
#خطوات ربط البرتشنات دائما
المر df
الفصل الول
كيفية التعامل مع سطر الوامر
أخي القارئ :لكي تفهم مهمة أحد الوامر واستخداماته المتعددة وخياراته يمكنك
الستعانة بأوأمر هذا الفصل لتتمكن من الحاطة بوظيفة المر .
#يوجد لكل أمر صفحات ) manualصفحات مساعدة( الغرض منها التعريف بوظيفة
المر وبيان كيفية استخدامه .
#المر : man
ووظيفة المر :يعرض لك جميع المعلومات المتعلقة بأي أمر تريد مثل ) كيفية استخدام
هذا المر -اسم المبرمج الذى كتب هذا المر وبريده اللكترونى – أوامر أخرى لها صلة
بهذا المر ...........الخ ( .
ويتم استخدام هذا المر كالتالى :
المر الذى تريد الستعلم عنه man
-1إذا أردت معرفة جميع المعلومات المتعلقة بالمر lsاكتب ما يلي:
-2لمعرفة وظيفة أمر معين دون عرض كامل لصفحة المساعدة نستخدم الخيار ) ( fفمثل
إذا أردت معرفة وظيفة المر lsاكتب ما يلى :
-3لمعرفة جميع الوامر التى تؤدى غرضا معينا استخدم الخيار ) (kفمثل إذا أردت معرفة
جميع الوامر التى تقوم بالتقسيم fdiskاكتب ما يلى :
#المر : info
ووظيفة هذا المر نفس وظيفة المر السابق manولكن المر infoأكثر تفصيل.
-1إذا أردت معرفة جميع المعلومات المتعلقة بالمر lsاكتب ما يلى :
#المر : xman
يستخدم هذا المر لعرض صفحات المساعدة manualمثل المر manتماما لكنه يتميز
بالتى ) تستطيع استخدام الفارة لعرض الوامر والبحث عنها – يمكنه عرض الوأمر حسب
رقمها ) ( 9 – 1كما سيشرح فى جزء كيفية فهم صفحات .( man
لعرض صفحات المساعدة اضغط على manual pageوسوف يظهر لك الشكل التي :
للبحث عن أمر معين اضغط على الزر العلوى optionsثم اضعط على searchفيظهر
لك الشكل التي :
للبحث عن الوامر حسب السم اضغط على manual pageبعد إدخال اسم المر.
للبحث عن الوامر حسب الوظيفة اضغط على Aproposبعد إدخال وظيفة المر .
ملحظة مهمة:
قد يكون للمر الواحد أكثر من رقم ) أي أنه موجود فى أكثر من قسم (
فمثل المر killموجود بالقسم ). (2) , (1
المشكله هنا أننا عندما نستدعى صفحة المساعدة الخاصة بمثل هذا المر ) (killفإن المر
manسوف يبحث عن المر فى قاعدة بياناته ويأتى بأول نتيجة تصادفه ) أي أنه سيأتى
لك بالمر killالموجود فى القسم . ( 1
ولتفادى ذلك لبد من تحديد القسم الذى سيبحث فيه عن المر وذلك عن طريق كتابة
رقم القسم قبل المر كالتالى :
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
SEE ALSO
(tput(1), terminfo(5
الشـــــرح :
-1تبدأ صفحة المساعدة بكتابة اسم المر الذى استعلمت عنه ورقمه ) وهو هنا clear
ورقمه 1أي من الوامر التقليدية التى يمكن لى مستخدم تنفيذها (
)clear(1 )clear(1
2- NAME:
وهنا نجد اسم المر تتبعه وظيفته.
3- SYNOPSIS:
وهنا يبين لك كيفية استخدام المر .فنجد مثل المر : emacs
فالمر يكتب أول ثم يتبعه optionثم بعد ذلك الملف أو المجلد الذى يطبق عليه المر.
#قبل النتقال إلى النقطة التالية يجب معرفة كيف تفهم صيغة كتابة المر وذلك كما يلى:
] [ مابداخلها اختيارى يمكن أن تكتبه أو ل تكتبه
> < مابداخلها اجبارى لبد أن تكتبه مع إبداله بالنص المناسب
فمثل إذا كان > <fileلبد ابدال كلمة fileبالملف الذى سوف
تتعامل معه.
} { أي لبد كتابة أحد الخيارات الموجودة بداخله أي اختر مايناسبك.
...الثلث نقط تعنى الخ.
فمثل نجد مكتوبا [option]...أي اكتب خيار واحد أو أكثر ونجد [file]...أي ملف
واحد أو أكثر.
يمكن دمج هذه الرموز مع بعضها وتقرأ من الخارج للداخل فمثل الرمز ]> <[ يعنى أنه
اختيارى ولو اخترته استبدل مابداخله بما يناسبك.
4- DESCRIPTION:
وهنا نجد شرحا لما يقوم به المر بإيجاز وشرح لخياراته.
5- OPTIONS:
وهنا شرح مختصر لخيارات المر.
6- EXAMPLES:
هنا بعض المثلة التوضيحية .
7- AUTHORS:
هنا نجد اسم المبرمج الذى كتب المر أو البرنامج وكذلك صفحة .manual
8- BUGS:
هنا نجد البريد اللكترونى الذى نرسل إليه المشاكل التى تواجهنا أثناء تنفيذ المر أو
البرنامج.
9- COPYRIGHT:
هنا نجد معلومات عن حقوق الملكية للمر أو البرنامج.
11- F IL ES:
نجد هذا القسم فى الوامر التى لها ملفات تهيئة مثل المر .mount
12- HISTORY:
يذكر تاريخ المر من حيث إذا كان يستخدم فى أنظمة أخرى مثل unixأو .bsd
#المر : whatis
يستخدم لعرض معلومات مختصرة عن أي أمر .ولكى يعمل هذا المر يلزم له قاعدة بيانات.
ولعمل قاعدة البيانات اتبع إحدى الطريقتين التيتين:
ahmed@the-game:~> su
Password:
the-game:/home/ahmed # makewhatis
ahmed@the-game:~> su
Password:
the-game:/home/ahmed # mandb
الن معظم التوزيعات بها قاعدة بيانات جاهزة لهذا المر ول تحتاج كل هذا بل وقد
ليوجد بها المر makewhatisأصل.
-1إذا أردت الستعلم عن وظيفة أمر واحد فقط اكتب ما يلى :
-2إذا أردت الستعلم عن وظيفة أكثر من أمر اكتب الوامر المراد الستعلم عنها وراء
بعض كالتالى :
ونلحظ هنا ان المر cdلم يتم العثور له على وظيفة مناسبة .
#المر : apropos
يستخدم للبحث عن أي أمر أعرف وظيفته .أي أنك تستخدم هذا المر إذا كنت تبحث
عن الوامر التى تؤدى وظيفة معينة.
-1إذا أردت الستعلم عن الوامر التى يمكن أن تقسم الهارد ديسك اكتب ما يلى :
الفصل الثاني
أوامر البحث :
#المر : whereis
يستخدم هذا المر للبحث عن البرامج ] ملفات ثنائية [ والملفات المتعلقة بها وصفحات
كتيب التشغيل . manual
-1إذا أردت البحث عن برنامج أو أمر معين وكل شىء متعلق به }مثل صفحات
manualالخاصة به والملفات { sourceاكتب ما يلى:
ls: /usr/share/man/man1p/ls.1p.gz
/usr/share/man/man1/ls.1.gz
-3إذا أردت البحث عن الملفات الثنائية فقط اكتب ما يلى:
ls: /bin/ls
ls:
#المر : locate
يستخدم للبحث عن الملفات داخل النظام أو داخل الهارد وهو أسرع من المر .find
ملحظة :بعض التوزيعات تحتاج عمل قاعدة بيانات للمر locateقبل استخدامه وذلك
كما يلى :
ahmed@the-game:~> su
Password:
the-game:/home/ahmed # updatedb
-1إذا أردت البحث عن جميع الملفات ذات نوع واحد فقط داخل جهازك اكتب ما
يلى:
فتكون النتيجة مثل كما يلى } :وذلك طبعا حسب الملفات الموجودة على جهازك {
-2إذا أردت البحث عن الملفات ذات امتداد mp4و mp2معا داخل جهازك اكتب
ما يلى:
فتكون النتيجة مثل كما يلى } :وذلك طبعا حسب الملفات الموجودة على جهازك {
فتكون النتيجة كما يلى } :وذلك طبعا حسب الملفات الموجوده على جهازك {
الفصل الثالث
أوامر تتعلق بالتعامل مع الملفات والمجلدات
#المر : pushd
يستخدم للدخول إلى أى مجلد أو أى مسار .وطريقة استعمال هذا المر كالتالى:
#المر : popd
يستخدم للرجوع إلى الخلف خطوة واحدة عن المكان الذي تقف عنده .ويستخدم بعد
المر pushdفقط أي أنك إذا استخدمت المر cdللدخول لحد المجلدات وأردت
استخدام المر popdللرجوع خطوة واحدة فإن المر لن ينفذ ويستخدم هذا المر منفردا
كالتالى :
ahmed@the-game:/mnt/games/chm/ahmed> popd
~ /mnt/games/chm
>ahmed@linux-r58p:/mnt/games/chm
#المر : cd
يستخدم للتنقل بين المجلدات والدخول إليها .
-1للدخول إلى مجلد فى نفس المكان الذى تقف فيه اكتب التي :
مثال :للدخول إلى المجلد ahmedفى المسار الذي تقف فيه حاليا اكتب التالى:
ahmed@the-game:~> cd ahmed
>ahmed@the-game:~/ahmed
-2للدخول إلى مجلد ما فى مسار غير الذي تقف عليه اكتب التي :
المسار cd
ahmed@the-game:~> cd /mnt/collection1/ogg
>ahmed@the-game:/mnt/collection1/ogg
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:
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
يستخدم هذا المر لعرض الملفات و المجلدات الموجودة فى المسار الذى تحدده أنت أو
لعرض الملفات والمجلدات الموجوده فى المسار الحالى إذا لم تحدد له أي مسار .
-1لعرض جميع الملفات والفهارس فى المسار الحالى } المكان إلى انت واقف فيه دلوقتى {
اكتب ما يلى :
ahmed@the-game:~> ls
-2لعرض جميع الملفات والفهارس فى أي مسار على الجهاز اكتب ما يلى :
ahmed@the-game:~> ls /var
-3لعرض جميع الملفات والمجلدات المخفية وغير المخفية اكتب ما يلى :
ahmed@the-game:~> ls -a
" وذلكU "capital- لعرض جميع الملفات والمجلدات دون ترتيب استخدم الخيار-4
: كما يلى
ahmed@the-game:~> ls -U
-5لعرض جميع الملفات مرتبة بالتاريخ بدل من الحروف البجدية اكتب ما يلى :
ahmed@the-game:~> ls -t
-6لعرض جميع الملفات بطريقه عكسية } أي ترتب أبجديا من أسفل إلى أعلى { اكتب ما
يلى :
ahmed@the-game:~> ls -r
ahmed@the-game:~> ls -l
total 7384
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
مع ملحظة أن حجم المجلدات ليشمل حجم محتوى تلك المجلدات .
-8لعرض معلومات تقصيلية عن الملفات و المجلدات كما سبق لكن مع إظهار الحجم
بالكيلو والميجا والجيجا اكتب ما يلى :
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
مع ملحظة أن حجم المجلدات ليشمل حجم محتوى تلك المجلدات .
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
-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
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:
./public_html:
ahmed@the-game:~> ls -F
ونلحظ أن المجلد يأخذ الرمز /والملف التنفيذى يأخذ الرمز * والرابط لملف آخر أو
linkيعبر عنه بالرمز @ و socketيأخذ الرمز = .
ahmed@the-game:~> ls -m
: {اكتب ما يلىD لعرض أسماء الملفات التى تبدأ بحرف معين } مثل حرف-13
ahmed@the-game:~> ls D*
Desktop:
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
ahmed@the-game:~> ls [Rrz]oot
root:
Root:
ونلحظ من تلك النتيجة أنه وجد المجلدين rootو Rootوهما مجلدان فارغان ولم
يجد مجلدا باسم . zoot
-15لعرض الملفات والمجلدات التى تبدأ بالحرف من aوحتى rوتنتهى بالمقطع llw
اكتب ما يلى :
ahmed@the-game:~> ls [a-r]llw
gllw:
kllw:
ونلحظ أنه يعرض لك الحرف smallفقط من aإلى rولن يعرض الحرف الكابيتال .
ahmed@the-game:~> ls -1 /var
adm
agentx
cache
games
lib
lock
log
mail
opt
run
spool
tmp
X11R6
yp
-17لعرض الملفات والمجلدات مرتبة ترتيبا هجائيا حسب المتداد اكتب ما يلى :
ahmed@the-game:~/Documents> ls -X
ونلحظ هنا أن المجلدات تأتى أول لنه ليوجد لها امتداد ثم تأتى الملفات حسب
الترتيب البجدى لمتدادها كما هو موضح مع ملحظة أنه إذا كان للملف امتداد مركب
مثل) ( .tar.bz2يتم اعتبار آخر جزء فقط فى المتداد وهنا هو ) . ( .bz2
#المر : dir
يستخدم لعرض الملفات والمجلدات تماما مثل المر lsويأخذ نفس خيارات المر
. ls
#المر : touch
-يستخدم هذا المر لنشاء ملف فارغ
-يستخدم لتغيير تاريخ إنشاء الملف أو المجلد وذلك إذا كان موجود أصل .
-1لنشاء ملف فارغ دون امتداد فمثل إذا أردت إنشاء الملف باسم asdاكتب ما يلى
:
-2لنشاء ملف فارغ بامتداد معين } اسم الملف xmanوامتداده txtمثل { اكتب ما
يلى :
-3لنشاء أكثر من ملف فى وقت واحد يتم كتابة اسم الملفين الواحد تلو الخر مع ترك
مسافة بينهم اكتب ما يلى :
-4لتغيير تاريخ آخر تعديل على ملف أو مجلد موجود أصل بحيث يكون تاريخ آخر
تعديل على الملف لحظة كتابة المر } وذلك إذا كنت تمتلك تصريح الكتابة على ذلك
الملف أو المجلد { اكتب نفس المر السابق كما يلى :
ولملحظة الفرق سنستعرض تلك الملفات قبل وبعد تغيير التاريخ باستخدام المر touch
كالتالى :
أول قبل تغيير التاريخ باستخدام المر : touch
ahmed@the-game:~> ls -l
ahmed@the-game:~> ls -l
-5لتغيير تاريخ آخر تعديل على ملف أو مجلد موجود أصل بأى تاريخ آخر تختاره يتم
استخدام الخيار tولكن قبل شرح كيفية استخدام هذا الخيار يجب توضيح كيفية كتابة
التاريخ وذلك كالتالى :
cc yy MM DD hh mm ss التاريخ يكتب هكذا
حيث :
ccأول رقمين من الربعة أرقام الخاصة بالسنين
yyآخر رقمين من الربعة أرقام الخاصة بالسنين
مثال لتوضيح ccو : yy
العام 1985يكون فيه cc=19و yy=85
العام 2008يكون فيه cc=20و yy=08
مثال :إذا كان لديك فى مجلد البيت ملف اسمه midoوتريد تغيير تاريخ آخر تعديل
عليه إلى التاريخ التالى 12/9/1981الساعه 6:30:24عصرا ) بالمناسبة هذا هو تاريخ
ميلدى لمن أراد إرسال هدية !! ( فما علينا إل عمل التي :
وتظهر النتيجة طبعا عند استخدام المر lsمع الخيار lكما يلى :
ahmed@the-game:~> ls -l
مثال :إذا كان لديك فى ملف البيت ملف اسمه midoوتريد تغيير تاريخ آخر تعديل
عليه إلى التاريخ التالى 30/7/2022الساعه 13:30:50ظهرا فما علينا إل عمل
التي :
وتظهر النتيجة طبعا عند استخدام المر lsمع الخيار lكما يلى :
ahmed@the-game:~> ls -l
ملحظة مهمة :ليمكن تغيير التاريخ إلى تاريخ أعلى من 2068ول إلى تاريخ أقل من
. 1969
#المر : cat
استخدامات المر : cat
-aقراة ملف واحد على الشاشة دون أن تتمكن من التغيير فى ذلك الملف .
-bقراة أكثر من ملف معا مع دمجهم فى ملف واحد على الشاشة فقط بحيث يظهروا
تحت بعضهم وذلك حسب ترتيب الملفات عند كتابة المر .
-cدمج أكثر من ملف فى ملف واحد ويتم دمجهم تحت بعضهم حسب تسلسل أسماء
الملفات عند كتابة المر .
-dالكتابة داخل ملف مع حذف البيانات التى كانت موجودة فيه .
-eللتعديل داخل ملف نصى مكتوب مع الحتفاظ بالبيانات التى كانت موجودة فيه .
-fيستخدم لنشاء ملف جديد والكتابة بداخله .
ملحظة مهمة :ل يفضل استخدام المر catمع الملفات النصية الطويلة لنها ستعرض
على الشاشة بسرعة أكبر من قراءتها .
-1لقراة ملف واحد على الشاشة دون إمكانية التعديل فى محتواه) بفرض أن الملف اسمه
( socaاكتب ما يلى :
-3لقراءة أكثر من ملف فى آن واحد مع دمجهم على الشاشة فقط ) بفرض أن لديك ملفين
socaو ( tmanاكتب ما يلى :
فتكون النتيجة بعرض الملفين بحيث يكون ملف socaفى الول ويليه ملف . tman
-4لقرأة أكثر من ملف فى آن واحد مع دمجهم على الشاشة فقط وترقيم كل سطر اكتب
ما يلى :
-5لدمج أكثر من ملف داخل ملف واحد جديد ) بفرض أن الملف الجديد اسمه
( ahmedاكتب ما يلى :
فتكون النتيجة هى إنشاء ملف جديد اسمه ahmedيحتوى على ما بداخل الملفين
socaو tmanمن بيانات .
-6لدمج أكثر من ملف داخل ملف واحد جديد مع ترقيم كل سطر من أسطر الملف
الجديد ) بفرض أن الملف الجديد اسمه ( didoاكتب ما يلى :
فتكون النتيجة هى إنشاء ملف جديد اسمه didoيحتوى على ما بداخل الملفين من
بيانات بالضافة إلى أن أسطر هذا الملف مرقمة .
-7للكتابة داخل ملف مع حذف جميع البيانات التى كانت موجودة بداخله اكتب ما
يلى :
بعد النتهاء من الكتابة داخل الملف يتم الضغط على Enterثم الضغط على
) ( Ctrl+dلكى يحفظ ماكتبت .
-8للتعديل داخل ملف مكتوب فيه وإضافة بيانات جديدة له مع الحتفاظ بالبيانات
الموجودة سابقا اكتب ما يلى :
بعد النتهاء من الكتابة داخل الملف يتم الضغط على Enterثم الضغط على
) ( Ctrl+dلكى يحفظ ماكتبت .
-9لنشاء ملف جديد مع الكتابة بداخله ) بفرض أن الملف الجديد اسمه ( biboاكتب
ما يلى :
بعد النتهاء من الكتابة داخل الملف يتم الضغط على Enterثم الضغط على
) ( Ctrl+dلكى يحفظ ماكتبت .
#المر : tac
وظيفة هذا المر هى عرض الملف من الخر للول .أي آخر سطر يكون أول سطر
) بفرض أن الملف المراد عرضه اسمه ( biboوذلك كما يلى :
#المر : file
يستخدم هذا المر لعرض نوع الملف فقط
-1لعرض نوع ملف واحد ) بفرض أن الملف المراد عرض نوعه اسمه ( biboاكتب ما يلى :
-2لعرض نوع أكثر من ملف ) بفرض أن الملفات المراد عرض نوعها هى biboو
RealPlayer11GOLD.binو ( binاكتب ما يلى :
#المر : more
يستخدم لقراءة الملفات التى يزيد حجمها عن صفحة .وطريقة استعماله سهلة جدا وهى
كتابة اسم الملف المراد قراءته بعد المر moreوذلك كالتالى ) بفرض أن الملف المراد
قراءته اسمه : ( tman
#المر : less
يستخدم لقراءة الملفات تماما مثل المر السابق moreولكن مع بعض التحسينات .
وطريقة استعماله تماما مثل المر السابق moreوذلك كالتالى :
من الجدير بالذكر أن المر lessهو البرنامج الذى تعرض به صفحات manualداخل
الترمينال .
#المر : head
يستخدم لعرض عدد معين من السطر من أول الملف .
مثال :إذا أردت عرض أول 10أسطر من ملف اسمه tmanاكتب ما يلى :
#المر : tail
يستخدم لعرض عدد معين من السطر من آخر الملف .كما يستخدم لعرض جزء من
الملف مع إهمال الباقى .
-2إذا أردت عرض الملف مع إهمال أول 16سطرا منه اكتب ما يلى :
فتكون النتيجة طبعا هى عرض الملف من أول السطر 16وحتى النهاية .
#المر : wc
يستخدم لمعرفة معلومات عن ملف معين .بفرض أن الملف المراد الستفسار عنه اسمه
. soca
ahmed@the-game:~> wc -l soca
ahmed@the-game:~> wc -w soca
ahmed@the-game:~> wc -c soca
ahmed@the-game:~> wc -m soca
ahmed@the-game:~> wc soca
#المر : grep
يستخدم للبحث عن كلمة أو جملة داخل الملفات النصية ) مع وضع الجملة داخل
علمتى تنصيص ( .
ملحظة مهمة :يجب مراعاة حالة الحرف capital & smallفى الكلمة التى تبحث
عنها .
-1إذا أردت البحث عن كلمة ولتكن linuxداخل ملف نصى اسمه socaاكتب ما
يلى :
فتكون النتيجة هى ظهور جميع السطر التى تحتوى على تلك الكلمة .
-2إذا أردت البحث عن جملة ولتكن Linux kernelداخل ملف نصى اسمه soca
اكتب ما يلى :
فتكون النتيجة هى ظهور جميع السطر التى تحتوى على تلك الجملة .
-3لعرض جميع السطر التى لتحتوى على كلمة معينة ولتكن linuxداخل ملف نصى
اسمه socaاكتب ما يلى :
فتكون النتيجة هى عرض جميع السطر التى لتحتوى على كلمة . linux
-4لعرض جميع السطر التى لتحتوى على جملة معينة ولتكن Linux kernelداخل
ملف نصى اسمه socaاكتب ما يلى :
فتكون النتيجة هى عرض جميع السطر التى لتحتوى على جملة . Linux kernel
-5لعرض جميع السطر التى تحتوى على كلمة معينة ولتكن Linuxمع عرض أرقام تلك
السطر داخل ملف نصى اسمه socaاكتب ما يلى :
-6لعرض جميع السطر التى تحتوى على جملة معينة ولتكن Linux kernelمع عرض
أرقام تلك السطر داخل ملف نصى اسمه socaاكتب ما يلى :
-7لعرض عدد السطر التى تحتوى على كلمة معينة ولتكن linuxفى ملف نصى اسمه
socaاكتب ما يلى :
-8لعرض عدد السطر التى تحتوى على جملة معينة ولتكن Linux kernelفى ملف
نصى اسمه socaاكتب ما يلى :
-9لعرض أسماء الملفات فقط التى تحتوى على كلمة معينة ولتكن linuxفى مسار معين
وليكن * /home/ahmed/اكتب ما يلى :
-10لعرض أسماء الملفات فقط التى تحتوى على جملة معينة ولتكن Linux kernelفى
مسار معين وليكن * /home/ahmed/اكتب ما يلى :
عند البحث عن الجمل والكلمات باستخدام المر grepفإنه يفضل استخدام بعض
الرموز .
هذه الرموز توضع فى الجمل والكلمات موضوع البحث .
هذه الرموز تزيد من كفاءة البحث وتسمى تلك الرموز ) التعابير النظامية ( pattern
ملحظة مهمة :إذا كان السطر ينتهى بمسافة أو بنقطة .فسوف تفشل عملية البحث لنه
بذلك يكون آخر السطر ليس كلمة linux
-cللبحث عن الكلمات التى تبدأ بالحرف أو تنتهى بالحرف ) xفمثل الكلمة التي أبحث
عنها هى linuxلكنى ل أتذكرها بالضبط ( اكتب ما يلى :
-dللبحث عن الكلمات عن الكلمات التى تبدأ بالحرف من aإلى fاكتب ما يلى :
#المر : zgrep
يستخدم للبحث عن كلمة أو جملة داخل الملفات النصية المضغوطة ) مع وضع الجملة
داخل علمتى تنصيص ( .
المر zgrepهو هو المر grepأي تستطيع تطبيق كل ماسبق مع المر grepعلى المر
zgrepوالختلف فقط هو أن الملفات التى أبحث فيها هى الملفات النصية المضغوطة .
وإليك مثال للتوضيح :
إذا أردت البحث عن كلمة ولتكن linuxداخل ملف نصى مضغوط اسمه
soca.tar.gzاكتب ما يلى :
#المر : diff
يستخدم للمقارنة بين ملفين سطر سطر
مثال لليضاح :إذا كان لديك ملفان الول اسمه asd1ويحتوى على السطر التالية :
amr ali
2,3c2
<
< amr ali
---
> amr ahmed
\ No newline at end of file
نلحظ هنا أنه عرض السطر المختلفة من الملفين أسفل بعضهم )حيث السطر الثانى فى
الملف الول فارغ بينما السطر الثانى فى الملف الثانى به amr ahmedوكذلك السطر
الثالث فى الملف الول به amr aliبينما ليوجد سطر ثالث فى الملف الثانى ( .
ملحظات :
-aيعتبر السطران مختلفين إذا كانت المسافات بين الكلمات مختلفة حتى إذا كان
السطران يحملن نفس الكلمات بالضبط
-bيعتبر السطران مختلفين إذا كان فى نهاية أحدهما مسافة بينما لينتهى السطر الخر
بمسافة
-cيعتبر السطران مختلفين إذا كان فى نهاية أحدهما نقطهةبينما لينتهى السطر الخر نقطة
#المر : mkdir
يستخدم لنشاء مجلد واحد فقط وكذلك يستخدم لنشاء عدة مجلدات بجانب
بعضها البعض أو داخل بعضها .
-1لنشاء مجلد فارغ اسمه conanفى المسار الحالى اكتب ما يلى :
طبعا لنشاء ملف فى هذا المسار لبد أن تكون مستخدم جذر . root
-3لنشاء عدة مجلدات فارغة بعضها بجانب بعض ) بفرض أن المجلدات هى amrو
gigiو haniو ( didoاكتب ما يلى :
-4لنشاء أكثر من مجلد داخل بعض ) بفرض أن المجلدات هى edgو amrو gigiو
haniو ( didoاكتب ما يلى :
-5إذا أردت أن يطلعك المر mkdirعلى تقدم سير عملية النشاء أي يخبرك
بالمجلدات التى فرغ من إنشائها استخدم الخيار v-وذلك كما يلى :
#المر : tree
يستخدم لعرض المجلدات على شكل شجرى .
-1لعرض المجلدات وما تحتويه من ملفات و مجلدات على شكل شجرى فى المسار
الحالى اكتب ما يلى :
ahmed@the-game:~> tree
-2لعرض المجلدات وما تحتويه من ملفات و مجلدات على شكل شجرى فى المسار
) ( /varاكتب ما يلى :
نلحظ أن تلك الطريقة غير عملية عندما يحتوى المسار الذى تعرضه على ملفات كثيرة
و الفضل هو عرض المجلدات فقط من دون عرض ما تحتويه من ملفات و مجلدات
-3لعرض المجلدات وما تحتويه من مجلدات فقط على شكل شجرى فى المسار الحالى
-4لعرض المجلدات وما تحتويه من مجلدات فقط على شكل شجرى فى المسار
) ( /varاكتب ما يلى :
#المر : rm
يستخدم هذا المر لمسح الملفات والمجلدات سواء كانت ممتلئة أم فارغة .
-1لحذف ملف وليكن اسمه socaموجود فى المسار الحالى اكتب ما يلى :
ahmed@the-game:~> rm soca
ahmed@the-game:~> rm /mnt/collection1/bibo
ahmed@the-game:~> rm -f koki
-4لتفادى حذف ملف بطريق الخطأ حيث يعطى لك رسالة تكون إجابتها yesأو no
بفرض أن الملف اسمه naniوموجود فى المسارالحالى اكتب ما يلى :
ahmed@the-game:~> rm -i nani
* ahmed@the-game:~> rm
-6لحذف المجلد سواء كان ممتلئا أم فارغا اكتب ما يلى ) بفرض أن اسمه :( zizo
ahmed@the-game:~> rm -r zizo
لنستطيع مسح الملفات التى ليس لدينا تصريح الكتابة عليها .
#المر : cp
يستخدم لنسخ الملفات والمجلدات وعند استعماله لبد من تحديد المكان الذى
ستنسخ منه والمكان الذى ستنسخ إليه .
ahmed@the-game:~> cp /mnt/collection1/fofa
/home/ahmed/Desktop
-4لتفادى نسخ ملف مكان آخر بنفس السم استخدم الخيار -iوبذلك سوف يسألك قبل
النسخ إذا كان هناك ملف موجود يحمل نفس السم أم ل والجابة تكون yesأو no
فمثل إذا كان لديك ملف اسمه miroوتريد نسخه من المسار
~ ahmed@the-game:~> cp -i /mnt/collection1/miro
-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
نلحظ أنه عند نسخ المجلد أو الملف فإن المالك يتغير إلى المستخدم الذى قام بنسخ
سؤال :هل يمكن نسخ ملف أو مجلد إلى مكان آخر أو فى نفس المكان باسم مخالف ؟
الجابة :نعم
-7إذا أردت نسخ ملف اسمه folaفى نفس المكان باسم مخالف وليكن somaاكتب
ما يلى :
-8إذا أردت نسخ ملف اسمه 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
-4لتفادى لنقل ملف مكان آخر بنفس السم استخدم الخيار -iوبذلك سوف يسألك قبل
النقل إذا كان هناك ملف موجود يحمل نفس السم أم ل والجابه تكون yesأو no
فمثل إذا كان لديك ملف اسمه miroوتريد نقله من المسار
/mnt/collection1إلى المسار الحالى مع استخدام الخيار -iحيث يوجد ملف
بنفس السم فى المسار الحالى اكتب ما يلى :
~ ahmed@the-game:~> mv -i /mnt/collection1/miro
-5لنقل مجلد ممتلئ بالملفات و المجلدات الفرعية وليكن اسمه zimaمن المسار
الحالى إلى المسار /mnt/collection1اكتب ما يلى :
ahmed@the-game:~> mv -v /mnt/collection1/zima
/home/ahmed/Desktop
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حيث تحل البيانات الموجوده فى الملف المراد تغيير
اسمه محل البيانات الموجوده فى الملف ذو السم الجديد فمثل إذا كان لديك ملف
اسمه bisoوأردت تغيير اسمه إلى nonaوكان بالصدفة هناك ملف اسمه nonaلم
تنتبه إلى وجوده .فكيف تكون النتيجة ؟
النتيجة هى أنه عند كتابة المر
تنتقل جميع البيانات الموجودة فى ملف bisoلتحل محل البيانات الموجودة فى ملف
. nona
-8إذا أردت نقل ملف اسمه folaمن المسار الحالى إلى المسار
/mnt/collection1باسم مخالف وليكن somaاكتب ما يلى :
-9لعمل نسخة احتياطية من الملف المراد نقله أو اعادة تسميته استخدم الخيار -bوذلك
بفرض أن الملف اسمه wamaكما يلى :
وتكون النتيجة هى عمل نسخة احتياطية فى مكان الملف الصلي قبل النقل تكون تحت
اسم ~ wamaمع نقل الملف wamaإلى المسار /mnt/collection1
ahmed@the-game:~> cp -r * /mnt/collection1
لنقل جميع الملفات و المجلدات الموجودة فى المسار الحالى مرة واحدة إلى مسار معين
وليكن /mnt/collection1اكتب ما يلى :
ahmed@the-game:~> mv * /mnt/collection1
#المر : ln
يستخدم لنشاء روابط لينة و صلبة
- 1الروابط اللينة :
الرابط اللين هو ملف صغير يحتوى على مسار الملف أو المجلد الصلى وإذا حذف هذا
الرابط فلن يؤثر هذا على الملف الصلي أما إذا حذف الملف الصلي فلن يعمل الرابط .
ويتم عمل الروابط اللينة للملفات و المجلدات على حدا سواء .
ولنشاء الروابط اللينة نستخدم المر lnمع الخيار -sفمثل إذا كان لديك ملف اسمه
himaموجود فى المسار /mnt/collection1وتريد إنشاء رابط له اسمه zimaفى
المسار /home/ahmed/Desktopاكتب ما يلى :
ahmed@the-game:~> ln -s /mnt/collection1/hima
/home/ahmed/Desktop/zima
ahmed@the-game:~> ln /mnt/collection1/nova
/mnt/collection1/ogg/koka
الفصل الرابع
الضغط والرشفة :
-aالرشفة :
الرشيف هو مجموعة من الملفات و المجلدات الموجودة معا فى مكان واحد ويتم التعامل
معها على أنها ملف واحد .
#المر : tar
يستخدم لعمل أرشيف و لعرض محتويات أرشيف و لفك أرشيف .بحيث تكون
الملفات والمجلدات المؤرشفة تحت امتداد .tar
ومن الجدير بالذكر أن هذا الخيار غير إبدالى أي أن) -cvfليساوى .( -fvc –
ahmed@the-game:~> cd /mnt/collection1
ahmed@the-game:/mnt/collection1> tar -cvf /home/ahmed/
Desktop/wcw.tar wcw
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
add `/mnt/collection1/gigi'?y
وهكذا سيتابع معك السئلة عن كل ملف أو مجلد فرعى أجب بما تشاء .
نلحظ أنك إذا أجبت عن أول سؤال nفإنه لن يسألك عن باقى الملفات والمجلدات
الفرعية وبالتالى سوف تحصل على أرشيف فارغ .
-4لرشفة مجلد اسمه rayaباستخدام الصيغة gzipمع وضع الرشيف فى نفس
مسار المجلد و تسمية hoda.tgzاكتب ما يلى :
ahmed@the-game:~> cd /mnt/collection1
ahmed@the-game:/mnt/collection1> tar -xvf vino.tar
?'extract `gigi
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
#المر : cpio
يستخدم لنشاء أرشيف و لستخراج الملفات من الرشيف و لدخال ملفات إلى داخل
أرشيف .
عند إنشاء أرشيف cpioيتم أخذ قائمة بأسماء الملفات والمجلدات التى سيتم أرشفتها ثم
ترسل إلى الخرج القياسى أو إلى الجهاز الذى سيتم أرشفته بواسطة الخيار -fوعادة يتم
استخدام المر lsأو findلتوفير تلك القائمة للخرج القياسى
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
ahmed@the-game:~> cd /mnt/collection1/noga
ahmed@the-game:/mnt/collection1/noga> find | cpio -ov
> ../tatu.cpio
الخيار oيعنى createsاما الخيار vيستخدم لظهار ما الذى انتهى من أرشفته .
نأتي الن للتعرف على ماهية الفرق بين lsو findالذين استخدما للمساعدة فى عملية
الرشفة .
إن إنشاء أرشيف باستخدام المر cpioيتتطلب عمل قائمة بالملفات والمجلدات وما
تحويها ثم إرسالها إلى الخرج القياسى أي الرشيف .وعادة يستخدم } lsأو . { find
لتجهيز تلك القائمة ولكن متى نستخدم lsومتى نستخدم findوالجابة بكل سهولة أن
المر lsيستخدم لعمل قائمة للملفات فقط } أي أنه ليدمج فى تلك القائمة الملفات
الموجودة داخل المجلدات الفرعية { لليضاح اكتب المر lsمنفردا وأنت على أي مسار
فماذا تكون النتيجة ؟ النتيجة هى أنه يعرض جميع الملفات والمجلدات الموجوده فى المسار
الحالى دون عرض الملفات الموجوده داخل المجلدات الفرعية .
اما المر findيستخدم لعمل قائمة للملفات و المجلدات الفرعية وما تحويه } أي أنه يدمج
فى تلك القائمة الملفات الموجوده داخل المجلدات الفرعية { لليضاح اكتب المر find
منفردا وأنت على أي مسار فماذا تكون النتيجة ؟ النتيجة هى أنه يعرض جميع الملفات
والمجلدات الموجوده فى المسار الحالى مع عرض الملفات الموجوده داخل المجلدات
الفرعية .
ملخص :
استخدم lsعندما ليكون فى المجلد المراد أرشفته مجلدات فرعية .
استخدم findعندما يوجد فى المجلد المراد ارشفته مجلدات فرعية .
-2إذا أردت فك أرشيف اسمه nogaفى مجلد اسمه tamerاكتب ما يلى :
-bالضغط :
#المر : gzip
يستخدم لضغط الملفات كما يستخدم لضغط أي أرشيف من نوع tarفمثل المتداد
من نوع tar.gzهو عبارة عن أرشيف من نوع tarتم ضغطه بواسطة المر . gzip
ملحظات :
-aليتم ضغط المجلد مباشرة وإنما يجب أول أرشفته ومن بعد ذلك يتم ضغطه .
-bبعد ضغط الملف أو الرشيف يتم مسحه أو إزالته .
قبل شرح المر يجب أن تعرف أن مستويات الضغط تتراوح من ) ( 9-1ويمكن تحديد
مستوى الضغط أو تركه . default
الرشيف وتسميته بنفس السم واختيار أقصى مستوى الضغط ) ( 9اكتب ما يلى :
تنبيه:
عند فك الملف المضعوط يتم حذفه تلقائيا والبقاء على الملف المفكوك .
الفصل الخامس
محررات النصوص :
#المحرر : mcedit
هو أسهل محرر نصوص على الطلق لدرجة أنه ليحتاج لى شرح ويتميز بأن الفأرة
تعمل بداخله
ahmed@the-game:~> mcedit
-bاكتب بداخل البرنامج جملة ahmed elsayed ahmed aliثم اضغط على
saveفتظهر لك رساله تخبرك هل أنت متأكد أنك تريد الحفظ اضغط saveفتظهر لك
رساله أخرى تقول لك أدخل اسم الملف اضغط okثم quitسيتم حفظ الملف فى مجلد
البيت الخاص بك .
خلص كده مبروك لقد قمت بعمل أول ملف نصى لك .
المحرر vimهو نسخة مطورة من المحرر viوفى الغالب نجد أن المحرر viهو رابط
للمحرر . vimويعد المحرر vimأو viمن أشهر المحررات وأكثرها فائدة و ذلك لنك
أول :ستجده متوفر ا على أي نظام لينكس .
وثانيا :أنه من البرامج القليلة التى تستمر فى العمل بكفاءة عند حدوث أي مشكله فى النظام
وبالتالى سوف تضطر إلى استخدامه لصلح النظام .
اما بالنسبه للمحرر gvimفما هو إل واجهة للمحرر vimتعمل فى الواجهة الرسومية .
للمحرر vimأكثر من 50خيار من خيارات سطر الوامر ويمكنك الرجوع إلى صفحة
manualللطلع عليها ولمعرفة معلومات أكثر عن البرنامج وآخر إصداراته زُر موقع
البرنامج . http://www.vim.org
كما يمكنك من خلل الموقع تنزيل كتاب بصيغة pdfيشرح كيفية التعامل مع البرنامج
والستفاده من مميزاته .تخيل أن حجم هذا الكتاب 572صفحة مما يدل على روعة هذا
البرنامج .
ملحظة :يمكن تشغيل المحرر vimفى وضع يتصرف فيه كالمحررات العادية لكنك
ستخسر الكثير من مزاياه وذلك بكتابة ما يلى :
ahmed@the-game:~> evim
ونأتي الن لشرح كيفية التعامل مع هذا البرنامج بصوره مختصره جدا :
-1إذا أردت عمل أو فتح ملف نصى اسمه file.txtفما عليك إلكتابة ما يلى فى
الترمينال :
حيث إن العلمة ~ تدل على السطر كما أنه ظهر فى آخر الشاشة رسالة بها اسم الملف
وهو file.txtوبها كلمة new fileللدللة على أنك أنشأت ملفا جديدا
اضغط على iأو insertللنتقال إلى طور الدخال ) لحظ ظهور كلمة INSERT --
--أسفل الشاشة ( ثم أدخل النص التالى :
بعد النتهاء من إدخال ذلك النص اضغط على Escللتحول إلى طور الوامر ) لحظ
اختفاء كلمة – INSERT --أسفل الشاشة ( ثم اكتب wq:وذلك للحفظ و إغلق
البرنامج .
قبل تعلم خصائص المفاتيح فى طور الدخال يجب التنويه على بعض الساسيات التى قد
تكون بديهية لكثير منا ولكن قد يغفل عنها البعض وهى كالتالى :
-1يجب أن يفصل بين الجملة والجمله نقطة .
-2يجب أن يفصل بين الفقرة والفقرة سطر فارغ أو أكثر .
مفاتيح التعامل مع المحرر vimفى طور الوامر التى تحتاج لمثلة :
-1لحذف الجملة السابقه فى سطر مكون من أكثر من جملة اكتب ( d + shift +مع
وضع المؤشر قبل بداية أول حرف فى الجملة التالية فمثل إذا كان لديك جملتان كالتالى :
my name is ahmed elsayed ahmed ali . this is my last chance .
this my last escape .
-2لحذف جملة سابقه مع إضافة جملة أو كلمة بدل منها اكتب ( c + shift +
ثم اكتب الكلمة أو الجملة التى تريد حيث إنك بعد الحذف قد تحولت لطور الدخال
مع مراعاة وضع المؤشر قبل بداية أول حرف فى الجملة التالية كما سبق وأوضحنا .
-3لنسخ جملة سابقه اكتب ( y + shift +مع مراعاة وضع المؤشر قبل بداية أول حرف
فى الجملة التالية وللصق فى أي مكان اكتب p
-4جميع مافعلناه فى السابق كان خاصا بأي جملة سابقة و لعمله لي جملة تالية غير اتجاه
القوس واجعله هكذا )
-5يمكن تنفيذ أي عملية كالحذف والنسخ والضافه إلى آخره أكثر من مرة وذلك عن
طريق إعطاء رقم لتلك العملية
أمثلة لليضاح :
إذا أردت التحرك ثلثة كلمات للخلف اكتب 3w
إذا أردت نسخ الثلث كلمات التى تلى المؤشر اكتب y3w
-2إذا كنت تكتب داخل النص اسم ملف أو اسم مجلد موجود عندك على الجهاز فى
نفس المكان الموجود به الملف الذى تكتب بداخله اضغط على ctrl + xثم ctrl + f
وللتنقل بينهم إما عن طريق السهم أو بالضغط على ctrl + pو ctrl + n
ملحظة :عند كتابة اسم ملف أو مجلد يمكنك أن ل تكتب أيا من أحرفه و الضغط على
ctrl + xثم ctrl + fليعرض لك أسماء جميع الملفات و الفولدرات الموجوده فى نفس
المسار الموجود به الملف الذى تكتب بداخله .
-3يمكن إنشاء قاموس أنت تعده بنفسك مسبقا بحيث تكمل منه الكلمات وذلك
بالضغط على ctrl + xثم ctrl + k
#المحرر : pico
هو جزء من رزمة البرمجيات . pineويعد هذا المحرر سهل الستخدام فهو أبسط كثيرا
من المحرر . vimوطريقة استخدامه سهلة فإذا أردت عمل أو فتح ملف اسمه
file.txtاكتب ما يلى :
اما إذا أردت أن تجعل البرنامج تعمل بداخله الفارة استخدم الخيار -mوذلك كالتالى :
وبعد فتح الملف file.txtانقر على أي أمر من الوامر الموجودة أسفل الشاشة للتقدم فى
العمل .
لجعل الملف يفتح فى طور القراءة فقط أي ليكون لك الحق فى الكتابة بداخله استخدم
الخيار -vوذلك كما يلى :
إذا أردت أن يقوم المحرر بحفظ أي تغييرات داخل الملف تلقائيا دون الحاجه لتأكيد
الحفظ عند إغلق الملف استخدم الخيار t-وذلك كما يلى :
لجعل شريط المساعدة الموجود بالسفل يختفى استخدم الخيار -xوذلك كما يلى :
من مزايا المحرر picoأنه يقوم بحفظ الملفات آليا فى حالة توقف linuxعن الستجابه
وذلك فى ملف يحمل اسم الملف بامتداد saveفمثل إذا كان الملف اسمه file.txt
يكون الملف المحفوظ أتوماتيكيا اسمه file.save
#المحرر : nano
هو المحرر الفتراضى لديبيان وهذا المحرر مبنى على المحرر picoلذلك فهو يشبهه ولكن
مع الكثير من المزايا .
وموقع هذا المحرر على النترنت هو http://www.nano-editor.orgوآخر
إصدارة منه رقم 2.0.7
ومن الجدير بالذكر أن جميع مفاتيح التعامل مع محرر picoهى نفسها مفاتيح التعامل مع
المحرر . nano
وطريقة استخدامه سهلة كأى محرر نصوص آخر فإذا أردت عمل أو فتح ملف اسمه
file.txtاكتب ما يلى :
اما إذا أردت ان تجعل البرنامج تعمل بداخله الفارة استخدم الخيار -mوذلك كالتالى :
وبعد فتح الملف file.txtانقر على أي أمر من الوامر الموجودة أسفل الشاشة للتقدم فى
العمل .
لجعل شريط المساعدة الموجود بالسفل يختفى استخدم الخيار -xوذلك كما يلى :
لجعل الملف يفتح فى طور القراءة فقط أي ليكون لك الحق فى الكتابة بداخله استخدم
الخيار -vوذلك كما يلى :
إذا أردت أن يقوم المحرر بحفظ أي تغييرات داخل الملف تلقائيا دون الحاجة لتأكيد
الحفظ عند إغلق الملف استخدم الخيار t-وذلك كما يلى :
#المحرر : emacs
ويعد هذا المحرر من أقوى محررات النصوص فهو ليس محرر نصوص فحسب وإنما له
العديد من الوظائف وهى كالتالى :
-aمحرر نصوص
-bبيئة برمجة متكاملة
-cصدفة لينكس
-dمفسر للغة lisp
-eمن خلله يمكن إرسال البريد اللكترونى
-fمن خلله يمكن استعراض مواقع النترنت
-gمن خلله يمكن استعراض أخبار use net
-hيقبل وظائف المفكرة dirayوالتقويم calendar
-iيمكنه تشغيل اللعاب !!
-jيستخدم كمساعد للمكفوفين !!
-2إنشاء نسخة احتياطية من الملف تقوم أنت بتحريره و عند تسمية النسخة الحتياطية
تكون بنفس اسم الملف متبوعا بالعلمة ~
لعرض أشهر المشكلت التى تواجه مستخدمى البرنامج اضغط ctrl + hثم اضغط p
ملحظة :فى اختصارات برنامج emacsتجد زرا اسمه mأو metaوهذا الزر هو
الزر altوفى أحيان نادرة جدا يكون الزر . Escأما الحرف cفيعنى . ctrl
ملحظة :كل وظيفه تقوم بها الختصارات السابقة لها اسم طويل وهناك وظائف ليس لها
اختصارات .وللوصول للوظيفة عن طريق اسمها اضغط على alt +xثم اكتب اسم
الوظيفة
مع ملحظة أن المحرر emacsهنا يدعم استكمال اسم الوظيفة من خلل الضغط على
الزر tabفمثل وظيفة النتيجة calendarليس لها اختصارات وللولوج إليها اضغط على
alt + xثم اكتب أول حرفين منها ثم اضغط على الزر tabفسيظهر لك جميع الوظائف
التى تبدأ بهذين الحرفين أما إذا لم يكن هناك إل وظيفة واحدة تبدأ بهذين الحرفين
من إمكانيات المحرر emacsالبرمجه بلغة cعن طريق الطور cc-modeكما يمكنك
البرمجه بلغة javaعن طريق الطور java-modeوللدخول لتلك الطوار اضغط على
alt + xثم اكتب اسم الطور أو الوظيفة التى تريد أن يقوم بها المحرر . emacs
ملحظة :مع دخولك فى أي طور من أطوار البرنامج تجد أن tool barالعلوى يتغير .
ملحظة :ما تم شرحه فى المحرر emacsيعتبر نبذة عنه فمازال به الكثير والكثير من
الوظائف والسرار .
#المحرر : xemacs
يشبه المحرر xemacsالمحرر emacsفكلهما يمكن أن يعمل فى نظام النوافذ
xwindowsوكذلك فى النمط النصى } فى الترمينال { كما أنهما متشابهان أيضا فى طريقة
استخدامهما لكن الختلف هو أن المحرر xemacsصمم ليأخذ شكل أفضل فى البيئة
الرسومية كما أنه يعمل بكفاءة أكثر داخلها .لكن بالرغم من ذلك التشابه الكبير يظل هذان
المحرران منفصلين .
هى برامج مخصصة لتلقى النص الذى أعيد توجيهه عن طريق المعاملت > أو < أو
المعامل النبوبى | بهدف فلترة و تغيير النص ومن أمثلة هذه المحررات المحرر sed
#المحرر : sed
هو أحد أشهر المحررات الدفقية أو التجاهية لتحرير النصوص بطريقة سريعة من سطر الوامر
.
استخدامات المحرر : sed
-1يستخدم فى إجراء تعديلت كلية على مستند نصى .
-2يستخدم فى إجراء عدة تعديلت كلية على مستند نصى من . script
وفيما يلى سوف نشرح عدة أمثلة لتوضيح تلك الستخدامات :
-1إجراء تعديلت كلية على مستند نصى
وأردت تحويل كلمة mr.إلى mrs.فى كامل الملف ووضع تلك التغييرات فى ملف
جديد اسمه . lilaاكتب ما يلى :
ملحظة :ليجوز التغيير فى نفس الملف مباشرة أي لبد من إرسال التغييرات إلى ملف
جديد وهذا على حد علمى .
مثال :إذا كان لديك ملف نصى اسمه mandoمحتواه ما يلى :
s/Ahmed/hazem/
s/Elsayed/mohammed/
s/Ahmed/abas/
s/Ali/ismail/
ملحظة :عند كتابة السكربت يجب مراعاة حالة الحرف هل هى capitalام small
.
ويحتوى قاموس النظام على آلف الكلمات المدققة إملئيا و المرتبة أبجديا .
وفيما يلى سوف نشرح مثال على استخدام المر ispellلن التجربة خير دليل :
إذا كان لديك ملف نصى اسمه nogaيحتوى على نص مكتوب باللغة النجليزية وتريد
تصحيحه فما عليك إل كتابة المر التالى :
إذا لم يكن بالملف أية أخطاء فإن البرنامج سيعود لسطر الوامر أما إذا عثر المدقق الملئي
على أخطاء فإنه يقوم بعرض أول كلمة مغلوطة فى أعلى الشاشة وبجانبها اسم الملف ويتم
عرض الكلمة المغلوطة ضمن الجملة بالضافة إلى عرض قائمة مرتبة بالكلمات البديلة
المقترحة أسفل الجملة الموجود بها الكلمة الخاطئة .واليك طريقة التعامل مع المدقق الملئي
وهى كما يلى :
-aلختيار إحدى الكلمات المقترحة أدخل رقمها الموضح فى القائمة .
-bللموافقة وعدم تصحيح تلك الكلمة اضغط على المفتاح . a
-cلستبدال تلك الكلمة الخاطئة بكلمة أخرى اضغط على المفتاح rوإذا كانت الكلمة
البديلة خاطئة هى الخرى سيعرض لك قائمة بالكلمات المقترحة .
-dلعتبار تلك الكلمة صحيحة وإدراجها داخل القاموس اللغوى للنظام اضغط على المفتاح
.I
-eللبحث عن الكلمة الصحيحة داخل القاموس اللغوى للنظام باستعمال العلمة * أو
مايعرف wildcardاضغط على المفتاح Lثم أدخل الحروف الولى من الكلمة التى تريد
البحث عنها ثم اضغط على المفتاح enterواختر مايناسبك .
-fللتنقل بين الكلمات الخاطئة دون تصحيحها السهم العلوى . up arraw
-iلغلق المدقق الملئي اضغط على المفتاح . q
-gلطلب المساعدة فى الدقق الملئي اضغط على المفتاح ? .
الفصل السادس
إدارة القراص الصلبة :
#مقدمة :
القراص الصلبة تقع تحت الدليل /devالذى يحتوى على جميع الجهزة المتصلة
بالكمبيوتر مثل ) كارت الشاشة vgaوالماسح الضوئى scannerوبطاقات pci
وبطاقات الصوت (.
قبل البدء فى شرح الوامر الخاصة بتقسيم القرص الصلب أو الهارد يجب معرفة الطريقة التى
يسمى بها لينكس محركات القراص الصلبة و كذلك كيفية تسمية أقسام القرص الصلب )
. ( physical partition
#المر : fdisk
يستخدم هذا المر لتقسيم الهارد فقط أي ليقوم بتهيئة القرص الصلب وهنا يجب التفرقة
بين التقسيم و التهيئة .
تعرف على برنامج : fdisk
-aلمعرفة القراص الصلبة المتصلة بالكمبيوتر اكتب ما يلى :
linux-186f:/home/ahmed # fdisk -l
والن نأتي لكيفية استخدام المر fdiskفى تقسيم القرص الصلب وسوف نشرح هذا المر
بمثال للتوضيح .
بفرض أن أحد أصدقائك أعطاك قرصا صلبا وطلب منك تقسيمه وكان هذا القرص مكونا
من 4برتشنات منهم برتشن primaryو ثلث برتشنات . logicalفكيف ستتم عملية
التقسيم ؟
تتم عملية التقسيم كالتالى :
-1اعرف اسم الهارد الذي ستقوم بتقسيمه وذلك بواسطة الخيار -lكما يلى :
-2ابدأ التقسيم وذلك بكتابة اسم القرص الصلب بعد المر fdiskمباشرة ) بفرض أن
القرص الصلب الذى سيتم تقسيمه ( /dev/sdbكما يلى :
-3قم بمسح جميع البرتشنات الموجوده بفرض أن الهارد مكون من 3برتشنات البرتشن
الول primaryوالبرتشنين الخرين ) logicalوذلك إذا كان الهارد قديما أما إذا كان
الهارد جديدا فلن نلجأ لتلك الخطوه ( وذلك بالضغط على المفتاح dكما يلى :
-4أدخل رقم البرتشن المراد مسحه طبعا سيتم مسح جميع البرتشنات فى هذا المثال وأرقام
البرتشنات هى ) أول برتشن primaryرقم 1و البرتشن الممتد extendedرقم 2و
البرتشنين logicalأرقامهم 5و 6على الترتيب ( بعد إدخال رقم البرتشن اضغط على
المفتاح enterوهكذا يتم مسح جميع البرتشنات .
-6أنشئ البرتشنات الجديدة التى تريد وهنا سوف أنشئ 4برتشنات الول primary
والباقى سيتم عمله برتشن ممتد extendedومنه سيتم عمل 3برتشنات . logical
وعملية النشاء ستتم بالضغط على المفتاح nوذلك كما يلى :
Command action
e extended
)p primary partition (1-4
اضغط على المفتاح pلنشاء برتشن primaryوستجد أنه يسألك عن رقم البرتشن
المراد إنشاؤه وذلك كما يلى :
p
Partition number (1-4):
ادخل الرقم 1لننا سنشئ أول برتشن primaryوستجد أنه يسألك عن بداية البرتشن
اضغط على المفتاح enterليبدأ البرتشن مع البداية الفتراضية وذلك كما يلى :
بعد ذلك يسألك عن نهاية البرتشن ) يعنى من الخر هنا نحدد حجم البرتشن ( ويخبرك
أنك بإمكانك إدخال حجم البرتشن بالكيلو بايت أو بالميجا بيت فمثل إذا كنت ستنشئ
البرتشن بحجم 10جيجا يمكنك وضع الحجم بالميجا كالتالى
+10000M
77545): +10000M
http://linuxac.org/
Command (m for help):
والن نأتي لنشاء البرتشن الممتد extendedوذلك بالضغط على المفتاح nثم الضغط
على المفتاح eلعمل برتشن ممتد ثم أدخل رقم 2حيث أن البرتشن الممتد هو sda2ثم
اضغط على المفتاح enterمرتين لكى يتم عمل كل المساحة المتبقية برتشن واحد ممتد
وذلك كما يلى :
والن نأتي لنشاء البرتشنات logicalوسأكتفى بشرح بشرح كيفية إنشاء برتشن
logicalواحد .
اضغط على المفتاح nثم الضغط على المفتاح lلعمل برتشن logicalثم اضغط على
المفتاح enterليبدأ البرتشن مع البداية الفتراضية وذلك كما يلى :
بعد ذلك يسألك عن نهاية البرتشن ) يعنى من الخر هنا نحدد حجم البرتشن ( ويخبرك
أنك بإمكانك إدخال حجم البرتشن بالكيلو بايت أو بالميجا بيت فمثل إذا كنت ستنشئ
البرتشن بحجم 15جيجا يمكنك وضع الحجم بالميجا كالتالى
+15000M
بعد النتهاء من إنشاء جميع البرتشنات اضغط على المفتاح wليتم حفظ وتفعيل العمليات
التى قمت بها .
بعد النتهاء من عملية التقسيم يتبقى لنا أمر أخير وهو تحديد نوع البرتشنات لرشاد
ويندوز ليس إل .ويتم ذلك عن طريق الخيار tولظهار جدول به أنواع البرتشنات
e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4
SpeedStor
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
ونلحظ أن أمام كل نوع برتشن ) رقم أو حرف أو حرف مع رقم ( وهذا هو ماسندخله عند
اختيار نوع البرتشن .والن نريد تحديد أنواع البرتشنات الربعة بحيث يكون هناك
برتشن vfatوبرتشنين ext3وبرتشن . swap
اضغط على المفتاح tثم اضغط enterثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هو
البرتشن رقم 2ثم اضغط enterثم اضغط على المفتاح f
اضغط على المفتاح tثم اضغط enterثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هو
ثم أدخل رقم البرتشن المراد تحديد نوعه وهنا هوenter ثم اضغطt اضغط على المفتاح
82 ثم اضغط على المفتاحenter ثم اضغط6 البرتشن رقم
: وذلك للحفظ و الخروج وذلك كما يلىq ثم اضغط على المفتاحw اضغط على المفتاح
#المر : cfdisk
يستخدم هذا المر لتقسيم الهارد فقط أي ليقوم بتهيئة القرص الصلب تماما مثل المر
fdiskلكنه أسهل من سابقه المر . fdiskوذلك لن له واجهة سهلة ومرتبة تعمل السهم
بداخلها لختيار العملية التى تريد تنفيذها وكل ذلك من داخل الترمينال
كما يتميز ذلك المر بعرض مساحة البرتشنات بالميجا بايت .
وطريقة تشغيل البرنامج سهلة فقط اكتب المر cfdiskوأنت مستخدم جذر وذلك كما
يلى :
conan:/home/ahmed # cfdisk
و العمليات التى يمكن إجراؤها تكون فى الجزء السفلى من البرنامج و يمكن اختيار أي
عملية تريد إجراءها من خلل السهم ) right arrawو ( left arrawويمكن
النتقال بين البرتشنات عن طريق السهم ) up arrawو ( down arrawوطبعا
البرنامج سهل جدا ل يحتاج لشرح
mkfs.reiserfs mkfs.xfs
mkfs.bfs mkfs.ext2 mkfs.minix mkfs.ntfs mkfs.vfat
ومن ماسبق يتضح أن المر mkfsيمكنه تهيئة البرتشنات بنظم ملفات كثيره فمثل :
ملحظة :قبل استعمال المر mkfsيجب إلغاء ربط البرتشن المراد تهيئته عن طريق
المر umountفمثل للغاء ضم البرتشن /dev/sda1اكتب ما يلى :
مثال آخر :إذا أردت تهيئة البرتشن /dev/sda5بنظام ملفات fat32ماعليك إل أن
تكتب ما يلى :
نعنى بربط محرك أقراص جديد هو جعل أقسامه أو برتشناته ظاهرة أو مقروءة فى النظام .
ويجب قبل البدء فى عملية الربط معرفة نظام ملفات البرتشن المراد ربطه وكذلك اسمه
مثل sda1أو . sdc7
وربط البرتشنات نوعين :
-1ربط مؤقت :ويتم عن طريق المر mountوعمل نقطة ربط وبمجرد إعادة
تشغيل الجهاز يزول الربط .
-2ربط دائم :ويتم عن طريق إضافة أسطر للملف fstabوعمل نقطة ربط وتتميز
تلك الطريقة بأنها توفر ربطا دائما للبرتشن أي أنك لن تضطر لربط البرتشن بها ال مرة واحدة
ولن يضيع الربط عند إعادة تشغيل الجهاز .
وسواء كان الربط دائما أو مؤقتا يجب عمل نقطة ربط ليتم ربط البرتشن بها .
لكن ماهى نقطة الربط هذه ؟
نقطة الربط هى المكان الذى سيـربط فيه البرتشن وهى عبارة عن مجلد فارغ وتكون عادة
نقطة الربط فى المسار /mntوأحيانا تكون فى . /media
ملحظة :ليمكن ربط أكثر من برتشن فى مجلد واحد أو فى نقطة ربط واحدة بل
لبد من ربط كل برتشن فى مجلد منفصل .ولكن يجوز ربط برتشن واحد فى نقطتى
ربط أو مجلدين على أن ل يكون هذا البرتشن هو برتشن النظام أو . root
-2قم بانشاء نقطة ربط لكل برتشن فى المجلد /mntوسمها بأى اسم عن طريق المر
mkdirوذلك كما يلى :
-3استخدم المر mountلربط البرتشنات فمثل إذا كان لديك برتشن اسمه sda1
نظام ملفاته fat32تريد ربطه فى المجلد movieاكتب ما يلى :
حيث vfatهو نظام ملفات البرتشن sda1المراد ربطه و movieهو نقطة ربط البرتشن
. sda1
مثال آخر :إذا كان لديك برتشن اسمه sda9نظام ملفاته ext3تريد ربطه فى المجلد
songاكتب ما يلى :
مثال آخر :إذا كان لديك برتشن اسمه sda9نظام ملفاته ext3و نقطة الربط الخاصة به
هى collection1وتريد ربط هذا البرتشن ربط دائم .فما عليك إل إضافة السطر التالى
إلى الملف : fstab
#المر : df
يستخدم لمعرفة المساحة الخالية و المستخدمة و الكلية لجميع البرتشنات المركبة أو
المربوطة .
-1لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة وكذلك نقطة
ربط كل برتشن اكتب ما يلى :
ahmed@linux-186f:~> df
فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر :
-2لعرض المساحة الكلية و المستخدمة و الخالية لبرتشن معين وليكن sda9اكتب ما
يلى :
ahmed@linux-186f:~> df /dev/sda9
فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر :
-3لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة بحيث يتم
عرض المساحة بصورة مفهومة ) بالجيجا أو بالميجا ( وكذلك نقطة ربط كل برتشن اكتب
ما يلى :
ahmed@linux-186f:~> df -h
فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر :
-4لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة بحيث يتم
عرض المساحة بصورة مفهومة ) بالجيجا أو بالميجا ( لكنه يستخدم 1000بدل من
) 1024أي يعتبر الجيجا = ( 1000ميجا وكذلك نقطة ربط كل برتشن اكتب ما يلى
:
ahmed@linux-186f:~> df -H
فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر :
-5لعرض المساحة الكلية و المستخدمة و الخالية لجميع البرتشنات المربوطة مع عرض نظام
ملفات كل برتشن بجانبه وكذلك نقطة ربط كل برتشن اكتب ما يلى :
ahmed@linux-186f:~> df -T
فتكون النتيجة مثل التالى طبعا النتيجة تكون مختلفة من هارد لخر :
الفصل السابع
إدارة المستخدمين و المجموعات :
#مقدمة :
المستخدم :هوشخص معرف فى النظام بتعريف وحيد مكون من اسم و رقم بحيث ل
يتشابه أي اثنين من المستخدمين فى التعريف الخاص بهما .
المجموعة :هى تجمع من المستخدمين معرف فى النظام بتعريف وحيد مكون من اسم و
رقم بحيث ل يتشابه أي مجموعتين مع بعضهما فى التعريف الخاص بهما .
ملحظات :
#للمستخدم اسم و رقم فالمستخدم يستعمل اسمه فى التعامل مع النظام و النظام يستعمل
رقم هذا المستخدم UIDفى عملياته أي أن جميع العمليات التى يقوم بها المستخدم تكون
بالعتماد على رقمه فقط فالبرامج و الوامر لتعرف السماء .
#لتغير رقم UIDللمستخدم ولكن يمكنك تغيير اسم المستخدم فقط وذلك لن النظام
يربط ملكية الملفات برقم التعريف UIDوليس باسم الدخول فإذا قمت بتغيير رقم
المستخدم ستتسبب فى فقدان ذلك المستخدم لملكية جميع ملفاته .
#اسم الدخول يجب أن ليحتوى على أحرف عربية وإنما يحتوى على أحرف إنجليزية و
أرقام .
#يجب أن ليقل طول كلمة المرور عن ستة أحرف ويسمح فى كلمة السر بالحرف
الكابيتال و السمول و الرقام و العلمات والمسافات .
وتكون النتيجة هى إنشاء مجموعة اسمها Friendsمع إعطائها رقم GIDتسلسلى .
-2إذا أردت إنشاء مجموعة اسمها eraمع اعطائها رقم GIDغير الرقم التسلسلى وليكن
560اكتب ما يلى :
ملحظة :المجموعات التى أرقامها أقل من 500هى مجموعات خاصة بالنظام أما
المجموعات التى أرقامها أكبر من 500هى مجموعات مستخدمين .
-3إذا أردت إنشاء مجموعة اسمها bombaوجعلها من ضمن مجموعات النظام والتى
تأخذ أرقام GIDأقل من 500اكتب ما يلى :
-4إذا أردت إنشاء مجموعتين لهما نفس رقم GIDاتبع ما يلى :
مثل إذا أردت إنشاء مجموعتين الولى اسمها hhhوالثانيه اسمها hbkبحيث تحمل
المجموعتان نفس رقم GIDوليكن الرقم 800اكتب ما يلى :
-2إذا أردت تعديل رقم مجموعة وإعطائها نفس رقم مجموعة أخرى اتبع ما يلى :
مثل إذا كان لديك مجموعة اسمها eraتحمل رقم 560وكانت لديك مجموعة أخرى
اسمها friendsتحمل الرقم 900وأردت تغيير رقم المجموعة eraلتحمل الرقم 900
اكتب ما يلى :
ملحظة مهمة :تغيير رقم المجموعة أمر خطير لن كل الملفات السابقة للتغيير ستظل
محتفظة برقمها الول مما يعنى وجود ملفات لمجموعة ليست موجودة .
ملحظة :إذا أردت حذف المجموعة الساسية لمستخدم موجود بالفعل على النظام فانه
يتم إلغاء حساب ذلك المستخدم اول ثم بعد ذلك يتم إلغاء مجموعته الساسية .
-1لعرض جميع القيم الفتراضية التى يعطيها النظام لى مستخدم جديد اكتب ما يلى :
وتكون النتيجة هى إنشاء مستخدم جديد اسمه himaمع جعل جميع قيم ذلك
المستخدم افتراضية .
-3إذا أردت إنشاء مستخدم اسمه jakeمع إعطائه صدفة أخرى غير الفتراضية ولتكن
cshاكتب ما يلى :
-4إذا أردت إنشاء مستخدم جديد اسمه rockمع وضع معلومات له مثل اسمه
الحقيقى و رقم تليفونه بفرض أن اسم هذا المستخدم الحقيقى هو ahmed elsayed
وتليفونه هو 8659اكتب ما يلى :
-5إذا أردت إنشاء مستخدم جديد اسمه asdمع تغيير المجموعة الفتراضية الساسية
التى ينشئها النظام بمجموعة أخرى شرط ان تكون تلك المجموعة موجوده بالفعل مثل
friendsوذلك كما يلى :
-6إذا أردت إنشاء مستخدم جديد اسمه saidمع ضم ذلك المستخدم لمجموعة ثانوية
أخرى موجوده بالفعل مثل rootبالضافة للمجموعات الفتراضية الساسية اكتب ما يلى
:
-7إذا أردت إنشاء مستخدم جديد اسمه Jenniferمع ضم ذلك المستخدم لعدة
مجموعات ثانوية ولتكن cdromو mailو wheelاكتب ما يلى :
-8إذا أردت إنشاء مستخدم جديد اسمه amrوتغيير مجموعته الفتراضية الساسية
من usersإلى hbkبالضافة إلى ضمه إلى مجموعة ثانوية مثل wwwاكتب ما يلى :
ملحظة :لبد من وجود المجموعتين الساسية و الثانوية بالفعل لكى نتمكن من إلحاق
المستخدم بهما و كذلك لبد من أن يكون المستخدم جديدا فى المجموعتين .
-9إذا أردت إنشاء مستخدم جديد اسمه hazemمع تغيير مجلد البيت لذلك
المستخدم إلى /varاكتب ما يلى :
-10إذا أردت إنشاء مستخدم جديد اسمه zizoمع إعطاؤه رقم UIDمعين مثل 865
اكتب ما يلى :
-11إذا أردت إنشاء أكثر من مستخدم بحيث يحملون نفس رقم UIDاستخدم الخيار
-oكما فعلنا فى المجموعات فمثل إذا أردت إنشاء 3مستخدمين الول اسمه aziz
والثانى اسمه nimoوالثالث اسمه kimoبحيث يكون رقم UIDللثلث مستخدمين
هو 750اكتب ما يلى :
-12إذا أردت إنشاء مستخدم جديد مع وضع تاريخ لنهاء حسابه تلقائيا بحيث أنه لن
يتمكن من الدخول بعد هذا التاريخ استخدم الخيار -oويتم وضع التاريخ كالتالى yyyy-
mm-ddحيث ddتمثل اليام و mmتمثل الشهر و yyyyتمثل السنين
وفيما يلى مثال لليضاح .
مثال :إذا أردت إنشاء مستخدم جديد اسمه didoمع وضع التاريخ
2008-10-20لنهاء حسابه اكتب ما يلى :
-13إذا أردت تغيير القيم الفتراضية التى ستنشئ لجميع المستخدمين الجدد على الدوام
فانه سيتوجب عليك استخدام الخيار -Dوبعده ماتريد تغييره .
واليك فيما يلى بعض المثلة التوضيحية :
مثال : 1إذا أردت تغيير مجلد بيت جميع المستخدمين الجدد من المسار /home
إلى المسار /varاكتب ما يلى :
مثال : 2إذا أردت تغيير صدفة جميع المستخدمين الجدد وجعلها tchبدل من bash
اكتب ما يلى :
-2إذا أردت تعديل صدفة مستخدم اسمه jakeمن cshإلى bashاكتب ما يلى :
-3إذا أردت تعديل بعض معلومات مستخدم اسمه rockفمثل نريد تعديل اسمه
الحقيقى إلى foadو رقم تليفونه إلى 5555اكتب ما يلى :
-4إذا أردت تغيير المجموعة الساسية لمستخدم اسمه asdمن friendsإلى hhh
اكتب ما يلى :
-5إذا أردت تغيير المجموعة الثانوية لمستخدم اسمه saidمن rootإلى hbkاكتب
ما يلى :
-6إذا أردت تغيير مجلد البيت لمستخدم اسمه hazemمن /varإلى /home
اكتب ما يلى :
-7إذا أردت تغيير رقم UIDلمستخدم اسمه zizoمن 865إلى 555اكتب ما يلى :
-8إذا أردت تغيير تاريخ انتهاء حساب مستخدم اسمه didoمن 20-10-2008إلى
28-8-2008اكتب ما يلى :
-9إذا أردت قفل حساب المستخدم amrبحيث ليستطيع ذلك المستخدم الولوج
للنظام استخدم الخيار -Lمع مراعاة أن حرف L capitalاكتب ما يلى :
ملحظة :عند استخدام الخيار -Lلقفل حساب المستخدم فانه يتم إضافة العلمة ! امام
كلمة سر المستخدم فى الملف . shadow
-10إذا أردت فتح حساب المستخدم amrالذى قمت بقفله سابقا بحيث يتمكن من
الولوج للنظام استخدم الخيار -Uمع مراعاة ان حرف U capitalاكتب ما يلى :
-2إذا أردت حذف مستخدم اسمه fofaمع حذف مجلد البيت الخاص به اكتب ما
يلى :
remstereo:x:1002:100:remstereo:/home/remstereo:/bin/bas
h
فى أول السطر يذكر اسم المستخدم وهو هنا remstereoثم كلمة المرور ويعبر عنها
بالرمز xثم رقم UIDوهنا هو 1002ثم يذكر رقم GIDللمجموعة الساسية وهنا هو
100ثم يذكر المعلومات الضافية التى كتبها المستخدم مثل اسمه الحقيقى ورقم تليفونه
وهنا نجد أن المستخدم وضع اسمه الحقيقى بنفس اسم الدخول remstereoثم يذكر
مجلد البيت الخاص بالمستخدم وهنا هو /home/remstereoثم يذكر الصدفة التى
يستخدمها المستخدم للدخول للنظام وهى هنا . /bin/bash
-2الملف : /etc/shadow
ووظيفة هذا الملف حفظ جميع المعلومات الخاصة بالمستخدمين بما فى ذلك المعلومات
السريه للمستخدمين مثل كلمة المرور والفترة التى سيغلق بعدها حساب المستخدم وما
إلى ذلك من معلومات سرية .وهذا الملف غير مسموح للمستخدمين العاديين بقرائته
ويتكون ذلك الملف من تسع خانات أو أعمده ويفصل بين كل خانة وأخرى بعلمة
: colonوفيما يلى مثال على أحد أسطر ذلك الملف
remstereo:2a$05$zn4uZeg:14089:0:99999:7:::
فى أول السطر يذكر اسم المستخدم وهو هنا remstereoثم كلمة المرور وتظهر مشفرة
كالتالى 2a$05$zn4uZegثم يذكر آخر مرة تم تغيير فيها كلمة المرور و الرقم الموجود
فى تلك الخانة standardوهنا هو 14089وهذا الرقم standardثم يذكر الوقت
الذى ينتظره المستخدم لكى يستطيع تغيير كلمة المرور ويحسب ذلك الوقت من آخر مرة
تم تغيير كلمة المرور فيها وهنا هذا الرقم هو صفر 0أي أنه لم يحدد ثم يذكر فترة السماح التى
بعدها لبد من تغيير كلمة المرور وهى هنا 99999وهذا الرقم standardوتعنى
99999يوم ثم يذكر عدد اليام الواجب تغيير كلمة المرور فيها قبل انتهاء حساب
المستخدم وهى هنا 7أيام وتعنى أنه إذا كان حساب المستخدم محدد ب 99999يوم
فقبل انتهاء هذه المدة ب 7أيام لبد من تغيير كلمة المرور
ثم يذكر الفترة بين إنهاء حساب المستخدم وبين إغلق الحساب كليا و الفرق بينهما أن
إنهاء حساب المستخدم متعلق بتعامل المستخدم مع النظام أما إغلق الحساب كليا
فمتعلق بسياسة إدارة النظام و هى هنا فارغة .ثم يذكر تاريخ صلحية الحساب
account expireوتعنى أن الحساب سيغلق بعد انتهاء هذه الفترة و هى هنا فارغة أما
آخر خانة فتسمى special flagوهذه خانة غير مستخدمة حاليا و محجوزة للستخدام
فى المستقبل .
remstereo:2a$05$zn4uZeg:14089:0:99999:7:::
remstereo:2a$05$zn4uZeg:14089:0:99999:7::14088:
ملحظة :الخانة رقم 7و التى تحدد عدد اليام بين إنهاء حساب المستخدم وبين
إغلق الحساب توضع بها قيمتان > <0أو > <1-حيث :
> <0سيقوم بعمل disableللحساب مباشرة بعد انتهاء الوقت المحدد لكلمة المرور .
> <1-هذه القيمه توقف disableالتلقائى للحساب .
قد تتساءل الن لماذا نحتاج إلى نقل المستخدمين إلى نظام آخر ؟؟ فمثل إذا أردت
تنزيل توزيعة أخرى لى سبب من السباب ففى هذه الحالة ستحتاج لنقل جميع
المستخدمين إلى النظام أو التوزيعة الخرى
ولنقل المستخدمين من نظام لخر يجب العتماد على ملف واحد فى إدارة المجموعات
وملف واحد فى إدارة المستخدمين
بالنسبه للمجموعات يمكن العتماد على الملف /etc/groupدون استخدام الملف
/etc/gshadowوهذا ماتفعله السوزى لنها أساسا لتعتمد على الملف
. gshadow
بالنسبه للمستخدمين يمكن العتماد على الملف /etc/passwdدون استخدام الملف
/etc/shadow
linux-r58p:/home/ahmed # grpunconv
ويكون ناتج هذا المر هو تحويل محتويات الملف gshadowإلى الملف group
وبالتالى سيتم إلغاء الملف gshadowوالعتماد فقط على الملف . group
-2ولرجاع الحال كما كان عليه سابقا أي لرجاع الملف gshadowاكتب المر
التالى :
linux-r58p:/home/ahmed # grpconv
linux-r58p:/home/ahmed # pwunconv
ويكون ناتج هذا المر هو تحويل كلمات المرور الموجودة فى الملف shadowإلى
الملف passwdوبالتالى سيتم إلغاء الملف shadowوالعتماد فقط على الملف
. passwd
-2ولرجاع الحال كما كان عليه سابقا أي لرجاع الملف shadowاكتب المر
التالى :
linux-r58p:/home/ahmed # pwconv
ويكون ناتج المر هو أن الملف shadowقد تمت كتابته ثانية وأيضا كلمات المرور
الموجودة فى الملف passwdقد تحولت إلى الملف . shadow
إذا كان المستخدم مشترك فى أكثر من مجموعة فكيف يستطيع المستخدم التنقل بين
تلك المجموعات ؟ يتم التنقل بين المجموعات باستخدام المر newgrpمتبوعا باسم
المجموعة المراد النتقال إليها .
-1إذا كان لديك مستخدم اسمه amrمشترك فى عدة مجموعات مشترك فى عدة
مجموعات وهى ) friendsو familyو ( engineeringوكانت المجموعة الساسية
لذلك المستخدم engineeringوأراد النتقال إلى مجموعة friendsاكتب ما يلى :
-2إذا أراد المستخدم amrالرجوع إلى المجموعة الساسية التى كان عليها وهى
engineeringاكتب ما يلى :
amr@conan:/home/ahmed> exit
أو
amr@conan:/home/ahmed> newgrp
وهنا نجد سؤال يطرح نفسه وهو ما الفائدة من تنقل المستخدم بين المجموعات ؟
الفائده من تنقل المستخدم بين المجموعات ترجع إلى المجموعة نفسها ول تؤثر على
المستخدم نفسه .فعند انتقال المستخدم amrمن مجموعته الساسية engineering
إلى المجموعة friendsتصبح جميع العمليات ) من إنشاء ملفات ومجلدات ( التى ستتم
ahmed@conan:~> id
)uid=1000(ahmed) gid=100(users
)groups=100(users),16(dialout),33(video
ahmed@conan:~> id remstereo
)uid=1002(remstereo) gid=100(users
)groups=100(users),16(dialout),33(video
-3إذا أردت معرفة رقم GIDللمجموعة الساسية فقط لمستخدم اسمه remstereo
اكتب ما يلى :
ahmed@conan:~> id -g remstereo
100
-4إذا أردت معرفة أرقام GIDلجميع المجموعة المشترك فيها مستخدم اسمه
remstereoاكتب ما يلى :
ahmed@conan:~> id -G remstereo
100 16 33
-5إذا أردت معرفة رقم UIDفقط لمستخدم اسمه remstereoاكتب ما يلى :
ahmed@conan:~> id -u remstereo
1002
#المر : groups
ووظيفة هذا المر إظهار المجموعات المشترك فيها المستخدم فقط وليلزم أن تكون
مستخدم جذر وأنت تستعمل ذلك المر .
-1إذا أردت معرفة المجموعات المشترك أنت فيها اكتب المر groupsمنفردا فمثل
إذا أراد مستخدم على النظام اسمه ahmedمعرفة المجموعات المشترك فيها فليكتب ما
يلى :
ahmed@linux-r58p:~> groups
-2إذا أردت معرفة المجموعات المشترك فيها مستخدم اسمه remstereoاكتب ما
يلى :
#المر : gpasswd
يستخدم هذا المر لوضع كلمة مرور لمجموعة و لحذف كلمة مرور مجموعة ولغلق
مجموعة و للغاء غلق مجموعة .
قبل البدء فى الشرح قد تتساءل ماهى الفائدة من عمل كلمة مرور للمجموعة ؟
الفائدة من عمل كلمة مرور لمجموعة معينة هى أنه إذا كان هناك مستخدم غير ●
ملحظة :جميع المشتركين داخل المجموعة المعمول لها كلمة مرور مسموح لهم طبعا
الدخول والخروج من المجموعة دون كتابة كلمة مرور .
حيث يطلب منك إدخال كلمة المرور الجديدة ثم يطلب منك إعادة إدخال كلمة المرور
و ذلك للتأكيد .
-4إذا أردت إلغاء غلق مجموعة لها كلمة مرور اسمها familyاكتب ما يلى :
-5إذا أردت إلغاء غلق مجموعة ليس لها كلمة مرور اسمها friendsاكتب ما يلى :
#المر : passwd
-1إذا أردت تغيير أو إنشاء كلمة مرور لمستخدم اسمه remstereoاكتب ما يلى :
حيث يطلب منك إدخال كلمة المرور الجديدة ثم يطلب منك إعادة ادخال كلمة المرور
و ذلك للتاكيد .
ملحظة :يمكن للمستخدم العادى تغيير كلمة المرور الخاصة به بنفسه دون اللجوء
للمستخدم الجذر فمثل إذا أراد المستخدم remstereoتغيير كلمة المرور الخاصة به
فليكتب المر التالى :
remstereo@linux-r58p:/home/ahmed> passwd
ونلحظ أنه طلب منك إدخال كلمة المرور الخاصة بالمستخدم remstereoمره أخرى
وذلك للتاكد من أنه من قام باستخدام ذلك المر .
-2إذا أردت وضع كلمة مرور لمجموعة اسمها familyاكتب ما يلى :
حيث يطلب منك إدخال كلمة المرور الجديده ثم يطلب منك إعادة إدخال كلمة المرور
. و ذلك للتاكيد
و للطلع على جميع الصدفات المتاحة اقرأ الملف /etc/shellsبأى محرر نصوص
وأنت مستخدم جذر .
ملحظة :يمكن للمستخدم العادى تغيير صدفته بنفسه دون اللجوء للمستخدم الجذر
فمثل إذا أراد المستخدم remstereoتغيير صدفته من tcshإلى bashفليكتب
المر التالى :
ونلحظ أنه طلب منك ادخال كلمة المرور الخاصة بالمستخدم remstereoمره أخرى
وذلك للتاكد من أنه من قام باستخدام ذلك المر .
وبالتالى عند دخول المستخدم remstereoالمره القادمه يطلب منه تغيير كلمة المرور
الخاصة به وذلك كما يلى :
ahmed@linux-r58p:~> su remstereo
Password:
Password change requested. Choose a new password.
Old Password:
New Password:
Reenter New Password:
Password changed.
-8إذا أردت تقرير عن حالة كلمة المرور الخاصة بمستخدم معين اسمه remstereo
استخدم الخيار S- capitalوذلك كما يلى :
ملحظة :يمكن للمستخدم العادى طلب تقرير عن حالة كلمة المرور الخاصة به فالنفرض
ان مستخدم اسمه ahmedاراد معرفة حالة كلمة المرور الخاصة به فليكتب ما يلى :
ثم يذكر آخر مرة تم تغيير فيها كلمة المرور وهنا هى 08/04/2008ثم يذكر الوقت
الذى ينتظره المستخدم لكى يستطيع تغيير كلمة المرور ويحسب ذلك الوقت من آخر مرة
تم تغيير كلمة المرور فيها وهنا هذا الرقم هو صفر 0أي أنه لم يحدد ثم يذكر فترة السماح التى
بعدها لبد من تغيير كلمة المرور وهى هنا 99999وهذا الرقم standardوتعنى
99999يوم ثم يذكر عدد اليام الواجب تغيير كلمة المرور فيها قبل انتهاء حساب
المستخدم وهى هنا 7أيام وتعنى أنه إذا كان حساب المستخدم محددا بــ 99999يوم
فقبل انتهاء هذه المده بــ 7أيام لبد من تغيير كلمة المرور ثم يذكر الفترة بين إنهاء حساب
المستخدم وبين إغلق الحساب كليا وهى هنا . 1-
-9إذا أردت معرفة حالة جميع كلمات المرور لجميع المستخدمين الموجودين على النظام
اكتب ما يلى :
#التصاريح : permission
مقدمة :
هى سمة من سمات النظمه متعددة المستخدمين حيث يوجد عدد كبير من
المستخدمين يمكنهم الوصول للنظام والعمل عليه .
وهذه السمه تستخدم لتوفير المان لجميع المستخدمين فهى تحافظ على خصوصية
المستخدمين وتحمى ملفاتهم من العبث .
والصلحيات الممنوحة للملفات والمجلدات 3انواع :
readصلحية القراءة
writeصلحية الكتابة
executeصلحية التنفيذ
وتمنح هذه الصلحيات إما فى صوره مفردة أو تمنح فى صورة مركبة .ويتم تحديد
الصلحيات السابقة لثلث جهات وهى ) ( user , group , otherحيث :
: userهو من قام بإنشاء الملف وهو الذى يحدد الصلحيات لنفسه و للمجموعة
وللخرين .
: groupوهى المجموعة المشترك فيها المستخدم والمتواجد عليها أثناء إنشاء الملف وهذه
المجموعة تكون مرتبطة بالملف .
: otherوهم باقى مستخدمي النظام غير المشتركين فى مجموعة مالك الملف المرتبطة
بالملف .
وكل جهة من الجهات الثلث ) ( user , group , otherيمكن منحها التصاريح
الثلثة ) ( read , write , executeأي أن الجمالى هو تسعة تصاريح فرعية .
ونلحظ أنه عند إنشاء الملف أو المجلد يتم منحه افتراضيا بعض التصاريح حتى إذا لم يتم
تعيينها له .
ويمكنك عرض التصاريح الممنوحة للملفات و المجلدات باستخدام المر lsمع الخيار -l
وذلك كالتالى :
ahmed@linux-r58p:~> 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
ويتم عرض التصاريح فى سلسلة من عشر شرط بحيث تدل أول شرطة على نوع الملف
فإذا كان المعروض ملفا تترك أول شرطة فارغة أما إذا كان المعروض مجلدا فيوضع فى أول
ملحظة :عند إنشاء مجلد يكون التصريح الفتراضى للمالك 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
-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
يستخدم لعرض ما بداخل المجلد فقط دون إمكانية فتح المجلد أو الدخول إليه ويتم ذلك
من خلل المر 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
1 2 2 0 0 w+x
حيث :
0تعنى أن العملية فشلت ) لم تتم (
2تعنى أن العملية قد تمت بنجاح
اما 1تعنى أنه يمكنك التعديل على الملف دون فتحه باستخدام المر :
نتيجة :
التصريح : r
يستخدم لفتح الملف و الطلع على مابداخله من بيانات ويستخدم لنسخ الملف من
مكان لخر
التصريح : w
يستخدم لكى تستطيع الكتابة داخل الملف و التعديل على بياناته
التصريح : r+x
يستخدم لكى تستطيع تنفيذ برنامج أو سكربت أو تسطيب البرامج
ملحظة :نقل الملفات من مكان لخر وحذفها ل يعتمد على التصاريح الممنوحة للملف
و إما يعتمد على التصاريح الممنوحة للمجلد الذى يحوى الملفات
ويتحكم فى منح التصاريح صاحب الملف أي من قام بإنشائه وكذلك المستخدم الجذر
#المر : chmod
يستخدم هذا المر لتغيير السماحيات على الملفات والمجلدات ومن خلل ذلك المر
يمكن تغيير السماحيات بالرقام و بالحرف
-2إذا أردت تغيير السماحيات لمجلد بما يحتويه من ملفات و مجلدات فرعية وكان
ذلك المجلد اسمه didoبحيث تمنح المالك ومجموعته جميع الصلحيات ول تمنح
الخرين أية صلحيات اكتب ما يلى :
-1إذا كان لديك مجلد اسمه socaوأردت إعطاء مالكه جميع الصلحيات اكتب ما
يلى :
-2إذا كان لديك مجلد اسمه socaوأردت إعطاء مجموعة مالكه صلحية القراءة و
التنفيذ اكتب ما يلى :
-3إذا كان لديك مجلد اسمه socaوأردت إعطاء المستخدمين الخرين صلحية
القراءة و التنفيذ اكتب ما يلى :
-4إذا كان لديك مجلد اسمه nogaوأردت إعطاء مالكه و مجموعته و المستخدمين
الخرين صلحية القراءة و التنفيذ اكتب ما يلى :
-5إذا كان لديك مجلد اسمه nogaوأردت سحب صلحية القراءة و التنفيذ من
المستخدمين الخرين اكتب ما يلى :
#المر : chown
يستخدم لتغيير ملكية ملف معين إلى مستخدم جديد و إلى مجموعة جديده أيضا وذلك
من خلل المستخدم الجذر فقط .
-1إذا أردت تغيير ملكية ملف أو مجلد اسمه himaإلى المستخدم amrمع عدم تغيير
المجموعة المالكة لذلك الملف اكتب ما يلى :
-2إذا أردت تغيير ملكية ملف أو مجلد اسمه miroإلى المستخدم conanوتغيير
المجموعة المالكة لذلك الملف إلى المجموعة familyاكتب ما يلى :
ملحظة :ليس شرطا عند تغيير المجموعة المالكة للملف أن يكون صاحب الملف عضوا
فى تلك المجموعة فمثل هنا المستخدم conanليس عضوا فى مجموعة . family
-3إذا أردت تغيير ملكية مجلد بما يحتويه من ملفات و مجلدات فرعية وكان ذلك
المجلد اسمه didoإلى المستخدم amrمع عدم تغيير المجموعة المالكة لذلك الملف
اكتب ما يلى :
-4إذا أردت تغيير ملكية مجلد بما يحتويه من ملفات و مجلدات فرعية وكان ذلك
المجلد اسمه didoإلى المستخدم conanوتغيير المجموعة المالكة لذلك المجلد إلى
المجموعة familyاكتب ما يلى :
#المر : chgrp
يستخدم لتغيير المجموعة التى ينتمى إليها ملف أو مجلد معين .
-1إذا أردت تغيير المجموعة التى ينتمى إليها ملف أو مجلد اسمه biboإلى المجموعة
familyاكتب ما يلى :
-2إذا أردت تغيير المجموعة التى ينتمى إليه مجلد بما يحتويه من ملفات و مجلدات
فرعية وكان ذلك المجلد اسمه zizoإلى المجموعة familyاكتب ما يلى :
لنفرض أنك تريد عمل مستخدم اسمه adelكل ما عليك فعله هو اتباع الخطوات التالية :
-1أنشئ المستخدم بواسطة المر useraddوذلك كالتالى :
-2قم بعمل كلمة مرور لذلك المستخدم باستخدام المر passwdوذلك كالتالى :
حيث يطلب منك إدخال كلمة المرور الجديدة ثم يطلب منك إعادة إدخال كلمة المرور
و ذلك للتأكيد .
-4قم بنقل ملكية مجلد بيت المستخدم adelبما يحويه من مجلدات فرعية و ملفات
من المستخدم الجذر rootإلى المستخدم adelوذلك كالتالى :
adel:x:1006:100::/home/adel:/bin/bash
وتأكد من أنه ينتهى ب /bin/bashأي يكون كالسطر السابق فإذا لم يكن كذلك
ضع فى نهايته /bin/bash
خاتمه :