الخطأ القياسي
جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 41 من 82.
تدفق البيانات الثالث والأخير هو الخطأ القياسي (standard error)، ويُختصر بـ stderr. هذا التدفق مخصص لرسائل الخطأ والتحذيرات، مما يبقيها منفصلة عن المخرجات العادية.
عندما يفشل أمر ما، تنتقل رسالة الخطأ إلى الخطأ القياسي (standard error)، وليس المخرج القياسي (standard output):
ls nonexistent_folderرسالة الخطأ التي تراها تأتي عبر stderr. هذا الفصل مهم لأنه يمكنك إعادة توجيه الأخطاء بشكل مستقل عن المخرجات العادية.
لإعادة توجيه الخطأ القياسي (standard error)، استخدم 2> بدلاً من >:
ls nonexistent_folder 2> errors.txtيشير الرقم 2 إلى رقم واصف الملف لـ stderr (حيث أن stdout هو 1، وstderr هو 2). يقوم هذا الأمر بالتقاط رسالة الخطأ في errors.txt مع الحفاظ على نظافة جهازك الطرفي.
يمكنك إعادة توجيه كلا التدفقين إلى ملفات مختلفة:
ls existing_folder nonexistent_folder > output.txt 2> errors.txtيتم إرسال المخرجات الناجحة إلى output.txt، بينما يتم إرسال أي أخطاء إلى errors.txt. لإرسال كلا التدفقين إلى نفس الملف، استخدم 2>&1:
ls existing_folder nonexistent_folder > all_output.txt 2>&1يقوم هذا بإعادة توجيه stderr إلى حيث يتجه stdout، مما يجمع كل شيء في ملف واحد.
التحدي
سهلاستخدم عامل التشغيل 2> لإعادة توجيه رسالة خطأ إلى ملف. قم بتشغيل هذين الأمرين بالترتيب:
- حاول عرض محتويات مجلد يسمى
missing_folderباستخدامls، وقم بإعادة توجيه رسالة الخطأ إلى ملف يسمىerrors.txt - استخدم
catلعرض محتوياتerrors.txt
تلميح: التنسيق هو
ls foldername 2> filename. تذهب رسالة الخطأ إلى الملف بدلاً من الظهور على الشاشة. استخدمcatللتحقق من أنه تم التقاطها.
ورقة مرجعية
يُستخدم تدفق الخطأ القياسي (stderr) لرسائل الخطأ والتحذيرات، مما يبقيها منفصلة عن المخرجات العادية.
لإعادة توجيه الخطأ القياسي، استخدم 2>:
ls nonexistent_folder 2> errors.txtيشير الرقم 2 إلى رقم واصف الملف (file descriptor) الخاص بـ stderr (حيث أن stdout هو 1، وstderr هو 2).
يمكنك إعادة توجيه كل من stdout وstderr إلى ملفات مختلفة:
ls existing_folder nonexistent_folder > output.txt 2> errors.txtلإرسال كلا التدفقين إلى نفس الملف، استخدم 2>&1:
ls existing_folder nonexistent_folder > all_output.txt 2>&1جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر