What is mkfifo command in linux

  • قبل از استفاده از این ابزار و خواندن این مقاله، باید با مفهوم pipe آشنا باشید.
  • توضیحات را با بیان مثال جلو می بریم.
  • فرض کنید می خواهیم خروجی دستور ls را به عنوان ورودی به دستور cat وارد کنیم. ( با استفاده از pipe )
ls | cat
  • نکته ای که دستور بالا دارد این است که این عمل باید در یک نشست انجام گیرد.
  • حال فرض کنید می خواهیم ls را درون یک نشست ssh و ابزار cat را درون یک نشست ssh دیگر اجرا کنیم.
  • برای این منظور فایلی (در حقیقت فایل نیست و به آن FIFOs گفته می شود.) ایجاد کرده و خروجی دستور ls را در آن میریزیم.
  • سپس محتویات فایل (در حقیقت فایل نیست و به آن FIFOs گفته می شود.) را به عنوان ورودی به دستور cat می دهیم.
  • برای این منظور :
mkfifo test
  • حال :
ls > test
  • سپس :
cat < test
  • برای مشاهده تفاوت FIFOs ایجاد شده با فایل های معمولی، کافیست که ابزار ls را به شکل زیر اجرا کنید :
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 پرمیشن در نظر گرفت. برای این منظور :
mkfifo -m 700 FIFOs
  • تست شده بر روی Debian 10.x

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *