تقديم : سطر اﻷوامر
سطر اﻷوامر يعني Shell أو بطريقة الدوس Prompt ... والمقصود بكلمة قشرة Shell في عالم اللينكس إني هي الغلاف اللي عازلك عن النواةKernel الخاصة بالنظام كله ... ومن خلال القشرة دية تقدر تتحكم في النظام ككل
وبالتالي مطلوب من القشرة إني هي تكون واجهتك الوحيدة للنظام ... وطبعا مفروض نتوقع منها كمية تسهيلات وامكانيات لا نهائية وبكده هيبقى عندنا أكتر من نوع قشرة ... كل قشرة شايفة نفسها هي اﻷفضل ... ولكن بصراحة مفيش أفضل ولا أوحش ... الموضوع كله بدائل وحالات معينة تؤدي إلي وضع خاص
ومن هنا ما كانش فيه تضارب ما بين انواع القشرة المختلفة ....
لكن عامة انواع الSHELLS أكتر من كده بكتير والفروق ما بينهم يكمن تكون محتاجة كتاب مش مقالة ... بس طبعا احنا هنا مبنخترعش ... طبعا موجود كتب بتفصل فروق القشور عن بعض ... لكن ده طبعا يعتمد على وقت حضرتك طبعا وهدفك من معرفة الفروق .. واﻷمكانيات المتاحة
ﻷن طبعا كبداية Bash بتوفرلك كل حاجة واكتر من اللي انت تحتاجة ... يعني ببساطة مش هتقدر تغمض عينيك ...
أين أكتب اوامر الشيل ؟
يجب أولا ان تفرق بين برنامجيين الأول يسمى Shell والآخر يسمى Terminal .
فالShell هو مانتحدث عنه أما ال Terminal فهو البرنامج الذى يقوم بتوفير واجهة لكى تكتب فيها أوامر ال Shell ويقوم هو بتمريرها الى الShell . ويوجد أكثر من برنامج للتيرمنال Terminal مثل Konsole , Eterm ,Aterm ,xterm…………… والعديد من البرامج الأخرى ويمكنك استخدام اللي يعجبك
ولكن المشكلة في ادراك هذا المفهوم فأنت في اﻷغلب تستخدم الواجهة الرسومية مع توزيعتك الحالية ... وهذا يستوجب عليك أن تستخدم هذه التيرمنال المتوفرة في توزيعتك ...
ولو مش عايز تعتمد على التيرمنال ... ممكن تستخدم أمر ALT+CTRL+F? buttons وفين هو مفتاح F? button ... ﻷ مش مفتاح موجود على لوحة المفاتيح ... ده حاجة اسمها كارت الجوكر wildcards ... يعني المقصود كل زرارير F1,F2,.....F6
ولما تعوز ترجع للواجهة الرسومية استخدم F7 ... ياريت تبقى فاكر موضوع كارت الجوكر WildCards ...عشان هنستخدمه كتير جدا مع سطر اﻷوامر Bash
دلوقتي أنا بفترض إني انت وصلت للقشرة Shell بأي طريقة كانت ... مفروض إني القشرة متاحة من الواجهة الرسومية ... وموجودة ﻷما على سطح المكتب أو قائمة ابدأ أو أي قائمة المهم انها موجودة ... حاول تدور عليها ارجوك !
بمجرد لما تلاقيها هتلاقي شاشة وفيها مؤشر قاعد يروح ويختفي ... متخافش ده طبيعي ... من المؤشر الميت ده ... هتشوف الأعاجيب بس استنى عليا
السطر العجيب ده ... فيه معلومات كتيرة جدا .. بيقول إن المستخدم الحالي هو andalusy وقاعد على الجهاز اللي اسمه linux-box ...والمسار الحالي هو ~ ... وده اختصار من الباش BASH معناه المسار الخاص بالمستخدم الحالي ... home/andalsuy/
وعامة ده المسار الخاص بأي مستخدم على اللينكس بيكون فيه كل الملفات والمجلدات وتعريفات البرامج الخاصة به ... وهكذا
ناقص بقى علامة الدولار$ وديه معناها إن المستخدم الحالي يتمتع بصلاحيات عادية ... ولكن في حالة المستخدم root اللي انت عملته وانت بتثبت توزيعتك بتتحول علامة الدولار $ لشباك #... وبكده ده معناه إني انت معاك الصلاحيات المطلقة إن شاالله تحرق الجهاز ...
بعدما قررنا الأعتماد على الباش كسطر الأوامر المعتمد لكل الشروحات القادمة ... يتبقى سؤال :
ما هو المسار bin/sh/ ؟
هو المسار الأصلى للنسخة الأولي من Bourne Shell ولكن جنو/لينكس يستخدم نسخة معدلة وأكثر مميزات من النسخة الأصلية وبالتالي لم يتبقى من هذا المسار إلا رابط رمزي في جميع توزيعات لينكس تحسبا لأي سكريبت يعتمد على هذه النسخة من الباش ....
طبعا مفهوم السكريبت هو مجموعة من أوامر الباش مجموعة في ملف واحد له صلاحيات التنفيذ على قشرة الباش ...
تماما مثل ملفات BAT. المستخدمة مع نظام الدوس ....
للمزيد عن مفهوم ملفات السكريبت يمكنك انتظار باقي الدروس ... أو البحث في جوجل عن مفهوم Bash Scripting
وللمزيد عن مفهوم الرابط الرمزي ... يمكنك متابعة مقالة التعامل مع الملفات ...قسم الروابط
وبالتالي مطلوب من القشرة إني هي تكون واجهتك الوحيدة للنظام ... وطبعا مفروض نتوقع منها كمية تسهيلات وامكانيات لا نهائية وبكده هيبقى عندنا أكتر من نوع قشرة ... كل قشرة شايفة نفسها هي اﻷفضل ... ولكن بصراحة مفيش أفضل ولا أوحش ... الموضوع كله بدائل وحالات معينة تؤدي إلي وضع خاص
ومن هنا ما كانش فيه تضارب ما بين انواع القشرة المختلفة ....
- sh or Bourne Shell
- bash or Bourne Again shell
- csh or C shell
- tcsh or Turbo C shell
- ksh or the Korn shell
القشرة اﻷصلية أصلا من عالم اليونكسUNIX وفي اﻷغلب بتبقى لسه موجودة في أغلب التوزيعات نظرا لظروف التوافق والتكامل ما بين اﻷنظمة المختلفة
القشرة القياسية و متوافقة جدا مع المبتدئين وفي نفس الوقت قوية جدا مع المحترفين ... طبعا هي القشرة الموجودة مع أس توزيعة لينكس بدون نقاش طبعا... طبعا أوامرها هي نفس أوامر sh بس طبعا مع اضافات ومميزات أكتر بكتير وهي طبعا من أهم مشاريع جنو GNU Project
طبعا واضح من اسمها ... أي مطور سي يحب يلاقي القشرة بتكلمه بنفس طريقة السي... بس طبعا القشرة اﻷكثر استخداما هي bash ﻷن هي بتوفر مميزات كتيرة جدا ..و أوقات كتيرة هي القشرة اﻷساسية المستخدمة على صفحات أندلسي
مميزات أكتر من csh وسرعة وسهولة في اﻷستخدام
مش فارقة كتير عن الsh اﻷصلية بس يعتبر مزعجة جدا بالنسبة للمبتدئين ... لكن ينصح بالتجربة برده
لكن عامة انواع الSHELLS أكتر من كده بكتير والفروق ما بينهم يكمن تكون محتاجة كتاب مش مقالة ... بس طبعا احنا هنا مبنخترعش ... طبعا موجود كتب بتفصل فروق القشور عن بعض ... لكن ده طبعا يعتمد على وقت حضرتك طبعا وهدفك من معرفة الفروق .. واﻷمكانيات المتاحة
ﻷن طبعا كبداية Bash بتوفرلك كل حاجة واكتر من اللي انت تحتاجة ... يعني ببساطة مش هتقدر تغمض عينيك ...
أين أكتب اوامر الشيل ؟
يجب أولا ان تفرق بين برنامجيين الأول يسمى Shell والآخر يسمى Terminal .
فالShell هو مانتحدث عنه أما ال Terminal فهو البرنامج الذى يقوم بتوفير واجهة لكى تكتب فيها أوامر ال Shell ويقوم هو بتمريرها الى الShell . ويوجد أكثر من برنامج للتيرمنال Terminal مثل Konsole , Eterm ,Aterm ,xterm…………… والعديد من البرامج الأخرى ويمكنك استخدام اللي يعجبك
ولكن المشكلة في ادراك هذا المفهوم فأنت في اﻷغلب تستخدم الواجهة الرسومية مع توزيعتك الحالية ... وهذا يستوجب عليك أن تستخدم هذه التيرمنال المتوفرة في توزيعتك ...
ولو مش عايز تعتمد على التيرمنال ... ممكن تستخدم أمر ALT+CTRL+F? buttons وفين هو مفتاح F? button ... ﻷ مش مفتاح موجود على لوحة المفاتيح ... ده حاجة اسمها كارت الجوكر wildcards ... يعني المقصود كل زرارير F1,F2,.....F6
ولما تعوز ترجع للواجهة الرسومية استخدم F7 ... ياريت تبقى فاكر موضوع كارت الجوكر WildCards ...عشان هنستخدمه كتير جدا مع سطر اﻷوامر Bash
دلوقتي أنا بفترض إني انت وصلت للقشرة Shell بأي طريقة كانت ... مفروض إني القشرة متاحة من الواجهة الرسومية ... وموجودة ﻷما على سطح المكتب أو قائمة ابدأ أو أي قائمة المهم انها موجودة ... حاول تدور عليها ارجوك !
بمجرد لما تلاقيها هتلاقي شاشة وفيها مؤشر قاعد يروح ويختفي ... متخافش ده طبيعي ... من المؤشر الميت ده ... هتشوف الأعاجيب بس استنى عليا
andalusy@linux-box:~$
للتحويل إلي المستخدم المطلق للجهاز
andalusy@linux-box:~$ su
Password:
root@linux-box:~#
السطر العجيب ده ... فيه معلومات كتيرة جدا .. بيقول إن المستخدم الحالي هو andalusy وقاعد على الجهاز اللي اسمه linux-box ...والمسار الحالي هو ~ ... وده اختصار من الباش BASH معناه المسار الخاص بالمستخدم الحالي ... home/andalsuy/
وعامة ده المسار الخاص بأي مستخدم على اللينكس بيكون فيه كل الملفات والمجلدات وتعريفات البرامج الخاصة به ... وهكذا
ناقص بقى علامة الدولار$ وديه معناها إن المستخدم الحالي يتمتع بصلاحيات عادية ... ولكن في حالة المستخدم root اللي انت عملته وانت بتثبت توزيعتك بتتحول علامة الدولار $ لشباك #... وبكده ده معناه إني انت معاك الصلاحيات المطلقة إن شاالله تحرق الجهاز ...
بعدما قررنا الأعتماد على الباش كسطر الأوامر المعتمد لكل الشروحات القادمة ... يتبقى سؤال :
ما هو المسار bin/sh/ ؟
هو المسار الأصلى للنسخة الأولي من Bourne Shell ولكن جنو/لينكس يستخدم نسخة معدلة وأكثر مميزات من النسخة الأصلية وبالتالي لم يتبقى من هذا المسار إلا رابط رمزي في جميع توزيعات لينكس تحسبا لأي سكريبت يعتمد على هذه النسخة من الباش ....
طبعا مفهوم السكريبت هو مجموعة من أوامر الباش مجموعة في ملف واحد له صلاحيات التنفيذ على قشرة الباش ...
تماما مثل ملفات BAT. المستخدمة مع نظام الدوس ....
للمزيد عن مفهوم ملفات السكريبت يمكنك انتظار باقي الدروس ... أو البحث في جوجل عن مفهوم Bash Scripting
وللمزيد عن مفهوم الرابط الرمزي ... يمكنك متابعة مقالة التعامل مع الملفات ...قسم الروابط
- مدونة قاسم
- لُجأو سجل لتعلق
- قراءة(1071)
