أعلنت مؤسسة Linux LFCS (مسؤول النظام المعتمد من مؤسسة Linux Foundation) ، وهو برنامج جديد يهدف إلى مساعدة الأفراد في جميع أنحاء العالم للحصول على شهادة في مهام إدارة النظام الأساسية إلى المتوسطة لأنظمة Linux. يتضمن ذلك دعم الأنظمة والخدمات قيد التشغيل ، جنبًا إلى جنب مع استكشاف الأخطاء وإصلاحها والتحليل المباشر ، واتخاذ القرارات الذكية لتصعيد المشكلات إلى فرق الهندسة.
يرجى مشاهدة الفيديو التالي الذي يوضح برنامج شهادة مؤسسة Linux Foundation.
ستكون السلسلة بعنوان التحضير لـ LFCS (مسؤول النظام المعتمد من مؤسسة Linux Foundation) القطع 1 عبر 10 وقم بتغطية الموضوعات التالية لـ Ubuntu و CentOS و openSUSE:
الجزء الأول: كيفية استخدام GNU 'sed' Command لإنشاء وتعديل ومعالجة الملفات في Linux
مهم: بسبب التغييرات في متطلبات شهادة LFCS فعالة فبراير. 2, 2016، نقوم بتضمين الموضوعات الضرورية التالية لسلسلة LFCS المنشورة هنا. للتحضير لهذا الاختبار ، نشجعك بشدة على استخدام سلسلة LFCE كذلك.
هذا المنشور جزء 1 من أ سلسلة من 20 برنامج تعليمي، والتي ستغطي المجالات والكفاءات اللازمة المطلوبة لـ LFCS امتحان الشهادة. ومع ذلك ، قم بتشغيل المحطة الخاصة بك ، ولنبدأ.
يتعامل Linux مع المدخلات والمخرجات من البرامج كتدفقات (أو تسلسلات) من الأحرف. لبدء فهم إعادة التوجيه والأنابيب ، يجب أن نفهم أولاً الأنواع الثلاثة الأكثر أهمية من تدفقات الإدخال / الإخراج (الإدخال والإخراج) ، والتي هي في الواقع ملفات خاصة (حسب الاصطلاح في UNIX و Linux ، يتم أيضًا التعامل مع تدفقات البيانات والأجهزة الطرفية أو ملفات الجهاز كملفات عادية).
الفرق بين > (عامل إعادة التوجيه) و | (مشغل خط الأنابيب) هو أنه بينما يربط الأول أمرًا بملف ، فإن الأخير يربط إخراج الأمر بأمر آخر.
# أمر> ملف. # command1 | أمر 2.
نظرًا لأن عامل إعادة التوجيه ينشئ الملفات أو يستبدلها بصمت ، يجب أن نستخدمها بحذر شديد ، وألا نخطئ أبدًا في وجود خط أنابيب. تتمثل إحدى ميزات الأنابيب على أنظمة Linux و UNIX في عدم وجود ملف وسيط معني أنبوب - لا تتم كتابة stdout للأمر الأول في ملف ثم يقرأه الأمر الثاني قيادة.
في التدريبات التالية سوف نستخدم القصيدة "طفل سعيد"(مؤلف مجهول).
الاسم سيد اختصار لمحرر الدفق. بالنسبة لأولئك الذين ليسوا على دراية بالمصطلح ، يتم استخدام محرر دفق لإجراء تحويلات النص الأساسية على دفق الإدخال (ملف أو إدخال من خط أنابيب).
الاستخدام الأساسي (والشائع) لـ sed هو استبدال الأحرف. سنبدأ بتغيير كل تكرار للحروف الصغيرة ذ إلى الحالة العليا ص وإعادة توجيه الإخراج إلى ahappychild2.txt. ال ز يشير العلم إلى أن sed يجب أن يقوم بالاستبدال لجميع مثيلات المصطلح في كل سطر من الملف. إذا تم حذف هذا العلم ، فسيحل sed محل التواجد الأول للمصطلح في كل سطر فقط.
# sed 's / term / replace / flag' ملف.
# sed 's / y / Y / g' ahappychild.txt> ahappychild2.txt.
هل تريد البحث عن حرف خاص أو استبداله (مثل /, \, &) تحتاج إلى الهروب منه ، في المصطلح أو سلاسل الاستبدال ، بشرطة مائلة للخلف.
على سبيل المثال ، سوف نستبدل الكلمة وعلامة العطف. في نفس الوقت سوف نستبدل الكلمة أنا مع أنت عندما يتم العثور على أول واحد في بداية السطر.
# sed 's / و / \ & / g؛ s / ^ أنا / أنت / g 'ahappychild.txt.
في الأمر أعلاه ، أ ^ (علامة الإقحام) هي تعبير نمطي معروف يستخدم لتمثيل بداية السطر.
كما ترى ، يمكننا دمج أمرين أو أكثر من أوامر الاستبدال (واستخدام التعبيرات العادية داخلهما) عن طريق فصلهما بفاصلة منقوطة وإحاطة المجموعة بداخل علامات اقتباس مفردة.
استخدام آخر لـ sed هو إظهار (أو حذف) جزء مختار من الملف. في المثال التالي ، سنعرض أول 5 أسطر من /var/log/messages من 8 يونيو.
# sed -n '/ ^ 8 يونيو / p' / var / log / messages | Sed -n 1،5p.
لاحظ أنه افتراضيًا ، تطبع sed كل سطر. يمكننا تجاوز هذا السلوك بامتداد -ن الخيار ثم أخبر sed للطباعة (المشار إليها بواسطة ص) فقط جزء الملف (أو الأنبوب) الذي يتطابق مع النمط (8 يونيو في بداية السطر في الحالة الأولى والخطوط من 1 إلى 5 في الحالة الثانية).
أخيرًا ، قد يكون من المفيد أثناء فحص البرامج النصية أو ملفات التكوين فحص الكود نفسه وترك التعليقات. يحذف عنصر sed التالي أحادي الخط (د) الأسطر الفارغة أو تلك التي تبدأ بـ # (ال | يشير الحرف إلى OR منطقي بين التعبيرين العاديين).
# sed '/ ^ # \ | ^ $ / d' apache2.conf.
ال فريد يسمح لنا الأمر بالإبلاغ عن الأسطر المكررة في ملف أو إزالتها ، والكتابة إلى stdout افتراضيًا. يجب أن نلاحظ ذلك فريد لا يكتشف الخطوط المتكررة ما لم تكن متجاورة. هكذا، فريد يشيع استخدامه مع ما يسبقه فرز (والذي يستخدم لفرز أسطر الملفات النصية). بشكل افتراضي، فرز يأخذ الحقل الأول (مفصولة بمسافات) كحقل رئيسي. لتحديد حقل مفتاح مختلف ، نحتاج إلى استخدام -ك اختيار.
ال du –sch / path / to / directory / * يقوم الأمر بإرجاع استخدام مساحة القرص لكل أدلة فرعية وملفات ضمن الدليل المحدد بتنسيق يمكن قراءته بواسطة الإنسان التنسيق (يعرض أيضًا الإجمالي لكل دليل) ، ولا يطلب الإخراج حسب الحجم ، ولكن حسب الدليل الفرعي واسم الملف. يمكننا استخدام الأمر التالي للفرز حسب الحجم.
# du -sch / var / * | فرز –h.
يمكنك حساب عدد الأحداث في السجل حسب التاريخ من خلال إخباره فريد لإجراء المقارنة باستخدام أول 6 أحرف (-w 6) من كل سطر (حيث يتم تحديد التاريخ) ، ووضع بادئة لكل سطر إخراج بعدد التكرارات (-ج) بالأمر التالي.
# cat /var/log/mail.log | uniq -c -w 6.
أخيرًا ، يمكنك الجمع فرز و فريد (كما هي عادة). انظر إلى الملف التالي مع قائمة المتبرعين وتاريخ التبرع والمبلغ. لنفترض أننا نريد معرفة عدد المتبرعين الفريدين. سنستخدم الأمر التالي لقص الحقل الأول (الحقول محددة بنقطتين) والفرز حسب الاسم وإزالة الأسطر المكررة.
# cat sortuniq.txt | قطع -d: -f1 | فرز | فريد.
اقرأ أيضا: 13 أمثلة الأوامر "القط"
grep يبحث في الملفات النصية أو (إخراج الأمر) عن حدوث تعبير عادي محدد ويخرج أي سطر يحتوي على تطابق مع الإخراج القياسي.
عرض المعلومات من /etc/passwd بالنسبة للمستخدم gacanepa ، تجاهل الحالة.
# grep -i gacanepa / etc / passwd.
إظهار كافة محتويات /etc الذي يبدأ اسمه ب RC متبوعًا بأي رقم منفرد.
# ls -l / إلخ | grep rc [0-9]
اقرأ أيضا: 12 أمثلة على الأمر "grep"
ال آر يمكن استخدام الأمر لترجمة (تغيير) أو حذف الأحرف من stdin ، وكتابة النتيجة إلى stdout.
قم بتغيير كل الأحرف الصغيرة إلى أحرف كبيرة في ملف sortuniq.txt.
# cat sortuniq.txt | tr [: Lower:] [: upper:]
اضغط على المحدد في إخراج ls –l لمساحة واحدة فقط.
# ls -l | tr-s "
ال يقطع يستخرج الأمر أجزاء من سطور الإدخال (من stdin أو ملفات) ويعرض النتيجة على الإخراج القياسي ، بناءً على عدد البايت (-ب الخيار) ، الشخصيات (-ج) ، أو الحقول (-F). في هذه الحالة الأخيرة (استنادًا إلى الحقول) ، يكون فاصل الحقول الافتراضي هو علامة تبويب ، ولكن يمكن تحديد محدد مختلف باستخدام -د اختيار.
استخراج حسابات المستخدمين والأصداف الافتراضية المعينة لهم من /etc/passwd (ال -د يسمح لنا الخيار بتحديد محدد المجال ، و -F يشير التبديل إلى الحقل (الحقول) الذي سيتم استخراجه.
# cat / etc / passwd | قطع -d: -f1،7.
بإيجاز ، سننشئ دفقًا نصيًا يتكون من الملفين الأول والثالث غير الفارغ لمخرجات ملف الاخير قيادة. سوف نستخدم grep كعامل تصفية أول للتحقق من جلسات المستخدم جاكانيبا، ثم ضغط المحددات على مسافة واحدة فقط (tr -s ‘ ‘). بعد ذلك ، سنستخرج الحقلين الأول والثالث باستخدام يقطع، وأخيرًا قم بالفرز حسب الحقل الثاني (عناوين IP في هذه الحالة) الذي يظهر فريدًا.
# الماضي | grep gacanepa | tr -s '| قطع -d "-f1،3 | فرز -k2 | فريد.
يوضح الأمر أعلاه كيف يمكن دمج الأوامر والأنابيب المتعددة للحصول على بيانات تمت تصفيتها وفقًا لرغباتنا. لا تتردد أيضًا في تشغيله على أجزاء ، لمساعدتك في رؤية الإخراج المتسلسل من أمر إلى آخر (يمكن أن تكون هذه تجربة تعليمية رائعة ، بالمناسبة!).
على الرغم من أن هذا المثال (مع بقية الأمثلة الموجودة في البرنامج التعليمي الحالي) قد لا يبدو مفيدًا جدًا للوهلة الأولى ، إلا أنهما يمثلان نقطة بداية لطيفة لبدء تجربة الأوامر المستخدمة لإنشاء الملفات وتحريرها ومعالجتها من أمر Linux خط. لا تتردد في ترك أسئلتك وتعليقاتك أدناه - سيكونون موضع تقدير كبير!