هل تساءلت يوماً كيف تعمل تلك الرموز الغامضة مثل `> ، >> ، 2> ،` أو `|` في سطر الأوامر الخاص بك؟ أنت لست وحدك! يجد الكثيرون هذه الأوامر «ذات السطر الواحد» محيرة، لكنها ليست سحراً. إنها مجرد طرق بسيطة للتحكم في كيفية تعامل الأوامر مع النصوص، وفهمها سيجعلك قادراً على كتابة أوامرك الخاصة بثقة.

يكمن السر في معرفة أن كل أمر تقوم بتشغيله يستخدم ثلاث «قنوات» منفصلة للنصوص:
1. **المدخل القياسي (stdin)**: حيث يقرأ الأمر البيانات، وعادة ما تكون من لوحة المفاتيح.
2. **المخرج القياسي (stdout)**: حيث يرسل الأمر نتائجه العادية، وعادة ما تكون إلى شاشتك.
3. **الخطأ القياسي (stderr)**: حيث تذهب رسائل الخطأ، وعادة ما تظهر أيضاً على شاشتك.

على الرغم من أن المخرج القياسي والخطأ القياسي يظهران غالباً معاً على شاشتك، إلا أنهما قناتان متميزتان تماماً. هذا الفصل هو المفتاح لكيفية عمل إعادة التوجيه و'الأنابيب'.

**إعادة التوجيه (Redirection)** ببساطة تغير المكان الذي تشير إليه القناة.
* يرسل الرمز `>` **المخرج القياسي** للأمر إلى ملف بدلاً من الشاشة. إذا كان الملف موجوداً، يتم استبدال محتواه بالكامل. على سبيل المثال، `echo one > out.txt` ثم `echo two > out.txt` سينتج عنه احتواء `out.txt` على "two" فقط.
* لإضافة محتوى إلى نهاية ملف موجود دون مسحه، استخدم `>>`. لذا، `echo three >> out.txt` ستضيف "three" بعد "two" في `out.txt`، ليصبح محتواه "two\nthree". هذا مثالي لملفات السجل (logs).

ماذا عن الأخطاء؟ هنا يأتي دور `2>`.
* الخطأ القياسي هو القناة رقم 2 (المخرج القياسي هو 1، والمدخل القياسي هو 0). بما أن `>` يلتقط المخرج القياسي فقط، ستظل الأخطاء تظهر على شاشتك.
* لالتقاط رسائل الخطأ، يمكنك إعادة توجيه القناة 2 باستخدام `2>`. على سبيل المثال، `ls nope fruits.txt > found.txt 2> errors.txt` سيرسل أسماء الملفات الصالحة إلى `found.txt` وأي رسائل خطأ (مثل `ls: cannot access 'nope': No such file or directory`) إلى `errors.txt`، محافظاً على فصلها بوضوح.

وأخيراً، تربط **الأنابيب (pipes)** التي يمثلها الرمز `|` الأوامر ببعضها. يأخذ الأنبوب المخرج القياسي للأمر على يساره ويغذيه مباشرة كمدخل قياسي للأمر على يمينه. يتيح لك هذا ربط الأوامر معاً لأداء مهام معقدة في سطر واحد قوي ومختصر.

بمجرد فهمك لهذه الأفكار البسيطة – القنوات الثلاثة وكيفية إعادة توجيهها أو ربطها – ستصبح أوامر الشل المعقدة منطقية فجأة. ستنتقل من مجرد النسخ إلى كتابة حلول سطر الأوامر الخاصة بك بثقة!