- قبل از استفاده از این ابزار و خواندن این مقاله، باید با مفهوم pipe آشنا باشید.
- توضیحات را با بیان مثال جلو می بریم.
- فرض کنید می خواهیم خروجی دستور ls را به عنوان ورودی به دستور cat وارد کنیم. ( با استفاده از pipe )
|
1 |
ls | cat |
- نکته ای که دستور بالا دارد این است که این عمل باید در یک نشست انجام گیرد.
- حال فرض کنید می خواهیم ls را درون یک نشست ssh و ابزار cat را درون یک نشست ssh دیگر اجرا کنیم.
- برای این منظور فایلی (در حقیقت فایل نیست و به آن FIFOs گفته می شود.) ایجاد کرده و خروجی دستور ls را در آن میریزیم.
- سپس محتویات فایل (در حقیقت فایل نیست و به آن FIFOs گفته می شود.) را به عنوان ورودی به دستور cat می دهیم.
- برای این منظور :
|
1 |
mkfifo test |
- حال :
|
1 |
ls > test |
- سپس :
|
1 |
cat < test |
- برای مشاهده تفاوت FIFOs ایجاد شده با فایل های معمولی، کافیست که ابزار ls را به شکل زیر اجرا کنید :
|
1 2 3 4 |
ls -lh total 0 prw-r--r-- 1 root root 0 Feb 26 05:55 FIFOs -rw-r--r-- 1 root root 0 Feb 26 05:55 file |
- می توان در زمان ساخت FIFOs پرمیشن در نظر گرفت. برای این منظور :
|
1 |
mkfifo -m 700 FIFOs |
- تست شده بر روی Debian 10.x