~2 min read • Updated Jul 18, 2025
هر برنامه در لینوکس با سه جریان اصلی داده تعامل دارد:
- stdin: ورودی استاندارد (معمولاً کیبورد)
- stdout: خروجی استاندارد (نمایش در صفحه)
- stderr: نمایش پیامهای خطا
تغییر مسیر خروجی استاندارد (stdout)
ls -l /usr/bin > ls-output.txtخروجی به جای نمایش در ترمینال در فایل ذخیره میشود.
تغییر مسیر خطاها (stderr)
ls -l /bin/usr 2> ls-error.txtفقط خطاها در فایل ثبت میشوند، خروجی عادی در ترمینال باقی میماند.
ذخیره همزمان stdout و stderr
روش سنتی:
ls -l /bin/usr > ls-output.txt 2>&1روش جدید در Bash:
ls -l /bin/usr &> ls-output.txtافزودن خروجی به فایل (append)
ls -l /usr/bin >> ls-output.txtدادهها به فایل اضافه میشوند، بدون پاک شدن محتوی قبلی.
دور انداختن خطاها با /dev/null
ls -l /bin/usr 2> /dev/null/dev/null جریان خروجی را حذف میکند — اصطلاحاً «سطل زباله یونیکسی».
استفاده از cat و ورودی استاندارد (stdin)
cat filenameنمایش فایل در خروجی استاندارد
ساخت فایل با ورودی مستقیم:
cat > lazy_dog.txt
متنی که تایپ میکنیمپایان ورودی با Ctrl+D
خواندن ورودی از فایل با <
cat < lazy_dog.txtاتصال دستورات با pipe (|)
ls -l /usr/bin | lessخروجی ls وارد less میشود و قابل پیمایش خواهد بود.
مرتبسازی و حذف تکرار با sort و uniq
ls /bin /usr/bin | sort | uniq | lessنمایش فقط موارد تکراری:
ls /bin /usr/bin | sort | uniq -d | lessشمارش خطوط با wc
ls /bin /usr/bin | sort | uniq | wc -lشمار فایلهای اجرایی منحصربهفرد
جستجوی الگوها با grep
ls /bin /usr/bin | sort | uniq | grep zipیافتن ابزارهای مرتبط با فشردهسازی
نمایش اولین یا آخرین خطوط با head و tail
head -n 5 ls-output.txt
tail -n 5 ls-output.txtاستفاده در pipe:
ls /usr/bin | tail -n 5مانیتور لحظهای فایل لاگ:
tail -f /var/log/messagesبرای توقف Ctrl+C بزنید.
ذخیره همزمان با tee در میانهٔ pipe
ls /usr/bin | tee ls.txt | grep zipهمزمان ذخیره کل لیست در ls.txt و نمایش موارد zip
نتیجهگیری
با شناخت جریانهای ورودی/خروجی و استفاده از تکنیکهایی مانند redirection و pipeline، میتوان دادهها را کنترل، پالایش و ذخیرهسازی کرد. ابزارهایی مانند grep، sort، wc، tee و /dev/null در کنار stdin، stdout و stderr دنیای ترمینال لینوکس را قدرتمند و قابل شخصیسازی میسازند.
Written & researched by Dr. Shahin Siami