Latest web development tutorials

قذيفة الإدخال / الإخراج إعادة توجيه

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

إعادة توجيه قائمة الأوامر كما يلي:

القيادة تفسير
القيادة> ملف توجيه الإخراج إلى ملف.
القيادة <ملف إعادة توجيه المدخلات إلى الملف.
قيادة ملف >> الإخراج إلى إعادة توجيه إلى ملف إلحاق.
ن> ملف واصف ملف للملفات ن توجيهها إلى ملف.
ن ملف >> الملف اصف ن إلى ملف طرق إضافية لإعادة توجيه الملف.
ن> & م يتم دمج م ملف الإخراج ون.
ن <وم يتم دمج م ملف الإدخال ون.
<< الوسم بداية العلامة والعلامة نهاية الوسم العلامة المحتوى بين كإدخال.

لاحظ أن واصف ملف 0 عادة الإدخال القياسي (STDIN) (1)، هو الإخراج القياسي (STDOUT)، 2 غير خرج الخطأ القياسي (STDERR).


الانتاج إعادة توجيه

إعادة توجيه عادة بنسبة تتراوح بين الأوامر لإدراج رموز محددة لتحقيق. على وجه الخصوص، هذه الرموز الظاهرة بناء الجملة التالي:

command1 > file1

والأمر أعلاه تنفيذ Command1 و ثم إخراج المحتوى المخزن في FILE1.

FILE1 لاحظ أن أي محتوى موجود بالفعل سيتم الاستعاضة عن محتوى جديد. إذا كنت ترغب في إضافة محتوى جديد في نهاية الملف، استخدم عامل >>.

أمثلة

قم بتشغيل الأمر التالي الذي تنجزه سيتم توجيه إخراج أمر في ملفات المستخدم (المستخدمين):

$ who > users

بعد التنفيذ، لا يوجد الناتج في المحطة، فذلك لأن الناتج تم إعادة توجيه من الجهاز الافتراضي معيار الناتج (محطة) إلى الملف المحدد.

يمكنك استخدام الأمر القط لعرض محتويات الملف:

$ cat users
_mbsetupuser console  Oct 31 17:35 
tianqixin    console  Oct 31 17:35 
tianqixin    ttys000  Dec  1 11:33 

الانتاج إعادة توجيه بالكتابة فوق محتويات الملف، انظر المثال التالي:

$ echo "本教程:www.w3big.com" > users
$ cat users
本教程:www.w3big.com
$

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

$ echo "本教程:www.w3big.com" >> users
$ cat users
本教程:www.w3big.com
本教程:www.w3big.com
$

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

وكما إعادة توجيه الانتاج، ويونيكس القيادة يمكن أن تأخذ المدخلات من ملف، بناء الجملة هو:

command1 < file1

وبالتالي، سيتم نقل الحاجة الأصلية للحصول على المدخلات من لوحة المفاتيح لملف الأوامر لقراءة المحتوى.

ملاحظة: إعادة توجيه إخراج أكبر من الرمز (>)، ومدخلات إعادة توجيه هو أقل من (<).

أمثلة

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

$ wc -l users
       2 users

يمكنك أيضا إعادة توجيه ملفات الإدخال للمستخدمين:

$  wc -l < users
       2 

ملاحظة: نتائج اثنين من الأمثلة المذكورة أعلاه هي مختلفة: المثال الأول، واسم ملف الإخراج، والثاني لن، لأنه يعرف قراءة فقط من الإدخال القياسي.

command1 < infile > outfile

استبدال كل من المدخلات والمخرجات، وتنفيذ Command1 ثم INFILE القراءة من الملف، ومن ثم إرسال الإخراج إلى OUTFILE.

إعادة توجيه تفسير عمق

في ظل الظروف العادية، فإن كل تشغيل الأمر يونيكس / لينكس فتح ثلاثة ملفات:

  • ملف قياسي الإدخال (ستدين): واصف ملف ستدين إلى 0، البرنامج الافتراضي يونكس يقرأ البيانات من ستدين.
  • ملف معيار الناتج (المعياري): المعياري إلى ملف واصف 1، والتخلف برنامج يونكس لبيانات الناتج المعياري.
  • الخطأ المعياري (ستدير): ستدير ملف اصف إلى 2، برنامج يونكس يكتب رسائل الخطأ لتيار ستدير.

افتراضيا، والقيادة> ملف إعادة توجيه المعياري إلى ملف، والقيادة <ملف ستدين إعادة توجيه إلى ملف.

إذا كنت ترغب في إعادة توجيه ستدير إلى الملف، يمكنك كتابة:

$ command 2 > file

إذا كنت ترغب في إلحاق إلى نهاية الملف ملف ستدير، يمكنك كتابة:

$ command 2 >> file

2 يمثل الملف الخطأ المعياري (ستدير).

إذا كنت ترغب في دمج بعد المعياري وستدير إعادة توجيه إلى الملف، يمكنك كتابة:

$ command > file 2>&1

或者

$ command >> file 2>&1

إذا كنت ترغب في إعادة توجيه ستدين والمعياري، يمكنك كتابة:

$ command < file1 >file2

قيادة القيادة ستدين إعادة توجيه إلى FILE1، وإعادة توجيه المعياري لFILE2.


هنا الوثيقة

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

شكله الأساسي هو على النحو التالي:

command << delimiter
    document
delimiter

هذا هو دور المحتوى (الوثيقة) ينقل الى المحدد اثنين بين القيادة كإدخال.

ملاحظة:

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

أمثلة

عدد الصفوف في الحوسبة سطر الأوامر هنا وثيقة من الأمر -l مرحاض:

$ wc -l << EOF
    欢迎来到
    本教程
    www.w3big.com
EOF
3          # 输出结果为 3 行
$

يمكننا أيضا هنا وثيقة تستخدم في السيناريو، على سبيل المثال:

#!/bin/bash
# author:本教程
# url:www.w3big.com

cat << EOF
欢迎来到
本教程
www.w3big.com
EOF

تنفيذ البرنامج النصي أعلاه، خرج:

欢迎来到
本教程
www.w3big.com

/ ديف / ملف باطل

إذا كنت ترغب في تنفيذ الأوامر، ولكن لا نريد لعرض الإخراج على الشاشة، يمكنك إعادة توجيه الإخراج إلى / ديف / لاغية:

$ command > /dev/null

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

إذا كنت ترغب في حماية المعياري وستدير، يمكنك كتابة:

$ command > /dev/null 2>&1

ملاحظة: 0 هو الإدخال القياسي (STDIN) (1)، هو الإخراج القياسي (STDOUT)، 2 غير خرج الخطأ القياسي (STDERR).