اذا كنت مستخدم لنظام لينكس ممكن سبق لك استخدام dev/null/ في نهايه بعض الاومر.
اذا لم يسبق لك استخدامها او تستخدمها ولاتعرف فائدتها تابع معي هذه التدوينه القصيره 🙂
في انظمه لينكس يوجد مايسمي Virtual Device وهي اجهزه وهميه تتعامل مع النظام
احدها هو dev/null/ او مايسمى بالثقب الاسود, وظيفه هذا الملف هو استقبال المخرجات مهما كان حجمها واعطاء البرنامج اشاره ان الكتابه تمت بنجاح.
طريقه استخدام هذا الجهاز الافتراضي بسيطه جداً
لنفرض انك ترغب بالبحث عن ملف باستخدام find
find / -perm -u=s -type f
بهذه الطريقه راح تختلط معنا النتائج مع رسائل الخطأ
لكن لو استخدمنا هذه الطريقه
find / -perm -u=s -type f 2>/dev/null
راح تختفي رسائل الخطأ لاحظ الفرق بين المخرجات بالاسفل
![الفرق بين استخدام dev/null وعدم استخدامها](https://www.buhaimedi.com/wp-content/uploads/2021/07/Screenshot_222-1024x278.png)
لكن البعض ممكن يتسائل مافائده <2 في الامر السابق
< فائدتها تحويل المخرجات وتخزينها في ملف
لاحظ معي المثال التالي
![مثال على استخدام <](https://www.buhaimedi.com/wp-content/uploads/2021/07/Screenshot_223.png)
الامر الاول يطبع ر ساله في سطر الاوامر ” مخرجات ”
في الامر الثاني نفذنا نفس الامر لكن مع اضافه < واسم ملف لتخزين المخرجات
في الامر الثالث طبعا ماتم تخزينه في الملف السابق
ولكن مافائده رقم 2 في الامر السابق !!!
كل برنامج على نظام لينكس عند تنفيذه يحتوي على مدخلات ومخرجات ورسائل خطأ
- 0: stdin : مدخلات
- 1: stdout : مخرجات
- 2: stderr : رسائل خطأ
للمزيد من التفاصيل ( اضغط هنا )
بمعنى لو حبينا ننفذ امر البحث السابق ونعرض فقط رسائل الخطأ ممكن نستخدم هذا الامر
find / -perm -u=s -type f 1>/dev/null
![مثال على استخدام <1 stderr](https://www.buhaimedi.com/wp-content/uploads/2021/07/Screenshot_224.png)
اتمنى ان اكون وفقت في تقديم الفائده لك عزيزي القاريء
اذا عجبتك التدوينه اضغط على ايقونه تويتر بالاسفل وشاركها مع اصدقائك
حسابي في منصه تويتر @buhaimedi