You are on page 1of 11

‫معمل رقم (‪)6‬‬

‫األمر ‪ Pipe‬و ‪ grep‬و ‪ Sort‬في اللينكس‬


‫) ‪(Pipe, grep and Sort Command in Linux‬‬
‫ما هو األنبوب (‪ ) pipe‬في لينكس؟‬
‫‪ pipe‬هو أمر في ‪ Linux‬يتيح لك استخدام أمرين أو أكثر بحيث يكون إخراج أحد األوامر‬
‫بمثابة إدخال لألمر التالي‪ .‬باختصار ‪ ،‬ناتج كل عملية مباشرة كمدخل للعملية التالية مثل‬
‫خط األنابيب‪ .‬الرمز "|" يدل على األنبوب‪.‬‬

‫دعونا نفهم هذا بمثال‪.‬‬

‫عند استخدام األمر "‪ "cat‬لعرض ملف يمتد على عدة صفحات ‪ ،‬ينتقل الموجه بسرعة إلى‬
‫الصفحة األخيرة من الملف ‪ ،‬وال ترى المحتوى في المنتصف‪.‬‬

‫لتجنب ذلك ‪ ،‬يمكنك توجيه إخراج األمر "‪ "cat‬إلى "‪ "less‬والذي سيظهر لك طول‬
‫تمرير واحد فقط للمحتوى في كل مرة‪.‬‬

‫‪cat filename | less‬‬

‫التوضيح من شأنه أن يوضح ذلك‪.‬‬


" more"‫ " و‬pg " ‫األمر‬ ❖

ً ‫ يمكنك أي‬، " less" ‫بدالً من‬


:‫ضا استخدام‬

cat Filename | pg

:‫أو‬
cat Filename | more
‫ويمكنك عرض الملف في أجزاء قابلة للفهم والتمرير ألسفل بمجرد الضغط على مفتاح‬
‫اإلدخال‪.‬‬

‫األمر "‪"grep‬‬
‫افترض أنك تريد البحث عن معلومات معينة في الرمز البريدي من ملف نصي‪.‬‬

‫يمكنك تصفح المحتوى يدويًا بنفسك لتتبع المعلومات‪ .‬الخيار األفضل هو استخدام األمر‬
‫‪ .grep‬سيقوم بمسح المستند ضوئيًا للحصول على المعلومات المطلوبة وتقديم النتيجة‬
‫بالتنسيق الذي تريده‪.‬‬

‫❖بناء الجملة‪:‬‬
‫‪grep search_string‬‬

‫✓ دعونا نراه في العمل‪:‬‬


‫هنا ‪ ،‬بحث األمر ‪ grep‬في الملف '‪ ، 'sample‬عن السلسلة '‪ 'Apple‬و '‪.'Eat‬‬

‫❖ يمكن استخدام الخيارات التالية مع هذا األمر‪:‬‬


‫خيار‬ ‫وظيفة‬
‫‪-v‬‬ ‫يظهر كل األسطر التي ال تتطابق مع السلسلة التي تم البحث عنها‬
‫‪-c‬‬ ‫يعرض فقط عدد األسطر المطابقة‬
‫‪-n‬‬ ‫يظهر الخط المطابق ورقمه‬
‫‪-i‬‬ ‫تطابق كل من حالة األحرف (العلوية والسفلية)‬
‫‪-l‬‬ ‫يظهر فقط اسم الملف بالسلسلة‬

‫دعونا نجرب الخيار األول " ‪ " -i‬على نفس الملف المستخدم أعاله‪:‬‬

‫باستخدام الخيار "‪ ، "i‬نجح ‪ grep‬في تصفية السلسلة "‪( "a‬غير حساسة لحالة األحرف)‬
‫من جميع السطور‪.‬‬
‫األمر " ‪" sort‬‬
‫يساعد هذا األمر في ترتيب محتويات الملف أبجديًا‪.‬‬

‫✓ صيغة هذا األمر هي‪:‬‬


‫‪sort Filename‬‬

‫ضع في اعتبارك محتويات الملف‪.‬‬

‫✓ باستخدام األمر ‪: sort‬‬

‫• حيث ‪ abc‬اسم الملف وليست البيانات المراد ترتيبها‬

‫❖ هناك امتدادات لهذا األمر أيضًا ‪ ،‬وهي مذكورة أدناه‪:‬‬


‫خيار‬ ‫وظيفة‬
‫‪-r‬‬ ‫يعكس الترتيب‬
‫‪-n‬‬ ‫يرتب عدديًا‬
‫‪-f‬‬ ‫ترتيب غير حساس لحالة األحرف‬

‫✓ يوضح المثال أدناه الترتيب العكسي للمحتويات في ملف "‪:"abc‬‬


‫ما هو ال ‪ Filter‬؟‬
‫يحتوي ‪ Linux‬على الكثير من أوامر التصفية مثل ‪ awk‬و ‪ grep‬و ‪ sed‬و ‪ spell‬و‬
‫‪ .wc‬يأخذ المرشح المدخالت من أمر واحد ‪ ،‬ويقوم ببعض المعالجة ‪ ،‬ويعطي اإلخراج‪.‬‬

‫عند توجيه أمرين ‪ ،‬يتم إعطاء اإلخراج "المصفاة" لألمر األول إلى التالي‪.‬‬

‫✓ دعنا نفهم هذا بمساعدة مثال‪:‬‬


‫لدينا الملف التالي "‪:"sample‬‬

‫نريد تسليط الضوء فقط األسطر التي ال تحتوي على الحرف "‪ ، "a‬ولكن النتيجة يجب أن‬
‫تكون بترتيب عكسي‪.‬‬

‫✓ لهذا ‪ ،‬يمكن استخدام النحو التالي‪:‬‬


‫‪cat sample | grep -v a | sort – r‬‬
‫✓ دعونا نلقي نظرة على النتيجة‪:‬‬
‫معمل رقم (‪)7‬‬

‫قائمة متغيرات البيئة في اللينكس‬


‫(‪)List of Environment Variables in Linux‬‬

‫ما هي بيئة الحوسبة؟‬


‫بيئة الحوسبة هي النظام األساسي (النظام األساسي = نظام التشغيل ‪ +‬المعالج) حيث يمكن‬
‫للمستخدم تشغيل البرامج‪.‬‬

‫ما هو المتغير؟‬
‫في علوم الكمبيوتر ‪ ،‬المتغير هو موقع لتخزين قيمة يمكن أن تكون اسم ملف أو نص أو‬
‫رقم أو أي بيانات أخرى‪ .‬يشار إليها عادة باسمها الرمزي الذي يتم إعطاؤه لها أثناء‬
‫اإلنشاء‪ .‬يمكن عرض القيمة المخزنة على هذا النحو وحذفها وتحريرها وإعادة حفظها‪.‬‬

‫دورا مه ًما في برمجة الكمبيوتر ألنها تمكن المبرمجين من كتابة برامج‬


‫تلعب المتغيرات ً‬
‫نظرا الرتباطها بنظام التشغيل الذي نعمل عليه ‪ ،‬فمن المهم معرفة بعضها وكيف‬ ‫مرنة‪ً .‬‬
‫يمكننا التأثير عليها‪.‬‬

‫ما هي متغيرات البيئة؟‬


‫متغيرات البيئة هي قيم ديناميكية تؤثر على العمليات أو البرامج على الكمبيوتر‪ .‬توجد في‬
‫كل نظام تشغيل ‪ ،‬ولكن قد تختلف األنواع‪ .‬يمكن إنشاء متغيرات البيئة وتحريرها وحفظها‬
‫وحذفها وإعطاء معلومات حول سلوك النظام‪.‬‬
‫❖ دعنا ندرس بعض متغيرات البيئة الشائعة‪:‬‬
‫عامل‬ ‫وصف‬
‫‪PATH‬‬ ‫يحتوي هذا المتغير على نقطتين (‪ - ):‬قائمة منفصلة بالدالئل التي يبحث فيها نظامك عن الملفات‬
‫القابلة للتنفيذ‪.‬‬

‫عندما تقوم بإدخال أمر في المحطة الطرفية ‪ ،‬فإن ‪ shell‬يبحث عن األمر في مجلدات مختلفة‬
‫مذكورة في المتغير ‪ .$PATH‬إذا تم العثور على األمر ‪ ،‬يتم تنفيذه‪ .‬خالف ذلك ‪ ،‬فإنه يعود مع‬
‫الخطأ "األمر غير موجود"‪.‬‬
‫‪USER‬‬ ‫اسم المستخدم‬
‫‪HOME‬‬ ‫المسار االفتراضي إلى الدليل الرئيسي للمستخدم‬
‫‪EDITOR‬‬ ‫المسار إلى البرنامج الذي يقوم بتحرير محتوى الملفات‬
‫‪UID‬‬ ‫معرف المستخدم الفريد‬
‫ّ‬
‫‪TERM‬‬ ‫محاكي المحطة االفتراضي‬
‫‪SHELL‬‬ ‫يتم استخدام صدفة من قبل المستخدم‬

‫الوصول إلى قيم المتغيرات‬


‫لتحديد قيمة المتغير ‪ ،‬استخدم األمر ‪echo‬‬
‫‪echo $VARIABLE‬‬

‫المتغيرات ‪ -‬حساسة لحالة األحرف‪ .‬تأكد من كتابة اسم المتغير في حالة األحرف الصحيحة‬
‫وإال فقد ال تحصل على النتائج المرجوة‪.‬‬
‫يعرض األمر "‪ "env‬جميع متغيرات البيئة‪.‬‬

‫تعيين متغيرات البيئة الجديدة‬

‫❖ يمكنك إنشاء المتغير المحدد من قبل المستخدم الخاص بك ‪ ،‬مع بناء الجملة‪:‬‬
‫‪VARIABLE_NAME= variable_value‬‬

‫اسم المتغير= قيمة المتغير‬

‫مرة أخرى ‪ ،‬ضع في اعتبارك أن المتغيرات حساسة لحالة األحرف وعادة ما يتم إنشاؤها‬
‫بأحرف كبيرة‪.‬‬
‫حذف المتغيرات‬
‫متغير من النظام‪:‬‬ ‫✓ يمكن استخدام الصيغة التالية إلزالة‬
‫‪unset variablename‬‬

‫اسم المتغير ‪unset‬‬

‫سيؤدي هذا إلى إزالة المتغير وقيمته بشكل دائم‪.‬‬

You might also like