العودة إلى الدورة

52. إعادة توجيه المدخلات والأخطاء

أساسيات Linux: من الصفر إلى إتقان واجهة سطر الأوامر (CLI Hero)

إعادة توجيه المدخلات وفصل الأخطاء

إعادة توجيه المدخلات (<)

ترمز علامة < إلى إعادة توجيه STDIN من ملف بدلاً من لوحة المفاتيح. يُستخدم هذا عندما يتوقع أمر ما مدخلات تفاعلية ولكنك تريد تزويده ببيانات مكتوبة مسبقاً.

bash

يقرأ أمر 'sort' المدخلات من data.txt بدلاً من الطرفية

$ sort < data.txt

إعادة توجيه الأخطاء (2>) - Standard Error

نظراً لأن STDERR لديه واصف الملف 2، فإننا نستخدم 2> لإعادة توجيه رسائل الخطأ.

bash

حاول سرد دليل غير موجود وأعد توجيه رسالة الخطأ

$ ls -l non_existent 2> errors.log

تذهب STDOUT (القائمة الناجحة) إلى الشاشة،

لكن STDERR (رسالة الخطأ) تذهب إلى errors.log.

إعادة توجيه كل من STDOUT و STDERR

لإعادة توجيه كل من المخرجات الناجحة والأخطاء إلى نفس الملف، يمكنك استخدام الاختصار الخاص بـ Bash وهو &> أو إعادة توجيه FD 2 إلى FD 1.

bash

إعادة توجيه STDOUT و STDERR إلى all_output.log (Bash الحديث)

$ ls -l /etc/ /nonexistent_dir &> all_output.log