مفصل Linux-- الإدخال القياسي وإعادة توجيه الانتاج واستخدام أنابيب

الخطوط العريضة

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

هنا واصفات الملف، وأنها عادة ما تكون اسم الملف المقابلة:

واصف ملف

هناك في الواقع 12 ملف النظام واصف، ولكن كما رأينا في الجدول أعلاه، 0،1،2 هو الإدخال القياسي، خرج، والخطأ. يمكنك أن تستخدم بشكل تعسفي واصف 3-9.

معيار دخول ومن واصف ملف 0 . هذا هو الحال مع الأمر، لوحة المفاتيح الافتراضية، يمكن أن يكون ملف أو إخراج الأوامر الأخرى.

معيار تصدير ومن واصف ملف 1 . هو إخراج الأمر، الافتراضي هو الشاشة، ويمكن أيضا أن يكون الملف.

معيار خطأ ومن واصف ملف 2 . هذا هو الإخراج من خطأ الأوامر، الافتراضي هو الشاشة، كما يمكن أن يكون ملف.

إعادة توجيه ملف

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

عندما إعادة توجيه الخطأ القياسي، يجب عليك استخدام واصف الملف، ولكن للمدخلات والمخرجات القياسية، وأنه ليس من الضروري.

قيادة < <  قراءة محدد من اللغة الفصحى، حتى أنه واجه محدد محدد

قيادة < M & M إلى واصف ملف الإدخال القياسية

قيادة > & M إلى الإخراج القياسي إلى ملف واصف م

قيادة < و- لإغلاق الإدخال القياسي //؟ و"-" ماذا يعني

الإخراج القياسي إعادة توجيه

في الأوامر التالية في / الخ / ملف باسود، وترتيب حقل معرف المستخدم وفقا للالأمر المستخدم.

إعادة توجيه إخراج الأمر إلى ملف sort.out. للفت الانتباه إليه هو، في ذلك الوقت (أو غيرها من ملف الإدخال مماثل يحتوي على معلمة الأمر) باستخدام الأمر نوعا، يجب رموز إعادة توجيه ترك مسافتين القيادة النوع، أو سوف الأمر استخدامه بمثابة ملف الإدخال.

$ القط باسود | AWK -F: '{طباعة $ 1}' | نوع 1 > sort.out // رسالة خطأ لا الإخراج إلى sort.out

ويمكن أيضا أن أعرب استخدام على النحو التالي، نتائج نفس أعلاه:

$ القط باسود | AWK -F: '{طباعة $ 1}' | نوع > sort.out // ما يعادلها و، لا شيء للكتابة فوق > الافتراضي هو الإخراج القياسي [1]

الإدخال القياسي إعادة توجيه

يمكنك تحديد الأمر الإدخال القياسي. في الفصل AWK سوف تواجه مثل هذه الحالة. وفيما يلي أحد الأمثلة على ذلك:

$ ترتيب <  name.txt

في الأمر أعلاه، يتم إعطاء إدخال الأمر الفرز عن طريق إعادة توجيه العاملين، ولكن يمكن أيضا مباشرة إلى المقابلة

ملف كمعلمة للأمر:

$ ترتيب name.txt

في المثال أعلاه، يمكن أيضا أن تكون أبعد المحدد من قبل أمر name.out إعادة توجيه نوع الملف الناتج.

وهذه الشاشة لا يكون هناك أي معلومات ( بالإضافة إلى رسالة الخطأ خارج):

$ ترتيب < name.txt > name.out

الأمثلة على ذلك:

قط > >  MYFILE < < HWB // تصل إلى السلسلة "HWB"، سوف تتوقف مساهمة >  مرحبا هناك أنا باستخدام محطة $ TERIM >  واسم المستخدم الخاص بي هو $ LOGNAME >  الى اللقاء >  اختبار >  HWB

الخطأ المعياري إعادة توجيه

لإعادة توجيه الخطأ القياسي، يمكنك تحديد الملف واصف 2.

قيادة البقرى لا العثور على الملف، افتراضيا إلى إخراج محطة رسالة خطأ. الآن دعونا الخطأ إعادة توجيه إلى ملف / ديف / لاغية في (في الواقع كان القمامة على النظام):

$ البقرى "اي بي سي" اختبار 2 > / ديف / لاغية

بحيث يتم نقل كافة الإخراج الخطأ / ديف / لاغية، لا يبدو أطول على الشاشة.

الإخراج القياسي جنبا إلى جنب والخطأ المعياري

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

اختبار $ صدى > test.out 2 > و1

في المثال أعلاه، ونحن اختبار يتم إعادة توجيه مخرجات البرنامج النصي ل > ملف test.out، والخطأ فيها يمكن أيضا إعادة توجيه إلى نفس الملف.

قد قذيفة كثيرا ما نرى: > / ديف / لاغية 2 > و1 // تجاهل كل المعلومات الانتاج.

الحالات المعقدة

الطلب : القيادة cmd1، CMD2، cmd3، cmd4 كيفية استخدام خط أنابيب في اتجاه واحد لإتمام المهام التالية:

يتم تنفيذ 1. جميع الأوامر بشكل متواز. 2. cmd1 وCMD2 لا يتطلب ستدين. وتوجه 3. cmd1 وCMD2 إلى cmd3 المعياري من ستدين. 4. CMD2 cmd1 وتوجه إلى cmd4 ستدير من ستدين. 5. cmd3 المعياري موجهة إلى ملف من ذلك، وجهت ستدير إلى الشاشة. 6. cmd4 موجهة إلى ملف المعياري ب، توجه ستدير إلى الشاشة. 7. cmd1 رمز الإرجاع المخصصة لمتغير الصورة. 8. لا يمكن استخدام الملفات المؤقتة.

الحل:

إكسيك 3 > و1؛ إكسيك 4 > و1 الصورة = $ (((((cmd11 > و3؛ $ الصدى؟ > و4) | CMD2) 3 > و1 | cmd3 > 2 > و 3) 2 > و1 | cmd4 > ب) 4 > و1) إكسيك 3 > و-، إكسيك 4 > و-

الوصف:

إكسيك 3 > و1؛ إكسيك 4 > و1 هو إقامة FD3، لاستعادة cmd1 مع FD1 وFD2 إلى cmd3 استعادة استخدامها، وإنشاء FD4، إنقاذ "صدى $؟" "ورقة خدش" قيمة الانتاج.

زوج الأولى من الأقواس: (1 cmd1 > و3؛ $ الصدى؟ > و4) وأنبوب لاحق (الأول). في الشريحة الأولى (قذيفة)، وهذا مرتبط إلى أنبوب بالفعل FD1، لذلك FD1 لFD3 الاستخدام العادي، للسماح له بالترشح لخطوط الأنابيب، cmd1 هنا لا ستدين، ثم حفظ رمز الإرجاع لتشغيل cmd1 FD4 في.

الزوج الثاني من الأقواس: ((cmd11 > و3؛ $ الصدى؟ > و4) | CMD2) 3 > 1 ووبعد ذلك (الثانية) قناة. لم ترسل FD1 إلى الجزء الأمامي من CMD2، FD2 الافتراضي ولا يحصل هنا، لذلك ليس هناك ستدين CMD2، وبالتالي فإن الزوج الثاني من الأقواس:، قد تم الوفاء cmd1 وCMD2 من المعياري، ستدير إلى الإخراج الافتراضي "3 > و1. "حتى لاحظ من فضلك:" 3 > و1 "، شوهدت للمرة الاولى في الزوج الثاني من القيادة بين قوسين، واجهوا قناة الثانية متصلا خط أنابيب FD1" | "، لأن" 3 > و1 "دور شبه قذيفة FD1 إلى استخدام FD3، FD3 ذلك جميع النواتج هي" تتدفق إلى "cmd3، وبسبب الميراث (قيادة السطر الأول ورث)، وFD3 هو في الواقع cmd1 CMD2 والمعياري، لذلك "وتوجه cmd1 وCMD2 إلى cmd3 المعياري من ستدين"

الزوج الثالث من الأقواس: (((cmd11 > و3؛ $ الصدى؟ > و4) | CMD2) 3 > و1 | cmd3 > 2 > و 3) 2 > ثالث واللاحقة 1 و القنوات. بعد cmd1 والمعياري وCMD2 cmd3 أنها وجهت إلى ستدين، وتجهيز، cmd3 > وسيلة لارسال المعياري الملف. و2 > 3 والمعنى هو: خطأ انتعاش الانتاج cmd3 FD3، أي إرسالها إلى الشاشة. حتى "يتم توجيه cmd3 من المعياري لتقديم، ستدير موجهة إلى الشاشة." إذا لم يكن هناك "2 > "وبعد، فإنه سوف تتداخل مع الخطأ الناتج cmd3 الخطأ الناتج cmd1 وCMD2، لذلك أمر لا بد منه! يرجى ملاحظة أن هذا الزوج الثالث من الأقواس" و32 > و1 "|، وقد تم ربط قوقعة ابن FD1 إلى الأنبوب" |.؟ "، ولكن دون قذيفة FD1 سخية، أعطى FD2، بحيث يتم توصيل FD2 إلى خط أنابيب تذكر cmd1 وCMD2 السابقة لا ستدير بها لم تتغير .ثم هنا، من خلال خط أنابيب إلى الأمر الرابع CMD4 عبارة "cmd1 وCMD2 من ستدير الموجهة إلى cmd4 ستدين." العودة .cmd4 بسيطة نسبيا > ب يمثل "cmd4 موجهة إلى ملف المعياري ب، ستدير الموجهة إلى الشاشة (الافتراضي)"

الزوج الرابع من الأقواس: ((((cmd11 > و3؛ $ الصدى؟ > و4) | CMD2) 3 > و1 | cmd3 > 2 > و 3) 2 > و1 | cmd4 > ب) بعد لها 4 > & 1. أربعة أزواج من الأقواس FD1، FD2 هي المعالجة النهائي. ولكن تذكر سابق ل "صدى $؟ > و4 "قطعة من" ورقة الخردة "تفعل؟" 4 > و"العمل هو" مشروع ورقة إلى المحتوى على الشاشة "، ولكن أيضا لأن $ الأبعد () الذي هو" ملفوفة "ولذا فإن القيمة المخصصة لمتغير" ليالي ".

إعادة توجيه القواعد التالية:

1) 0 اللغة الفصحى، خرج 1، 2 الحاجة إلى إعادة توجيه كل خطأ، وإعادة توجيه تغيير واحد فقط منهم.

2) لا يجوز حذف الإدخال القياسي والإخراج القياسي 01. (كما يظهر على رمز إعادة توجيه الجانب الأيسر)

3) عندما يكون الملف اصف الكتابة مباشرة على يسار الرموز توجيه مسبوقة على الجانب الأيمن [ومؤشرات للتمييز هذه على غرار الجبهة مع *، كلتا الحالتين].

4) وجود مسافات بين واصف ملف ورمز إعادة توجيه

وأسفل الظهر تبادل المزيد عن devops والجوانب DBA، يمكننا أن نركز ~

اي فون X آلة الحقيقي تجريبي للبدء، وإلقاء نظرة على الصور!

مزدوجة بمجرد ظهور هذه الهواتف يمكن أن تختار الهدايا ترافق لكم مزدهر السنة الجديدة

تشن يو الذي تم تعليمه وفقا للوائح، أصدرت زوجته السابقة على الثناء مليون وون مشاكل المودة يبدو الجدير بالذكر

حجم وسعر السهم في سعر الخصم التجارة كتلة مارس منذ ما يقرب من أربع سنوات، ارتفاعا جديدا

Oradebug تعليمات فائقة مفصل للاستخدام - عملية الأوامر الأكثر استخداما + تتبع التجربة

2018 محطة خط T المقبلة بكين الصين

العودة أو عدم العودة؟ كان جيا يويتينغ منذ سنوات اضحة قيادة العودة يجب أن المنزل، والأصدقاء ننتظر لنرى لهم!

النسخة النسائية قراءة بن القضية: الشرطة تشتبه بقوله تأمين المشتبه بهم بتهمة تسميم جيرانهم أسرة مكونة من أربعة

تشانغ السنة تسه تيان الجديدة مثل دائرة الشعر من الأصدقاء، مقالا مطولا لاخراج لغة سيئة، ومشاعر سيئة وtucao الحياة

مشاركة شيل لإنشاء تقارير تقارير العرب والغرب تلقائيا - وقت متأخر من الليل 6:00 حتي 20:00 ولدت مرة واحدة

PLC من الصعب أن تتعلم؟ أن كنت لا تجد طريقة! سيمنز 300 التعليمي المتقدم

باو وو حصة للبيع تبحث عن شركاء رسميا "موثوق" في حاجة إلى التحلي بالصبر