هر برنامه در لینوکس با سه جریان اصلی داده تعامل دارد:
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.txt
ls -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 | less
ls /bin /usr/bin | sort | uniq -d | less
ls /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.txt
ls /usr/bin | tail -n 5
tail -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
دنیای ترمینال لینوکس را قدرتمند و قابل شخصیسازی میسازند.