في هذه التدوينة سوف نتعرف إلى بعض اﻷوامر الجميلة والمفيدة التي يمكننا تطبيقها في طرفية لينكس (Linux Terminal)، كما أن معرفتك بهذه اﻷوامر سوف يزيد من رصيدك المعرفيّ في خفايا التعامل مع نظام لينكس، ومستقبلا قد يفيدك في أساسيات إدارة لينكس.
تمتلك الطرفية قوة عظيمة، كما أن بعض مستخدمي لينكس مهووسون بعالم الطرفية، ولكي نسدّ رمق جوعهم فإننا سوف نسرد قائمة ببعض تلك اﻷوامر:
ملاحظات أوليّة
اﻷمر cd
يستخدم اﻷمر cd للدخول إلى المجلّد المطلوب، أو الانتقال من مجلد إلى آخر.
على سبيل المثال، نكتب اﻷمر cd Videos للدخول مجلد الفيديوهات (Videos) المتواجد في Home Folder:
** كما يستخدم اﻷمر cd منفردًا، للرجوع إلى المجلد اﻷولي فورًا، وهو مجلد المنزل Home Folder:
اﻷمر ls
يستخدم اﻷمر ls لعرض الملفات والمجلدات الموجودة في المجلد المطلوب؛ جرّب كتابة اﻷمر ls في الطرفية لديك وسوف يعرض لك قائمة بالملفات والمجلدات المتواجدة في مجلد المنزل (Home Folder)، وقد تتساءل لماذا قام بعرض اﻷشياء المتواجدة في مجلد المنزل تحديدا؟! الإجابة: وهي ﻷن مجلد المنزل هو الافتراضي الذي نراه عند فتح نافذة الطرفية، حيث تشير العلامة ~ الظاهرة في الطرفية إلى مجلد المنزل، وإذا أردت عرض محتويات مجلد آخر (مثلا مجلد التنزيلات) فاكتب اﻷمر cd Downloads وهكذا سيدخل إلى مجلد التنزيلات، ويمكنك من بعدها تطبيق اﻷمر ls لعرض الملفات والمجلدات المتواجدة بداخله.
ولكن الفائدة الأكبر من ls تكمُن عندما نريد البحث عن ملف محدد، لنفرض جدلًا أن لديك مجلدًا مع ملفات كثيرة، وأنت تريد معرفة ما إذا كان الملف test.txt مثلا متواجدًا هناك، ولمعرفة ذلك نستخدم اﻷمر ls متبوعًا بـ | ثم grep بهذا الشكل:
** تجدر الملاحظة إلى أن اﻷمر ls -a يستخدم لعرض محتويات المجلد المطلوب باﻹضافة إلى المجلدات والملفات المخفية (يُقصد بالملفات المخفية أنها الملفات التي لا يمكن رؤيتها إلا عند الضغط على مفتاح Ctrl+H في متصفح الملفات، كما أن الملفات المخفية تبدأ دائمًا بنقطة (.myfile).
ls -a
** كانت هذه مجرد معلومات أساسية حول اﻷمر ls وإذا أردت معرفة المزيد، فقط اكتب اﻷمر man ls في الطرفية وهو سوف يقوم بسرد معلومات مفصّلة حول ذلك اﻷمر، وليس ذلك فحسب، بل إنه يتناول بعض اﻷمثلة عليه.
man ls
اﻷمر pwd
يستخدم اﻷمر pwd لعرض مسار المجلد الحاليّ (الذي أنت متواجد فيه حاليًا في الطرفية) :
اﻷمر cat
يستخدم اﻷمر cat لعرض محتويات الموجود بداخل ملف ما؛ على سبيل المثال: أنا لدي ملف باسم myfile.text وكتبت فيه مثلًا “Hello World!”، فإنني عندما أكتب اﻷمر cat في الطرفية متبوعًا باسم ذلك الملف النصي، فإنه سوف يعرض محتوى ذلك الملف وهو “Hello World!”.
الأمر cp
يستخدم اﻷمر cp لنسخ الملفات والمجلدات، وهو أمر مفيد جدا في حالة كان لديك مجموعة من الملفات تبدأ بالاسم نفسه، أو نسخ مجموعة كبيرة من الملفات.
– مثال: اﻷمر اﻵتي يقوم بنسخ كافة الملفات التي تبدأ بالاسم same_name والمتواجدة في المسار المحدد وهو سطح المكتب الخاص بي، وهنا تكمن قوته في توفير الوقت:
cp same_name* /home/hossam/Desktop
اﻷمر chmod
يستخدم اﻷمر chomd لتغيير وإعطاء صلاحيات إلى ملف أو مجلد ما، ولعلك لاحظتَ أنه في عديد من اﻷحيان نستخدم هذا اﻷمر ﻹعطاء برنامج بعض الصلاحيات حتى نستطيع فتحه وتنصيبه.
على سبيل المثال: يستخدم اﻷمر اﻵتي، لجعل الملف myscript.py قابلًا للتنفيذ (executable) :
chmod +x myscript.py
واﻵن لتشغيل الملف نكتب اﻷمر التالي:
./myscript.py
وسنتحدث لاحقًا عن بعض اﻷمور المتعلقة بالصلاحيات في chomd.
اﻷمر wget
يستخدم اﻷمر wget لتحميل ملف من اﻹنترنت عبر الطرفية، على سبيل المثال:
wget DOWNLOAD_LINK
حيث نستبدل DOWNLOAD_LINK برابط التحميل الخاص بالملف الذي نريد تحميله.
إن wget أداة قوية، وللحصول على مزيد من المعلومات حول كيفية استئناف التنزيلات وغيرها من الخيارات راجع الموقع الرسمي.
اﻷمر uname
يستخدم اﻷمر uname لمعرفة معلومات النظام (Information System).
– اﻷمر التالي، يعرض إصدار النواة المثبت واسم التوزيعة خاصتك وإصدارها وغيرها من المعلومات:
uname -a
– اﻷمر التالي، يستخدم لعرض اسم النواة فقط بدون إصدارها:
uname -s
– اﻷمر التالي، يعرض إصدار النواة المثبت:
uname -r
– اﻷمر التالي يعرض اسم التوزيعة وإصدارها وبعض المعلومات اﻷخرى:
uname -v
الأمر cp
يستخدم اﻷمر cp لنسخ الملفات والمجلدات، وهو أمر مفيد جدا في حالة كان لديك مجموعة من الملفات تبدأ بالاسم نفسه، أو نسخ مجموعة كبيرة من الملفات.
– مثال: اﻷمر اﻵتي يقوم بنسخ كافة الملفات التي تبدأ بالاسم same_name والمتواجدة في المسار المحدد وهو سطح المكتب الخاص بي، وهنا تكمن قوته في توفير الوقت:
cp same_name* /home/hossam/Desktop
اﻷمر chmod
يستخدم اﻷمر chomd لتغيير وإعطاء صلاحيات إلى ملف أو مجلد ما، ولعلك لاحظتَ أنه في عديد من اﻷحيان نستخدم هذا اﻷمر ﻹعطاء برنامج بعض الصلاحيات حتى نستطيع فتحه وتنصيبه.
على سبيل المثال: يستخدم اﻷمر اﻵتي، لجعل الملف myscript.py قابلًا للتنفيذ (executable) :
chmod +x myscript.py
واﻵن لتشغيل الملف نكتب اﻷمر التالي:
./myscript.py
وسنتحدث لاحقًا عن بعض اﻷمور المتعلقة بالصلاحيات في chomd.
اﻷمر wget
يستخدم اﻷمر wget لتحميل ملف من اﻹنترنت عبر الطرفية، على سبيل المثال:
wget DOWNLOAD_LINK
حيث نستبدل DOWNLOAD_LINK برابط التحميل الخاص بالملف الذي نريد تحميله.
إن wget أداة قوية، وللحصول على مزيد من المعلومات حول كيفية استئناف التنزيلات وغيرها من الخيارات راجع الموقع الرسمي.
اﻷمر uname
يستخدم اﻷمر uname لمعرفة معلومات النظام (Information System).
– اﻷمر التالي، يعرض إصدار النواة المثبت واسم التوزيعة خاصتك وإصدارها وغيرها من المعلومات:
uname -a
– اﻷمر التالي، يستخدم لعرض اسم النواة فقط بدون إصدارها:
uname -s
– اﻷمر التالي، يعرض إصدار النواة المثبت:
uname -r
– اﻷمر التالي يعرض اسم التوزيعة وإصدارها وبعض المعلومات اﻷخرى:
uname -v
اﻷمر mkdir
يستخدم هذا اﻷمر ﻹنشاء دليل directory (أو مجلّد) جديد، وهو اختصار لـ make directory:
mkdir linuxcommands
*مع استبدال linuxcommands باسم المجلد الذي تريد.
اﻷمر rm
يستخدم هذا اﻷمر لحذف الملفات والمجلدات، فمثلًا ﻹزالة مجلّد مع المحتويات التي بداخله، نستخدم اﻷمر اﻵتي:
rm -r newdirectory
إنشاء اسم مستعار (اختصار) للأوامر
في بعض اﻷحيان نحتاج للقيام بعمل أسماء مستعارة أو اختصارات ﻷجل اﻷوامر التي نستعملها بكثرة عوضًا عن كتابة أشياء كثيرة وطويلة، فعلى سبيل المثال، لنفرض جدلًا أن اﻷمر الذي نريد اختصاره هو sudo apt-get install فإننا نقوم باﻵتي:
alias hello='sudo apt-get install'
حيث alias هو اﻷمر الذي نستخدمه لاختصار الأوامر.
hello هو الاسم المستعار البديل (أو الاختصار) لذلك اﻷمر الطويل sudo apt-get install، ويمكنك اختيار أيّ اسم آخر تريده.
وعليه فإننا يمكننا تثبيت برنامج بسرعة عن طريق الطرفية، ولنقل مثلًا أنه Gimp:
hello gimp
أعتقد أن الفكرة قد اتضحت، فقد تم التعويض عن hello بـ sudo apt-get install
ولكن المشكلة هي أن النظام لن يحفظ الاختصار وسوف ينساه بعد إغلاق اطرفية، فلذلك الحل هو إضافة الأمر إلى ملف .bashrc
أولا اكتب الأمر التالي
nano ~/.bashrc
في الملف النصي اكتب الأمر التالي:
alias hello='sudo apt-get install'
احفظ الملف النصي، وأخيرًا الصق الأمر:
source ~/.bashrc
اﻷمر echo
يستخدم هذا اﻷمر لعرض معلومات على الشاشة، وهو مفيد عندما تريد تمرير بعض النصوص إلى ملف ما، لاحظ اﻷمر التالي الذي يقوم بتمرير النصّ Test إلى الملف النصي file.txt:
echo 'Test' > file.txt
اﻷمر ps
يستخدم لعرض معلومات حول العمليات التي تحدث في نظامك، وذلك باستخدام اﻷمر التالي:
ps ax
إيجاد (أو البحث) عن العمليات الجارية
أنت تعرف مسبقًا الأمر ps الذي تناولناه في الجزء الثاني من السلسلة والذي يستخدم لعرض معلومات حول العمليات التي تحدث في نظامك:
ps aux
ولكنك بالمقابل لا تعرف شيئا حتى اللحظة عن الأمور الأكثر تقدما فيه، في الواقع إن الأمر أعلاه ليس مفيدًا عندما تريد البحث عن عملية محددة بعينها وليس سرد كل العمليات، وهنا يأتي دور الأمر grep ليندمج مع الأمر ps ويكسبه قوة إضافية:
ps aux | grep ipython
سوف تكون المخرجات على النحو التالي:
oltjano 8709 6.0 0.4 149684 18592 pts/0 Sl+ 13:53 0:00 /usr/bin/python /usr/local/bin/ipython
oltjano 8712 0.0 0.0 13600 944 pts/4 S+ 13:54 0:00 grep --color=auto ipython
وكما ترى، تم إعطائي معلومات بأن البرنامج ipython يعمل وهو متموضع في المسار /usr/local/bin مع الرقم التعريفي للعملية الجارية id وهو 8709
وهنالك حيلة لجعل الأمر يعطينا المعلومات المهمة ويتجاهل المعلومات غير المهمة، وذلك عبر وضع أول حرف بين قوسين [ ] وإحاطة اسم العملية بعلامتي تنصيص، وذلك باستخدام الأمر التالي:
ps aux | grep '[i]python'
سوف تكون المخرجات على النحو التالي:
oltjano 8709 6.0 0.4 149684 18592 pts/0 Sl+ 13:53 0:00 /usr/bin/python /usr/local/bin/ipython
oltjano 8709 6.0 0.4 149684 18592 pts/0 Sl+ 13:53 0:00 /usr/bin/python /usr/local/bin/ipython
oltjano 8712 0.0 0.0 13600 944 pts/4 S+ 13:54 0:00 grep --color=auto ipython
ليست هناك تعليقات:
إرسال تعليق