سواءً كنت مستخدما مبتدئًا أو مخضرمًا، نقدم إليك 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
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.