[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا

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

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا

اقرأ أيضًا في مدونتنا سلسلة من المنشورات حول نصوص bash

حيث

بينما تتعلم العمل باستخدام سطر أوامر Linux ، ستواجه العديد من المفاهيم المفيدة في التنقل. أحيانًا يتم الخلط بين بعضها ، مثل "Linux" و "Unix" أو "shell" و "Terminal". لنتحدث عن هذه المصطلحات وغيرها من المصطلحات المهمة.

يونكس هو نظام تشغيل شائع تم تطويره بواسطة Bell Labs في السبعينيات. تم إغلاق رمزها.

لينكس هو أشهر نظام تشغيل شبيه بـ Unix. يتم استخدامه الآن على العديد من الأجهزة ، بما في ذلك أجهزة الكمبيوتر.

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

قذيفة (shell) هو برنامج يسمح لك بإرسال أوامر مكتوبة بلغة خاصة إلى نظام التشغيل.

سحق لتقف على Bourne Again Shell. إنها لغة الصدفة الأكثر شيوعًا المستخدمة للتفاعل مع نظام التشغيل. أيضًا ، يعد Bash shell هو الإعداد الافتراضي في نظام macOS.

واجهة خط الأوامر (واجهة سطر الأوامر ، CLI) هي طريقة للتفاعل بين الشخص والكمبيوتر ، حيث يقوم المستخدم بإدخال أوامر من لوحة المفاتيح ، ويعرض الكمبيوتر ، الذي ينفذ هذه الأوامر ، الرسائل في شكل نصي للمستخدم. يتمثل الاستخدام الرئيسي لـ CLI في الحصول على معلومات محدثة حول كيانات معينة ، مثل الملفات ، والعمل مع الملفات. يجب تمييز واجهة سطر الأوامر عن واجهة المستخدم الرسومية (GUI) ، والتي تُستخدم بشكل أساسي مع الماوس. غالبًا ما يشار إلى واجهة سطر الأوامر ببساطة باسم سطر الأوامر.

سيناريو (البرنامج النصي) هو برنامج صغير يحتوي على سلسلة من أوامر shell. يتم كتابة البرامج النصية في الملفات ، ويمكن استخدامها بشكل متكرر. عند كتابة البرامج النصية ، يمكنك استخدام المتغيرات والشرطية والحلقات والوظائف والميزات الأخرى.

الآن بعد أن غطينا المصطلحات المهمة ، أود أن أشير إلى أنني سأستخدم المصطلحات "Bash" و "shell" و "سطر الأوامر" بالتبادل هنا ، بالإضافة إلى المصطلحات "directory" و "folder".

معيار تيارات، والذي سنستخدمه هنا هو الإدخال القياسي (الإدخال القياسي ، stdin) ، الإخراج القياسي (الإخراج القياسي ، stdout) وإخراج الخطأ القياسي (خطأ معياري ، stderr).

إذا كانت الأوامر في الأمثلة التي سيتم تقديمها أدناه ، فستجد شيئًا مثل my_whatever - هذا يعني أنه يجب استبدال هذه القطعة بشيء خاص بك. على سبيل المثال ، اسم الملف.

الآن ، قبل الشروع في تحليل الأوامر التي تم تخصيص هذه المادة لها ، دعنا نلقي نظرة على قائمتهم وأوصافهم الموجزة.

21 أوامر باش

▍ الحصول على المعلومات

  • man: يعرض دليل المستخدم (المساعدة) للأمر.
  • pwd: يعرض معلومات حول دليل العمل.
  • ls: يعرض محتويات الدليل.
  • ps: يتيح لك عرض معلومات حول العمليات الجارية.

▍ معالجة نظام الملفات

  • cd: تغيير دليل العمل.
  • touch: إنشاء ملف.
  • mkdir: إنشاء دليل.
  • cp: نسخ ملف.
  • mv: نقل أو حذف ملف.
  • ln: إنشاء ارتباط.

▍ I / O إعادة التوجيه وخطوط الأنابيب

  • <: إعادة توجيه stdin.
  • >: إعادة توجيه stdout.
  • |: ينقل إخراج أمر واحد إلى إدخال أمر آخر.

▍ قراءة الملفات

  • head: قراءة بداية الملف.
  • tail: قراءة نهاية الملف.
  • cat: اقرأ ملفًا واطبع محتوياته على الشاشة ، أو سلسل الملفات.

▍ حذف الملفات ووقف العمليات

  • rm: حذف ملف.
  • kill: أوقف العملية.

▍ البحث

  • grep: ابحث عن معلومات.
  • ag: أمر متقدم للبحث.

▍ أرشفة

  • tar: إنشاء المحفوظات والعمل معهم.

دعنا نتحدث عن هذه الأوامر بمزيد من التفصيل.

تفاصيل الفريق

بادئ ذي بدء ، دعنا نتعامل مع الأوامر ، التي تصدر نتائجها في النموذج stdout. عادة ما تظهر هذه النتائج في نافذة طرفية.

▍ الحصول على المعلومات

man command_name: اعرض دليل الأوامر ، أي معلومات المساعدة.

pwd: عرض المسار إلى دليل العمل الحالي. أثناء العمل باستخدام سطر الأوامر ، غالبًا ما يحتاج المستخدم إلى معرفة مكان وجوده بالضبط في النظام.

ls: عرض محتويات الدليل. يستخدم هذا الأمر أيضًا في كثير من الأحيان.

ls -a: أظهر الملفات المخفية. العلم مطبق هنا -a الأوامر ls. يساعد استخدام العلامات في تخصيص سلوك الأوامر.

ls -l: عرض معلومات مفصلة حول الملفات.

لاحظ أنه يمكن دمج العلامات. على سبيل المثال - مثل هذا: ls -al.

ps: اعرض العمليات الجارية.

ps -e: عرض معلومات حول جميع العمليات الجارية ، وليس فقط تلك المرتبطة بهيكل المستخدم الحالي. غالبًا ما يستخدم هذا الأمر في هذا النموذج.

▍ معالجة نظام الملفات

cd my_directory: قم بتغيير دليل العمل إلى my_directory. للانتقال إلى مستوى واحد لأعلى في شجرة الدليل ، استخدم my_directory مسار نسبي ../.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
الأمر cd

touch my_file: إنشاء ملف my_file على طول المسار المحدد.

mkdir my_directory: إنشاء مجلد my_directory على طول المسار المحدد.

mv my_file target_directory: انقل الملف my_file إلى مجلد target_directory. عند تحديد الدليل الهدف ، تحتاج إلى استخدام المسار المطلق إليه (وليس بناء مثل ../).

فريق mvيمكن استخدامها أيضًا لإعادة تسمية الملفات أو المجلدات. على سبيل المثال ، قد يبدو كالتالي:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: إنشاء نسخة من الملف my_source_file ووضعها في مجلد target_directory.

ln -s my_source_file my_target_file: إنشاء ارتباط رمزي my_target_file لكل ملف my_source_file. إذا قمت بتغيير الارتباط ، فسيتغير الملف الأصلي أيضًا.

إذا كان الملف my_source_file سيتم حذفه ، إذن my_target_file سيبقى. علَم -s الأوامر ln يسمح لك بإنشاء روابط للأدلة.

الآن دعنا نتحدث عن إعادة توجيه I / O وخطوط الأنابيب.

▍ I / O إعادة التوجيه وخطوط الأنابيب

my_command < my_file: يستبدل واصف ملف الإدخال القياسي (stdin) لكل ملف my_file. يمكن أن يكون هذا مفيدًا إذا كان الأمر ينتظر بعض المدخلات من لوحة المفاتيح ، وهذه البيانات محفوظة بالفعل في ملف.

my_command > my_file: يعيد توجيه نتائج الأمر ، أي ما يمكن أن يدخل في العادة stdout وإخراجها إلى الشاشة ، إلى ملف my_file. إذا كان الملف my_file غير موجود - تم إنشاؤه. إذا كان الملف موجودًا ، فسيتم الكتابة فوقه.

على سبيل المثال ، بعد تنفيذ الأمر ls > my_folder_contents.txt سيتم إنشاء ملف نصي يحتوي على قائمة بما هو موجود في دليل العمل الحالي.

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

الآن دعنا نلقي نظرة على معالجة خط أنابيب البيانات.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
يتم إدخال إخراج أمر واحد في إدخال أمر آخر. إنه يشبه توصيل أنبوب إلى آخر

first_command | second_command: رمز الناقل ، |، لإرسال إخراج أمر واحد إلى أمر آخر. ما يرسله الأمر الموجود على الجانب الأيسر من الهيكل الموصوف stdout، سقط في stdin الأمر على يمين رمز خط الأنابيب.

في نظام Linux ، يمكن توجيه البيانات باستخدام أي أمر جيد التنسيق. غالبًا ما يقال أن كل شيء في Linux هو خط أنابيب.

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

first_command | second_command | third_command

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
يمكن مقارنة خط أنابيب من عدة أوامر بخط أنابيب

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

الآن دعنا نتحدث عن قراءة البيانات من الملفات وعرضها على الشاشة.

▍ قراءة الملفات

head my_file: يقرأ الأسطر من بداية الملف ويطبعها على الشاشة. لا يمكنك قراءة محتويات الملفات فحسب ، بل يمكنك أيضًا قراءة محتوى الأوامر stdinباستخدام هذا الأمر كجزء من خط الأنابيب.

tail my_file: لقراءة الأسطر من نهاية الملف. يمكن أيضًا استخدام هذا الأمر في خط الأنابيب.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
الرأس (الرأس) في المقدمة ، والذيل (الذيل) من الخلف

إذا كنت تعمل مع البيانات باستخدام مكتبة الباندا ، ثم الأوامر head и tail يجب أن تكون مألوفة لك. إذا لم يكن الأمر كذلك ، ألق نظرة على الشكل أعلاه ، وسوف تتذكره بسهولة.

فكر في طرق أخرى لقراءة الملفات ، دعنا نتحدث عن الأمر cat.

فريق cat إما أن يقوم بطباعة محتويات ملف على الشاشة ، أو يربط عدة ملفات. يعتمد ذلك على عدد الملفات التي يتم تمريرها إلى هذا الأمر عند استدعائها.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
أمر القط

cat my_one_file.txt: عندما يتم تمرير ملف واحد لهذا الأمر ، فإنه يخرجه إلى stdout.

إذا أعطيته ملفين أو أكثر من الملفات ، فإنه يتصرف بشكل مختلف.

cat my_file1.txt my_file2.txt: بعد تلقي العديد من الملفات كمدخلات ، يربط هذا الأمر محتوياتها ويعرض ما حدث فيها stdout.

إذا كانت نتيجة تسلسل الملف بحاجة إلى أن يتم حفظها كملف جديد ، يمكنك استخدام عامل التشغيل >:

cat my_file1.txt my_file2.txt > my_new_file.txt

الآن دعنا نتحدث عن كيفية حذف الملفات وإيقاف العمليات.

▍ حذف الملفات ووقف العمليات

rm my_file: حذف ملف my_file.

rm -r my_folder: يحذف مجلدًا my_folder وجميع الملفات والمجلدات التي يحتوي عليها. علَم -r يشير إلى أن الأمر سيعمل في الوضع العودي.

لمنع النظام من طلب التأكيد في كل مرة يتم فيها حذف ملف أو مجلد ، استخدم العلامة -f.

kill 012345: يوقف عملية التشغيل المحددة ، ويمنحها الوقت لإغلاقها بأمان.

kill -9 012345: إنهاء عملية التشغيل المحددة بالقوة. مشاهدة ملف Flag -s SIGKILL يعني نفس العلم -9.

▍ البحث

يمكنك استخدام أوامر مختلفة للبحث عن البيانات. بخاصة - grep, ag и ack. لنبدأ التعرف على هذه الأوامر مع grep. هذا أمر موثوق به تم اختباره بمرور الوقت ، ومع ذلك ، فهو أبطأ من الآخرين وغير مناسب للاستخدام كما هو.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
الأمر grep

grep my_regex my_file: عمليات البحث my_regex в my_file. إذا تم العثور على تطابق ، يتم إرجاع السلسلة بأكملها ، لكل مباراة. تقصير my_regex يتم التعامل معها كتعبير عادي.

grep -i my_regex my_file: يتم إجراء البحث بطريقة غير حساسة لحالة الأحرف.

grep -v my_regex my_file: إرجاع كافة الصفوف التي لا تحتوي على my_regex. علَم -v يعني الانعكاس ، إنه يشبه المشغل NOT، توجد في العديد من لغات البرمجة.

grep -c my_regex my_file: إرجاع معلومات حول عدد التطابقات للنمط الذي تم البحث عنه والموجود في الملف.

grep -R my_regex my_folder: لإجراء بحث متكرر في جميع الملفات الموجودة في المجلد المحدد وفي المجلدات المتداخلة فيه.

الآن دعنا نتحدث عن الفريق ag. جاءت لاحقًا grep، إنه أسرع ، وهو أكثر ملاءمة للعمل معه.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
أمر ag

ag my_regex my_file: إرجاع معلومات حول أرقام الأسطر ، والأسطر نفسها ، حيث تم العثور على المطابقات مع my_regex.

ag -i my_regex my_file: يتم إجراء البحث بطريقة غير حساسة لحالة الأحرف.

فريق ag معالجة الملف تلقائيًا .gitignore ويستثني من الإخراج ما هو موجود في المجلدات أو الملفات المدرجة في ذلك الملف. إنه مريح للغاية.

ag my_regex my_file -- skip-vcs-ignores: محتويات ملفات التحكم في الإصدار التلقائي (مثل .gitignore) في البحث.

بالإضافة إلى ذلك ، من أجل إخبار الفريق ag على مسارات الملفات التي تريد استبعادها من البحث ، يمكنك إنشاء ملف .agignore.

في بداية هذا القسم ذكرنا الأمر ack. فرق ack и ag متشابهة جدًا ، يمكننا القول أنها قابلة للتبادل بنسبة 99٪. ومع ذلك ، فإن الفريق ag يعمل بشكل أسرع ، ولهذا وصفته.

الآن دعنا نتحدث عن العمل مع المحفوظات.

▍ أرشفة

tar my_source_directory: لربط الملفات من مجلد my_source_directory في ملف tarball واحد. هذه الملفات مفيدة لنقل مجموعات كبيرة من الملفات إلى شخص ما.

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا
أمر القطران

ملفات tarball التي تم إنشاؤها بواسطة هذا الأمر هي ملفات بالملحق .tar (أرشيف الشريط). تشير حقيقة إخفاء كلمة "شريط" (شريط) في اسم الأمر وفي امتداد أسماء الملفات التي ينشئها إلى مدة وجود هذا الأمر.

tar -cf my_file.tar my_source_directory: ينشئ ملف tarball اسمه my_file.tar مع محتويات المجلد my_source_directory. علَم -c لتقف على "إنشاء" (إنشاء) ، والعلم -f كـ "ملف" (ملف).

لاستخراج الملفات من .tar-ملف ، استخدم الأمر tar مع الأعلام -x ("استخراج" ، استخراج) و -f ("ملف" ، ملف).

tar -xf my_file.tar: لاستخراج الملفات من my_file.tar إلى دليل العمل الحالي.

الآن دعنا نتحدث عن كيفية الضغط وفك الضغط .tar-الملفات.

tar -cfz my_file.tar.gz my_source_directory: هنا باستخدام العلم -z ("zip" ، خوارزمية الضغط) تشير إلى أنه يجب استخدام الخوارزمية لضغط الملفات gzip (GNUzip). يوفر ضغط الملفات مساحة على القرص عند تخزين هذه الملفات. إذا تم التخطيط لنقل الملفات ، على سبيل المثال ، إلى مستخدمين آخرين ، فإن هذا يساهم في سرعة تنزيل هذه الملفات.

قم بفك ضغط الملف .tar.gz يمكنك إضافة علم -z لأمر استخراج المحتوى .tar-الملفات التي ناقشناها أعلاه. تبدو هكذا:

tar -xfz my_file.tar.gz
وتجدر الإشارة إلى أن الفريق tar هناك العديد من العلامات المفيدة.

الأسماء المستعارة باش

تم تصميم الأسماء المستعارة لـ Bash (وتسمى أيضًا الأسماء المستعارة أو الاختصارات) لإنشاء أسماء مختصرة للأوامر أو تسلسلاتها ، والتي يؤدي استخدامها بدلاً من الأوامر العادية إلى تسريع العمل. إذا كان لديك اسم مستعار buالذي يخفي الأمر python setup.py sdist bdist_wheel، ثم استدعاء هذا الأمر ، يكفي استخدام هذا الاسم المستعار.

لإنشاء مثل هذا الاسم المستعار ، ما عليك سوى إضافة الأمر التالي إلى الملف ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

إذا كان نظامك لا يحتوي على الملف ~/.bash_profile، ثم يمكنك إنشائه بنفسك باستخدام الأمر touch. بعد إنشاء الاسم المستعار ، أعد تشغيل المحطة ، وبعد ذلك يمكنك استخدام هذا الاسم المستعار. في هذه الحالة ، يحل الإدخال المكون من حرفين محل الإدخال لأكثر من ثلاثين حرفًا من الأمر ، والذي يهدف إلى جمعية حزم بايثون.

В ~/.bash_profile يمكنك إضافة أسماء مستعارة لأي أوامر مستخدمة بشكل متكرر.

النتائج

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

القراء الأعزاء! ما هي الأوامر المفيدة للمبتدئين التي قد تضيفها إلى تلك التي تمت مناقشتها في هذه المقالة؟

اقرأ أيضًا في مدونتنا سلسلة من المنشورات حول نصوص bash

[إشارة مرجعية] Bash للمبتدئين: 21 أمرًا مفيدًا

المصدر: www.habr.com

إضافة تعليق