هر برنامه در لینوکس با سه جریان اصلی داده تعامل دارد:
ls -l /usr/bin > ls-output.txtخروجی به جای نمایش در ترمینال در فایل ذخیره میشود.
ls -l /bin/usr 2> ls-error.txtفقط خطاها در فایل ثبت میشوند، خروجی عادی در ترمینال باقی میماند.
روش سنتی:
ls -l /bin/usr > ls-output.txt 2>&1روش جدید در Bash:
ls -l /bin/usr &> ls-output.txtls -l /usr/bin >> ls-output.txtدادهها به فایل اضافه میشوند، بدون پاک شدن محتوی قبلی.
ls -l /bin/usr 2> /dev/null/dev/null جریان خروجی را حذف میکند — اصطلاحاً «سطل زباله یونیکسی».
cat filenameنمایش فایل در خروجی استاندارد
cat > lazy_dog.txt
متنی که تایپ میکنیمپایان ورودی با Ctrl+D
<cat < lazy_dog.txt|)ls -l /usr/bin | lessخروجی ls وارد less میشود و قابل پیمایش خواهد بود.
ls /bin /usr/bin | sort | uniq | lessls /bin /usr/bin | sort | uniq -d | lessls /bin /usr/bin | sort | uniq | wc -lشمار فایلهای اجرایی منحصربهفرد
ls /bin /usr/bin | sort | uniq | grep zipیافتن ابزارهای مرتبط با فشردهسازی
head -n 5 ls-output.txt
tail -n 5 ls-output.txtls /usr/bin | tail -n 5tail -f /var/log/messagesبرای توقف Ctrl+C بزنید.
ls /usr/bin | tee ls.txt | grep zipهمزمان ذخیره کل لیست در ls.txt و نمایش موارد zip
با شناخت جریانهای ورودی/خروجی و استفاده از تکنیکهایی مانند redirection و pipeline، میتوان دادهها را کنترل، پالایش و ذخیرهسازی کرد. ابزارهایی مانند grep، sort، wc، tee و /dev/null در کنار stdin، stdout و stderr دنیای ترمینال لینوکس را قدرتمند و قابل شخصیسازی میسازند.