الشرح المبسط
الشرح التقني المتقدم
يعتبر الأنبوب (Pipe) من أقوى المفاهيم في أنظمة لينكس (Linux) ويونكس (Unix)، حيث يمثل جوهر فلسفة هذه الأنظمة التي تعتمد على تصميم برامج وأدوات صغيرة تؤدي مهمة واحدة بكفاءة، ثم ربطها معاً لتنفيذ مهام معقدة ومتقدمة.
مبدأ العمل الأساسي للأنبوب
يعمل الأنبوب على مستوى قنوات الإدخال والإخراج القياسية (Standard Streams) في النظام:
مجرى البيانات (Data Stream): يأخذ الأنبوب مجرى الإخراج القياسي (Standard Output) للأمر الموجود على يسار الرمز، ويوجهه مباشرة في الذاكرة (Memory) ليصبح مجرى الإدخال القياسي (Standard Input) للأمر الموجود على اليمين.
البحث المتقدم وفلترة النصوص (استخدام ls مع grep)
سنقوم بعرض محتويات المجلد، ولكن بدلاً من طباعة كل الملفات، سنستخدم الأنبوب لتمرير النتيجة إلى أمر آخر مهمته الفلترة والبحث عن ملف يحتوي على كلمة محددة.
أمر التنفيذ:
ls -la | grep "document"
توضيح لما يحدث خلف الكواليس في هذا الأمر:
- النقطة الأولى: يقوم أمر
ls -laبجلب قائمة بجميع الملفات وتفاصيلها، وبدلاً من طباعتها على الشاشة (Terminal)، يتم إرسالها ككتلة بيانات عبر الأنبوب. - النقطة الثانية: يستقبل أمر
grepهذه البيانات كمدخلات، ويقوم بفلترتها ليعرض لك فقط الأسطر التي تحتوي على الكلمة المطلوبة.
ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)
لتحقيق أقصى استفادة من هذه الميزة، يمكنك ربط أكثر من أمرين معاً في نفس السطر (Pipeline). ولكن تأكد دائماً من أن الأمر الذي يلي الأنبوب قادر برمجياً على قراءة البيانات من الإدخال القياسي، وفي حال كانت الأداة لا تدعم ذلك، يمكنك الاستعانة بأدوات وسيطة مثل xargs لتمرير المخرجات كمعاملات (Arguments).