منوی دسته بندی
فرق بین stdin , stdoerr , stdout

در لینوکس، stdout، stdin و stderr سه جریان (stream) استاندارد هستند که برای ارتباط با ورودی و خروجی های برنامه های مختلف استفاده میشوند.

  •  stdout (Standard Output): جریان خروجی استاندارد است که خروجی های برنامه را دریافت میکند. به عبارت دیگر، وقتی یک برنامه اجرا میشود و داده ای را چاپ یا نمایش می دهد، آن داده ها بطور پیش فرض به جریان stdout ارسال میشوند. به صورت معمول، این داده ها در کنسول یا ترمینال نمایش داده میشوند. به عنوان مثال، وقتی شما یک دستور در ترمینال وارد می کنید و نتیجه آن را می بینید، این خروجی از طریق stdin ارسال میشود.
  • stdin (Standard Input): جریان ورودی استاندارد است که ورودی های برنامه را دریافت میکند. به عبارت دیگر، وقتی یک برنامه اجرا میشود و نیاز به دریافت داده میباشد، این داده ها بطور پیش فرض از جریان stdin دریافت میشوند. به صورت معمول، این داده ها از طریق کنسول یا ترمینال وارد برنامه می شوند. به عنوان مثال، وقتی شما یک دستور را در ترمینال وارد می کنید و دکمه Enter را فشار می دهید، دستور وارد شده از طریق stdin به برنامه ارسال می شود.
  • stderr (Standard Error): جریان خطای استاندارد است که خطاهای برنامه را دریافت میکند. وقتی یک برنامه خطا داشته باشد و خروجی خطا باید جایی نمایش داده شود، این خروجی از طریق جریان stderr ارسال میشود. به طور معمول، این خطاها در ترمینال یا کنسول نمایش داده میشوند. به عنوان مثال، وقتی شما یک دستور را اشتباه وارد می کنید و خطایی رخ می دهد، این خطا از طریق stderr نمایش داده میشود.

برای مثال، فرض کنید دستور “ls abc” را در ترمینال وارد کنید. اگر فایلی به نام “abc” وجود نداشته باشد، خروجی خطا (“No such file or directory”) از طریق جریان stderr نمایش داده میشود. اگر فایلی به نام “abc” وجود داشته باشد، لیست فایل ها از طریق جریان stdout نمایش داده میشود

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *