اذهب إلى المحتوى

أهم 20 أمرا في نظام التشغيل لينكس لجميع المستخدمين


زينب الزعيم

سواءً كنت مستخدما مبتدئًا أو مخضرمًا، نقدم إليك 20 أمرًا سيسهل عملك على نظام التشغيل لينوكس.

قد يعد البعض طباعة الأوامر في طرفية Terminal سوداء أمرًا عفا عليه الزمن. لكن يختلف الحال بالنسبة للعديد من مستخدمي الحاسوب؛ إذ إن ذلك من أوضح الأساليب لتنفيذ أية مهمة يمكن أن يؤديها الحاسوب وأكثرها فعاليةً وأسهلها منالًا. في الآونة الأخيرة أصبحت طرفية الأوامر تناسب جميع المستخدمين ولم تعد تقتصر على مستخدمي نظامي لينوكس و BSD، وذلك بفضل المشاريع التي أتاحت أوامر الأنظمة مفتوحة المصدر إلى الأنظمة المحتكرَة مثل ماك أو إس macOS وويندوز. قد تدهشك معرفة وجود آلاف الأوامر المنصَّبة على حاسوب عادي نظام تشغيله يتوافق مع معايير POSIX، لكن بالطبع ليس الغرض من عدد لا بأس به من هذه الأوامر أن تستخدَم، على الأقل مباشرةً أو دوريًا. عمومًا إن بعض الأوامر مفيدة أكثر من غيرها، وحتى عدد أقل منها لا يمكن الاستغناء عنه عند استخدام الطرفية بأسلوب فعال.

سنستعرض أبرز 20 أمرًا يلجأ مستخدمو الطرفية إلى استخدامه:

أمر cd

عندما تريد الانتقال من مجلد إلى آخر دون الاستعانة بالطرفية يكفي أن تنقر على أيقونته، أما في الطرفية نستخدم الأمر cd. إن cd اختصار لعبارة تغيير المجلد change directory، وهو وسيلة تنقلك بين مجلدات نظام التشغيل لينوكس، وهو أسرع سبل الانتقال من مكان إلى آخر وأقصرها.

فمثلًا عندما تريد الانتقال من مجلدك الرئيسي home directory (حيث تحتفظ بجميع ملفاتك) على حاسوبك المكتبي إلى ملف اسمه presentations، عليك أن تفتح أولًا مجلد Documents، ثم تفتح مجلدًا اسمه work، ثم مجلد projects، وبعدها مجلد conference، ثم تفتح المجلد المنشود presentations الذي يحتوي على عرض الشرائح المبهر الذي صممته على برنامج من برامج ليبر أوفيس LibreOffice. لتنتقل إلى المجلد المطلوب نقرت الكثير من النقرات المزدوجة، وربما تجولت كثيرًا ضمن الشاشة حسب مكان ظهور النوافذ الجديدة التي تفتحها، وكبدت عقلك عناء تتبع مسار طويل. يتحايل العديد من المستخدمين على هذه المهمة البسيطة ظاهريًا بأن يحفظوا جميع ملفاتهم على سطح المكتب في أجهزتهم.

أما مستخدمي الطرفية يتجنبون هذه المشكلة بطباعة السطر التالي:

$ cd ~/Documents/work/projects/conference/presentations

حتى أن مستخدمي الطرفية المخضرمين لا يتعبوا أنفسهم بطباعة كل هذا السطر، بل يستخدمون مفتاح Tab على لوحة مفاتيحهم ليكمل الكلمات تلقائيًا نيابةً عنهم. وفي بعض الأحيان ليس عليك أن تلجأ إلى الإكمال التلقائي حتى، إذ يمكنك استخدام محارف البدل wildcards عوضًا عن ذلك:

$ cd ~/Doc*/work/*/conf*/p*

أمر pwd

سنعبر عن هذا الأمر بكلمات بوكارو بانزاي Buckaroo Banzai: "أينما ذهبت، ها أنت ذا".

تستخدم أمر pwd عندما تريد أن تعرف في أي مجلد أنت بالتحديد. إن أمر pwd اختصار لعبارة اطبع المجلد الحالي print working directory وهذه هي مهمته. عند إضافة الوسيط physical-- (أو p- فقط في بعض التطبيقات) إلى الأمر يطبَع موقعك إضافةً إلى جميع الروابط اللينة التي عالجها.

$ pwd
/home/tux/presentation

$ pwd --physical
/home/tux/Documents/work/projects/conference/presentations

لمزيد من التفاصيل حول الأمر pwd يمكنك الاطلاع على مقال كيف تستخدم أوامر cd و pwd و ls لاستكشاف نظام الملفات على نظام لينكس.

أمر sed

إن المحرر التدفقي stream editor الذي يعرف باسم sed هو أمر بحث واستبدال عام فعال، كما أنه محرر نصي معتمَد.

إذا رغبت في التعمق في دراسة هذا الأمر اطلع على مقال استخدامات متقدمة للمحرِّر Sed في نظام لينكس ومقال أساسيات استخدام المحرر التدفقي Sed لتعديل النصوص في نظام لينكس.

أمر grep

إن استخدام أمر grep شائع جدًا. هو عنصر أساسي عند تحليل النصوص في shell الخاصة بك، سواءً كنت تبحث في ملفات السجل log files أو تحلل خرج بعض الأوامر الأخرى. إنه وسيلة المستخدم المنهمك في التركيز على معلومات محددة. بالنظر إلى كمية البيانات الضخمة في عالم الحوسبة، لا عجب أن يكون هذا الأمر رائجًا.

في حال رغبت بالتوسُّع في دراسة هذا الأمر يمكنك الاطلاع على مقال ما الفروق بين الأوامر grep وegrep fgrep

أمر file

استخدم الأمر file عندما تحتاج إلى معرفة نوع البيانات ضمن ملف ما:

$ file example.foo
example.foo: RIFF (little-endian) data, Web/P image [...]

$ file example.bar
example.bar: ELF 64-bit LSB executable, x86-64 [...]

لكن الأمر file ليس أداةً سحريةً طبعًا، فهو يعتمد في تحديد نتائجه على طريقة تعريف الملف لنفسه، علمًا أن الملفات قد تكون خاطئةً أو تالفةً أو مخفية. إذا أردت الحصول على نتائج أدق استخدم أداة hexdump، أما عند الاستخدام العادي فإن أمرfile يفي بالغرض.

أمر awk

إن Awk ليس مجرد أمر، بل هو حرفيًا لغة برمجية، إذا تعلمتها ستتمكن من كتابة نصوص برمجية scripts لم تكن لتتخيل أنك قادر على كتابتها.

لتعلمها يمكنك زيارة مقالة كيفية استخدام لغة AWK للتعامل مع النصوص في لينكس والاطلاع على المحتوى الوارد حول هذا الأمر.

أمر curl

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

أمر ps

تتولى نواة نظام التشغيل لينوكس غالبًا إدارة موارد نظامك، لكن عندما تفضّل أو تضطر إلى معالجة أو تعديل شيء ما يدويًا يمكنك استخدام أمر ps.

إذا رغبت في التعمق في دراسة هذا الأمر اطلع على مقالة إدارة العمليات (Process) في لينكس باستخدام الطرفية ومقالة مبادئ إدارة العمليات (Processes) على RedHat Enterprise Linux.

أمر cat

إن أمر cat اختصار لكلمة ضمّ concatenate، كان يفيد سابقًا في ضم الملفات التي جزّئَت (باستخدام أمر split) إلى عدة ملفات أصغر حجمًا بسبب محدودية الحجم. أما حاليًا صار يستخدم غالبًا لعرض محتويات الملف النصي على الطرفية للاطلاع السريع، أو يمكنك استخدام الأوامر head أو tail أوmore أو less لنفس الغرض.

بالرغم من الانتقادات التي طالت مهمة الأمر cat الأساسية، ووجود عدة أوامر أخرى تؤدي مهمته الثانوية، إلا أنه لا يزال أداةً مفيدةً، فمثلًا قد يكون بديلًا لأمر النسخ (cp):

$ cat myfile.ogg > /backups/myfile.ogg

كما يكشف عن المحارف المضرة المخفية في الملفات، فمثلًا محرف Tab الذي يتلف الملفات المكتوبة بلغة YAML يرمّز بـ I^ عند إضافة خيار show-tabs-- إلى الأمر وفق ما يلي:

$ cat --show-tabs my.yaml

---

- hosts: all
  tasks:
  - name: Make sure the current version of 'sysstat' is installed.
    dnf:
     name:
^I- sysstat
^I- httpd
^I- mariadb-server
     state: latest

أما عند إضافة الخيار show-nonprinting-- تظهر الأحرف غير المطبعية، وعند إضافة خيار show-ends-- تحدد نهايات الأسطر، وتحدد أرقام الأسطر بإضافة الخيار number--، وغيرها الكثير من الوظائف الأخرى.

أمر find

يساعدك الأمر find في البحث عن الملفات، وتمكنك خياراته المتعددة من تطبيق مرشحات ومعاملات بحث متنوعة خلال عملية البحث.

وعندما تطلع على مرونة هذا الأمر لن تتساءل عن سبب غياب أهم الأوامر ls عن هذه القائمة، فإن الأمر find لا يمكنه إظهار الملفات في قائمة فحسب:

$ find .
./bar.txt
./baz.xml
./foo.txt
[...]

بل يستطيع أيضًا أن يزودنا بقوائم مفصَّلة:

$ find . -ls
3014803  464 -rw-rw-r--   1 tux users  473385 Jul 26 07:25 ./foo.txt
3014837  900 -rwxrwxr-x   1 tux users  918217 Nov  6  2019 ./baz.xml
3026891  452 -rw-rw-r--   1 tux users  461354 Aug 10 13:41 ./foo.txt
[...]

هذه تفاصيل ثانوية لكنها حيلة بارعة لا ضير في الاطلاع عليها.

لا يزال أمامك الكثير لتتعلمه عن هذا الأمر، تجده في مقالة كيف تستخدِم أمرَي find و locate للبحث عن الملفّات على Linux.

أمر tar

يلقي الناس أحيانًا الدعابات حول أوامر نظام لينوكس مستشهدين بصياغة الأمر tar في نظام التشغيل BSD. لكن على الرغم من سمعته قد يصبح هذا الأمر بديهيًا جدًا.

إذا رغبت بتعلمه يمكنك الاطلاع على مقال مقدمة إلى أمر tar في لينكس.

أمر more أو less أو most

تشبه أوامر الاستدعاء هذه الأمر cat، والفرق بينها أنها توقف خرجها مؤقتًا عند نهاية شاشتك إلى أن تنتقل للأسفل لمشاهدة المزيد. يسهل تطبيقها لكن يوجد فروق دقيقة بين كل منها عند تطبيقها؛ هل تنتقل للأعلى أو الأسفل باستخدام الأسهم في لوحة مفاتيحك أو باستخدام مفتاح المسافة؟ هل عليك الخروج يدويًا بعد انتهاء عرض الملف أم أن أمر الاستدعاء يخرج في نهاية الملف الذي يعرضه؟ ما هو أسلوبك المفضل في البحث؟ اختر أمر الاستدعاء المفضل لديك وضعه في النص البرمجي !bashrc..

أمر ssh و scp

لا يساعدك برنامج OpenSSH في تأمين الاتصالات مع الأنظمة عن بعد فحسب، بل يفعّل أوامر أخرى أيضًا. فمثلًا إن مجلد ‎.ssh هو من يتيح للعديد من المستخدمين التعامل بسلاسة مع مستودعات Git، ونشر تحديثات موقع، أو تسجيل الدخول إلى لوحة التحكم بسحابتهم cloud.

لمزيد من التفاصيل حول الأمر ssh يمكنك الاطلاع على مقال أساسيات وخيارات الاتصال بخادوم عن بعد باستخدام SSH، أما مقال كيف تستخدم الأمر scp لتأمين نسخ الملفات بين الخواديم ستثري معلوماتك حول الأمر scp.

أمر mv

ينفذ هذا الأمر مهمتين: ينقل الملفات ويعيد تسميتها. يتضمن العديد من الخيارات الوقائية مثل خياري interactive-- و no-clobber-- لتجنب الكتابة على ملف موجود، ويضمن الأمر backup-- حفظ البيانات وعدم حذفها إلى أن يتأكد من انتقالها إلى موقعها الجديد، ويضمن الأمر update-- ألا تستبدل نسخة قديمة من الملف ملفًا أحدث منه.

يمكنك زيارة مقال أساسيات إدارة الملفّات والتنقّل في لينكس لمزيد من التفاصيل.

أمر sudo

عندما يكون لديك مستخدم وحيد معروف اسمه user name ولديه صلاحيات كاملة على النظام، سرعان ما يصبح هذا المستخدم هدفًا للهجمات. يزيل الأمر sudo بأناقة معلومات مهمة عن نظام التشغيل من متناول العامة وذلك بإلغاء الحاجة إلى مستخدم جذر root بحد ذاته. ولا تقتصر وظيفته على ذلك فقط، فهو يتيح لك إدارة الصلاحيات بسهولة لكل أمر وللمستخدمين والمجموعات، كما يتيح لك تفعيل تنفيذ بعض الأوامر المختارة دون إدخال كلمة مرور، وتسجيل جلسات المستخدم، والتأكد من الأوامر بالتحقق من مجموعة قوانين، والكثير غير ذلك.

إذا رغبت في التعمق في دراسة هذا الأمر اطلع على مقال ما قد لا تعرفه عن sudo أو مقال استخدام Sudo لتفويض الصلاحيات في Linux.

أمر alias

يتيح لك هذا الأمر تحويل الأوامر الطويلة إلى اختصارات يسهل حفظها:

$ alias ls='ls --classify --almost-all --ignore-backups --color'

يمكنك زيارة مقال مقدّمة إلى اختصارات الطرفية (Aliases) ودوالها للحصول على مزيد من التفاصيل حول هذا الأمر.

أمر clear

تزدحم طرفيك أحيانًا، ولا يضاهي شيء شاشةً جديدةً فارغةً تحصل عليها بعد طباعة clear (أو الضغط على ctrl+l في بعض shells).

أمر setfacl

عادةً يحدد الأمرين chown و chmod أذونات ملف POSIX، لكن مع زيادة تعقيد الأنظمة نحتاج إلى أمر يمنحنا مرونةً أكبر. يتيح لك الأمر setfacl إنشاء قائمة التحكم بالوصول Access Control List لتمنح الأذونات permissions للمستخدمين العشوائيين، وتضبط الأذونات الافتراضية للمجلدات وما تحتويه.

أمر netcat

هو أمر لا يحتاجه جميع المستخدمين، لكن القلة التي تستخدمه لا تستطيع الاستغناء عنه إطلاقًا. إن أمر nc هو أداة اتصال شبكية متعددة الاستخدامات.

يمكنه الاتصال بمنفذ معين تمامًا مثل أمر telnet:

$ nc -u 192.168.0.12 80

يمكنه تنفيذ أمر ping على منفذ معين، تمامًا مثل أمر ping :

$ nc -zvn 192.168.0.12 25

يمكنه تقصي المنافذ المفتوحة تمامًا مثل أمر nmap :

$ nc -zv 192.168.0.12 25-80

وهذا نموذج بسيط عن وظائفه.

أوامرك أنت

إن إحدى أهداف تصميم طرفية نظام التشغيل لينوكس هي ابتكار حلول للمشكلات، فعندما تتعلم الأوامر أنت تتعلم أيضًا بناء كتل يمكنك استخدامها لإنشاء أوامرك الخاصة. إن العديد من الأوامر المحفوظة في سجل الصدفة الخاص بي shell history هي نصوص برمجية على الصدفة shell كتبتها بنفسي، ليكون مسار عملي متوافقًا مع أسلوبي في العمل. فيمكن أن تكون الأوامر الرئيسية في shell لديك هي ذاتها التي صممتها أنت لتحقق الكفاءة والراحة خلال عملك. لذا امض بعض الوقت في تعلم بعض الأوامر الرائعة ثم ابنِ أوامرك الخاصة، وعندما تجد أوامر فعالةً اجعلها مفتوحة المصدر لتشارك أفكارك مع الجميع.

ترجمة -وبتصرف- للمقال ‎20 essential Linux commands for every user لصاحبه Seth Kenlon

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...