المواد ، التي ننشر ترجمتها اليوم ، مخصصة لأولئك الذين يريدون إتقان سطر أوامر Linux. يمكن أن توفر القدرة على استخدام هذه الأداة بشكل فعال الكثير من الوقت. على وجه الخصوص ، سنتحدث عن Bash shell و 21 أمرًا مفيدًا هنا. سنتحدث أيضًا عن كيفية استخدام أعلام الأوامر والأسماء المستعارة لـ Bash لتسريع كتابة التعليمات الطويلة.
→
حيث
بينما تتعلم العمل باستخدام سطر أوامر Linux ، ستواجه العديد من المفاهيم المفيدة في التنقل. أحيانًا يتم الخلط بين بعضها ، مثل "Linux" و "Unix" أو "shell" و "Terminal". لنتحدث عن هذه المصطلحات وغيرها من المصطلحات المهمة.
الآن بعد أن غطينا المصطلحات المهمة ، أود أن أشير إلى أنني سأستخدم المصطلحات "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
مسار نسبي ../
.
الأمر 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_directorymy_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
سيتم إنشاء ملف نصي يحتوي على قائمة بما هو موجود في دليل العمل الحالي.
إذا بدلا من الرمز >
استخدم البناء >>
، بعد ذلك ، بشرط وجود الملف الذي تمت إعادة توجيه مخرجات الأمر إليه ، فلن يتم الكتابة فوق هذا الملف. ستتم إضافة البيانات إلى نهاية هذا الملف.
الآن دعنا نلقي نظرة على معالجة خط أنابيب البيانات.
يتم إدخال إخراج أمر واحد في إدخال أمر آخر. إنه يشبه توصيل أنبوب إلى آخر
first_command | second_command
: رمز الناقل ، |
، لإرسال إخراج أمر واحد إلى أمر آخر. ما يرسله الأمر الموجود على الجانب الأيسر من الهيكل الموصوف stdout
، سقط في stdin
الأمر على يمين رمز خط الأنابيب.
في نظام Linux ، يمكن توجيه البيانات باستخدام أي أمر جيد التنسيق. غالبًا ما يقال أن كل شيء في Linux هو خط أنابيب.
يمكنك تسلسل أوامر متعددة باستخدام رمز خط الأنابيب. تبدو هكذا:
first_command | second_command | third_command
يمكن مقارنة خط أنابيب من عدة أوامر بخط أنابيب
لاحظ أنه عند الأمر على يسار الرمز |
، مخرجات شيء ل stdout
، ما تنتجه متاحًا على الفور كملف stdin
الفريق الثاني. وهذا يعني أننا ، باستخدام خط الأنابيب ، نتعامل مع تنفيذ موازٍ للأوامر. في بعض الأحيان يمكن أن يؤدي هذا إلى نتائج غير متوقعة. يمكن قراءة التفاصيل حول هذا
الآن دعنا نتحدث عن قراءة البيانات من الملفات وعرضها على الشاشة.
▍ قراءة الملفات
head my_file
: يقرأ الأسطر من بداية الملف ويطبعها على الشاشة. لا يمكنك قراءة محتويات الملفات فحسب ، بل يمكنك أيضًا قراءة محتوى الأوامر stdin
باستخدام هذا الأمر كجزء من خط الأنابيب.
tail my_file
: لقراءة الأسطر من نهاية الملف. يمكن أيضًا استخدام هذا الأمر في خط الأنابيب.
الرأس (الرأس) في المقدمة ، والذيل (الذيل) من الخلف
إذا كنت تعمل مع البيانات باستخدام مكتبة الباندا ، ثم الأوامر head
и tail
يجب أن تكون مألوفة لك. إذا لم يكن الأمر كذلك ، ألق نظرة على الشكل أعلاه ، وسوف تتذكره بسهولة.
فكر في طرق أخرى لقراءة الملفات ، دعنا نتحدث عن الأمر cat
.
فريق cat
إما أن يقوم بطباعة محتويات ملف على الشاشة ، أو يربط عدة ملفات. يعتمد ذلك على عدد الملفات التي يتم تمريرها إلى هذا الأمر عند استدعائها.
أمر القط
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
. هذا أمر موثوق به تم اختباره بمرور الوقت ، ومع ذلك ، فهو أبطأ من الآخرين وغير مناسب للاستخدام كما هو.
الأمر 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
، إنه أسرع ، وهو أكثر ملاءمة للعمل معه.
أمر 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 واحد. هذه الملفات مفيدة لنقل مجموعات كبيرة من الملفات إلى شخص ما.
أمر القطران
ملفات 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 وتحدثنا عن إنشاء أسماء مستعارة للأوامر. إذا كنت مهتمًا بهذا الموضوع -
القراء الأعزاء! ما هي الأوامر المفيدة للمبتدئين التي قد تضيفها إلى تلك التي تمت مناقشتها في هذه المقالة؟
→
المصدر: www.habr.com