استفاده کردن از قابلیت pipe در Shell
مقدمه:
در خط فرمان قابلیتی وجود دارد به نام piping که علامت این فرمان | است. در این بخش شما با روش استفاده از این قابلیت به صورت مختصر آشنا می شوید.
خروجی و ورودی فرمان
هر فرمان می تواند هم از کاربر ورودی دریافت کند برای مثال شما می توانید یک فایل را به فرمان cat به عنوان ورودی بدهید و این فرمان هم آن فایل را برای شما در صفحه نمایش ، نمایش دهد. این قابلیت در شکل زیر به تصویر کشیده شده است:
https://tosinso.com/resources/images...4bde1c09702207
فرمان هایی هم وجود دارند می تواند خروجی را هم از کاربر دریافت کنند و یا هم از طریق خروجی فرمان قبلی خود. از جمله از این فرمان ها می توان به grep اشاره کرد که این برنامه به شما قابلیت جستجو کردن در فایلهای متنی را می دهد. این برنامه بسیار قدرتمند و مفید برای جستجو است.
منتقل کردن خروجی یک فرمان با | یا همان pipe
برای اینکه بتوانید خروجی یک فرمان را به ورودی فرمان دیگر منتقل کنید باید از pipe استفاده کنید. از این روش در خط فرمان بسیار استفاده می شود و کاربرد زیادی دارد.
حال این قابلیت را با دو فرمان cat و grep مورد مخلوط می کنیم تا به توانیم در یک فایل خاص log به جستجو بپردازیم، شکل زیر را مشاهده کنید:
https://tosinso.com/resources/images...13aa44d19177e0
در خروجی این فرمان شما لیست کاربرانی را مشاهده می کنید که از فرمان su برای تغییر دادن سطح دسترسی خود به کاربر root استفاده کرده اند، همانطوری که مشاهده می کنید در بخش اول فایل اصلی گزارش در FreeBSD را Cat کرده اید و با استفاده از قابلیت pipe خروجی آنرا به فرمان grep داده و فرمان grep هم به جستجو کردن در فایل می پردازد.
فرمان tee
یک فرمان بسیار کاربردی و جالب برای ذخیره کردن خروجی pipe هایی که شما انجام می دهید به نام tee وجود دارد که در هر لحظه ای که شما نیاز داده باشید می تواند یک خروجی در قالب یک فایل برای شما ذخیره کند استفاده از این فرمان در شکل زیر نمایش داده شده است:
https://tosinso.com/resources/images...c39081f6ec6f96
در بخش اول همان فرمان بالا اجرا شد با این تفاوت که در pipe انتهایی از tee استفاده شده و فایلی به نام su را ایجاد کرده است، در خروجی فرمان ls این فایل را مشاهده می کنید و در انتهای این بخش شما با استفاده از فرمان cat محتوای این فایل که شامل خروجی جستجوی فرمان grep است را مشاهده می کنید.
https://network.tosinso.com/tutorial...af%d8%b1-shell