محمد عابدینی
کارشناس ارشد متخصص سیستم عامل های متن باز ( لینوکس و یونیکس )

آموزش نحوه استفاده از علامت پایپ (Pipe) در لینوکس و FreeBSD

در خط فرمان قابلیتی وجود دارد به نام piping که علامت این فرمان | است. در این بخش شما با روش استفاده از این قابلیت به صورت مختصر آشنا می شوید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

خروجی و ورودی فرمان

هر فرمان می تواند هم از کاربر ورودی دریافت کند برای مثال شما می توانید یک فایل را به فرمان cat به عنوان ورودی بدهید و این فرمان هم آن فایل را برای شما در صفحه نمایش ، نمایش دهد. این قابلیت در شکل زیر به تصویر کشیده شده است:

piping in

فرمان هایی هم وجود دارند می تواند خروجی را هم از کاربر دریافت کنند و یا هم از طریق خروجی فرمان قبلی خود. از جمله از این فرمان ها می توان به grep اشاره کرد که این برنامه به شما قابلیت جستجو کردن در فایلهای متنی را می دهد. این برنامه بسیار قدرتمند و مفید برای جستجو است.

منتقل کردن خروجی یک فرمان با | یا همان pipe

برای اینکه بتوانید خروجی یک فرمان را به ورودی فرمان دیگر منتقل کنید باید از pipe استفاده کنید. از این روش در خط فرمان بسیار استفاده می شود و کاربرد زیادی دارد.حال این قابلیت را با دو فرمان cat و grep مورد مخلوط می کنیم تا به توانیم در یک فایل خاص log به جستجو بپردازیم، شکل زیر را مشاهده کنید:

grep pipe

در خروجی این فرمان شما لیست کاربرانی را مشاهده می کنید که از فرمان su برای تغییر دادن سطح دسترسی خود به کاربر root استفاده کرده اند، همانطوری که مشاهده می کنید در بخش اول فایل اصلی گزارش در FreeBSD را Cat کرده اید و با استفاده از قابلیت pipe خروجی آنرا به فرمان grep داده و فرمان grep هم به جستجو کردن در فایل می پردازد.

فرمان tee

یک فرمان بسیار کاربردی و جالب برای ذخیره کردن خروجی pipe هایی که شما انجام می دهید به نام tee وجود دارد که در هر لحظه ای که شما نیاز داده باشید می تواند یک خروجی در قالب یک فایل برای شما ذخیره کند استفاده از این فرمان در شکل زیر نمایش داده شده است:

pipe4

در بخش اول همان فرمان بالا اجرا شد با این تفاوت که در pipe انتهایی از tee استفاده شده و فایلی به نام su را ایجاد کرده است، در خروجی فرمان ls این فایل را مشاهده می کنید و در انتهای این بخش شما با استفاده از فرمان cat محتوای این فایل که شامل خروجی جستجوی فرمان grep است را مشاهده می کنید.


محمد عابدینی
محمد عابدینی

کارشناس ارشد متخصص سیستم عامل های متن باز ( لینوکس و یونیکس )

سلام دوستان از سال ۱۳۸۱ با سیستم عامل های مبتنی بر BSD کار کردم. برگذار کننده دوره های PF و pfsense مدرس دوره های لینوکس ( LPIC303) مقالات و فیلم های آموزشی در زمینه BSD تهیه کردم. یکی از سیستم عامل های مورد علاقه من OpenBSD است. عاشق کار با سیستم عاملهای متن باز عاشق کار با خط فرمان.

نظرات