Posted by: almouj | نوفمبر 3, 2008

سطر أوامر لينكس!!!

مقدمة لسطر الأوامر

يعتبر سطر الأوامر في لينكس من أهم مميزاته لأنه يسمح لك بتنفيذ أشياء معقدة بطرق بسيطة جدا لذا من الطبيعي أن تجد نافذة سطر الأوامر دائمة مفتوحة عند مستخدمي لينكس ، فعلى الرغم من كون سطر الأوامر لغة برمجة تفسيرية إلا نه يمكن لغير الخبراء والمبرمجين استعماله بدون أي صعوبة

ومن باب الحرية -وهو شعار FSF- فإنك تستطيع استخدام أي برنامج ليكون مفسراً لأوامرك يسمى غلاف shell حاليا الأكثر شهرة هو bash ولكن يستطيع كل مستخدم تغييره واستخدام آخر مثل ksh أو csh أو tcsh …

تلميح BASH أي Bourne Again SHell وقد سمي كذلك لأن بيرني عمل برنامج سماه على اسمه غلاف بيرني (اسم الملف sh) ولكن بعد مدة ظهرت برامج أقوى منه مثل korn shell (اسمه ksh) و csh و tcsh فانقرض هذا البرنامج حتى جاء أحد عشاقه فطوّره وأضاف عليه الميّزيات المنافسة وغيرها وسماه غلاف بيرني مرة أخرى!! إنه الآن جزء من مشروع غنو يعكس فلسفة غنو في أن لغات البرمجة النصية scripting languages يجب أن تكون لغات برمجة حقيقية صممت لكتابة برامج جوهرية والقيام عليها.

هذا جدول يبين الأوامر الأساسية ، ما هو داخل أقواس مربعة [ ] يمكنك عدم كتابته ، و … تعني التكرار ، | تعني اكتب هذا أو هذا وحتى لا تخلط بين ما هو الشيء الحرفي وما هو الذي تعوّض مكانه معناه وضعنا هذه الأخيرة بخط مائل، الأمر ليس معقدا كما يبدو، مر على الجدول بسرعة واستعمله كمرجع سريع مؤقت، وأنت ترى الأمثلة التي تليه وتطبقها عملياً

cd [DIR] للدخول إلى مجلد(دليل) DIR وإذا كتبت cd لوحدها سوف تذهب إلى الدليل البيت وللعودة إلى الدليل الذي كنت فيه اولا cd - وللذهاب للدليل الأب للدليل الذي أنت فيه cd .. وللذهب إلى الدليل الأصل/الجذر الذي تتفرع منه الأدلة الأخرى cd /
pwd عرض المسار إلى الدليل الحالي
ls [-lhFa] [PATTERN] عرض الملفات التي تتفق مع PATTERN ، استخدم l للعرض المفصل و h لإظهار الحجم بطريقة مفهومة أكثر و F لوضع علامة تبين نوع الملف بعد اسمه و a لعرض جميع الملفات حتى التي تبدأ بنقطة وهناك الكثير
clear مسح الشاشة
echo ["STRING"]
printf “STRING1″ ["STRING2"]…
الأولى تطبع النص إلى جهاز الإخراج القياسي ، الثانية بطريقة لغة السي
help [BUILTINCOMMMAND] عرض مساعدة عن أمر من الأوامر المبنية داخل BASH.
whatis [NAME]
man [NAME]
info [NAME]
عرض مساعدة عن الأمر أو الملف الفلاني مثلا man ls أو info grub (للخروج من البرنامج اضغط q) أو whatis gedit الذي يعرض معلومات من سطر واحد يتم توليدها بواسطة mkwhatis.
apropos [NAME] البحث في قاعدة بيانات whatis عن نص مثلاً ‘apropos keyboard leds‘ (قد يكون عليك تشغيل mkwhatis إن لم تكن موجودة).
less [FILE]
more [FILE]
عرض ملف على الشاشة استخدم الأسهم و PageUP PageDown للحركة (للخروج من البرنامج اضغط q)
cat [FILE]… عرض ملف (ومجموعة ملفات) على الشاشة بطريقة غير تفاعلية (الوصف الحقيقي للأمر هو أنه يجمع هذه الملفات ثم يرسلها إلى جهاز الإخراج القياسي )
dd [if=FILE1] [of=FILE2] [bs=N] [count=M] إرسال M وحدة كل منها بحجم N بايت (يمكنك أن تضع k و M للكيلو والميغا) الأول من الملف الأول (تعني if – input file) إلى الثاني (نعم output file) إذا لم تحدد إي من الملفين فإنه الدخل/الخرج القياسي. تستخدم غالباً مع ملفات الأجهزة.
cp [-aRvi] SOURCE… DEST
mv [-aRvi] SOURCE… DEST
rm [-Rv] FILES
نسخ ، نقل(نسخ وحذف الأصل أو تغيير الاسم) وحذف على الترتيب. من المصدر(المصادر) إلى الهدف والخيارات هي :
i السؤال “هل أنت متأكد؟” قبل الحذف
v اكتب ماذا تفعل خطوة خطوة
a الحفاظ على نوع الملف
R نقل الأدلة الفرعية
mkdir DIR…
rmdir DIR…
عمل دليل جديد ، وحذف دليل فارغ على الترتيب.
ln [-sf] FILE_OR_DIR LINK
sln FILE_OR_DIR LINK
عمل رابط/وصلة تشير إلى الملف الأول وتتصرف مثلها تماماً ( أن يكون لديك نسختين من نفس الملف في أماكن مختلفة إن شئت دون أن تأخذ حيزاً على القرص) ، الخيارات :
s أن يكون الرابط soft أي يظهر عند عمل ls -l
f اجبار احلال الرابط الجديد مكان القديم. البرنامج الثاني static يعمل حتى لو كانت وصلات المكتبات غير صحيحة.
su [USER] التحول إلى مستخدم آخر إذا لم يذكر من هو يعتبر الجذر (طبعا بعد أن يقدم كلمة السر له)
whoami تخبرك من أنت !! أي المستخدم الذي تمثله الآن
file [PATTERN] عرض الملفات وما هو نوعها بطريقة مفهومة (اعتمادا على تركيبها ليس الإمتداد) مثلا يقول لك أن هذه English text file وذلك ASCII C text file وذلك MPEG video file …
df [-hbkmg] [PARTITION | DIR]
du [-hbkmg] [FILE_OR_DIR]
عرض المساحة المتبقية،والمساحة التي يشغلها دليل معين b بالبايت ، k بالكيلوبايت ، m بالميغا ، g بالغيغا ، h بطريقة مفهومة
free عرض المساحة المتبقية من الذاكرة والذاكرة الإفتراضية
COMMAND1 ; COMMAND2 [ ; COMMAND3]… تنفيذ الأمر الأول ثم نفذ الثاني وهكذا
COMMAND1 && COMMAND2 [ && COMMAND3]… تنفيذ الأمر الأول فإذا نجح نفذ الثاني وهكذا
COMMAND1 || COMMAND2 [ || COMMAND3]… تنفيذ الأمر الأول فإذا لم ينجح نفذ الثاني وهكذا
COMMAND1 & نفذ الأمر في الخلفية (لا ينتظر حتى ينتهي ويمكنك من تشغيل أوامر أخرى )
COMMAND1 | COMMAND2 تمرير مخرجات البرنامج الأول إلى الثاني ، تسمى هذه التقنية بالأنبوب (pipe)
`COMMAND` ناتج(مخرجات) تنفيذ هذه البرنامج ملاحظة ` تحصل ليها من المفتاح قرب الواحد الذي يحمل حرف الذال والعلامة ~ وهي ليست علامة اقتباس مفردة ” بدون shift
$VARIABLE قيمة المتغير ويسمى هذا تعويض
VARIABLE=VALUE وضع المتغير على القيمة (لا يوجد مسافة)
set عرض كل متغيّرات البيئة وقيمها.
COMMAND [ < FILE1 ] [ > FILE2 ] استخدام الملف الأول كجهاز ادخال قياسي والملف الثاني كجهاز إخراج القياسي
COMMAND [ < FILE1 ] [ << "STRING" ] استخدام الملف الأول كجهاز ادخال القياسي من أوله وحتى الحصول على النص “STRING”
COMMAND [ >> FILE ] إضافة مخراجات الأمر إلى نهاية الملف
COMMAND [ 1> FILE1 ] [ 2> FILE2 ] ارسال المخرجات إلى الملف الأول وإرسال رسائل الخطأ إلى الملف الثاني

ولتسهل عليك حفظ الأوامر اعرف أصل أسماءها

cd (Change Dir ) , pwd (resent working dir),ls(list) , man (manual page) , cp (copy) , mv (move) , rm (remove) , mkdir (Make Dir ) , rmdir (Remove Dir ) , ln (link) du (disk usage) , df (disk free) , su (super user)

وأيضا الخيارات

a (all ) , f (force) , R (recursive) , h (human readable) v (verbos :give info while working)

القليل من الأوامر مثل ‘pwd‘ و ‘clear‘ تعمل فقط بكتابة اسمها ثم الضغط على مفتاح الادخال ENTER، في حين أن أغلب الأوامر تتقبل معلومات أو خيارات من المستخدم تتحكم في سلوكها هذا يسمى تمرير المعاملات (أي arguments أو parameters) تكتب بعد الأمر يفصلها فراغات whitespaces وذلك قبل ضغط مفتاح الادخال ENTER.

تلميح تكون خيارات معظم الأدوات على شكل — ثم الخيار مثلا --force --verbos وللإختصار نضع – واحدة ثم الخيار المختصر -f -v ويجوز أيضا كتابة -fv بدون مسافة بينهما ، أي أن [-abcdef] تعني -a -b -c -d -e -f. وهكذا.

اترك رداً

ردك:

التصنيفات