Kodokon kodokon.com

قراءة ملف وإعادة توجيه المخرجات

اعرض محتوى ملف بالأوامر cat وhead وtail، ثم التقط المخرجات في ملف.

7 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

لست بحاجة دائمًا إلى فتح محرّر لمجرّد إلقاء نظرة على ملف. فالأمر cat يطبع محتواه مباشرة في الطرفية. واسمه مأخوذ من concatenate، أي "الوصل طرفًا بطرف"، لأنه يستطيع أيضًا عرض عدة ملفات واحدًا تلو الآخر. وهو الأداة المثالية للملفات الصغيرة: بضع عشرات من الأسطر على الأكثر.

BASH
yoann@laptop:~/my-project$ cat shopping.txt
Bread
Cheese
Tomatoes

yoann@laptop:~/my-project$ cat shopping.txt notes.txt
Bread
Cheese
Tomatoes
Do not forget the Saturday market
cat على ملف واحد، ثم على ملفين يُعرضان واحدًا تلو الآخر.

على ملف من عشرة آلاف سطر، يُمرّر cat الشاشة عشر ثوانٍ ولا تتمكّن من رؤية غير النهاية. وثمة أمران أدقّ: head يعرض بداية الملف، وtail يعرض نهايته. وكلاهما يعرض 10 أسطر بشكل افتراضي، والخيار -n يتيح لك اختيار العدد. ولـ tail قوة خارقة مع الخيار -f (follow): إذ يبقى مفتوحًا ويطبع الأسطر الجديدة فور وصولها. وهكذا تُراقب سجلّ خادم مباشرةً.

BASH
head server.log
head -n 5 server.log
tail -n 20 server.log
tail -f server.log
البداية، ثم أول 5 أسطر، ثم آخر 20، ثم النهاية مباشرةً (Ctrl + C للخروج).

بشكل افتراضي، يكتب الأمر نتيجته على الشاشة. لكن يمكنك تحويل تلك النتيجة إلى ملف، كما تُحوّل الماء من خرطوم إلى دلو. هذه هي إعادة التوجيه، وتُكتب بعلامة زاوية. فالعلامة المفردة > تُرسل المخرجات إلى ملف مع الكتابة فوق كل ما كان يحتويه. والعلامة المزدوجة >> تُضيف إلى النهاية من دون محو أي شيء. هذا الفارق بحرف واحد يُغيّر كل شيء. وللتحقّق مما أنتجته للتوّ من دون طباعته كله، يَعُدّ الأمر wc (word count) مع الخيار -l (lines) عدد أسطر الملف.

BASH
yoann@laptop:~/my-project$ echo "My first line" > notes.txt
yoann@laptop:~/my-project$ echo "My second line" >> notes.txt
yoann@laptop:~/my-project$ cat notes.txt
My first line
My second line
yoann@laptop:~/my-project$ ls -l > inventory.txt
yoann@laptop:~/my-project$ wc -l inventory.txt
7 inventory.txt
أنشئ ملفًا، وأضِف سطرًا، وتحقّق، ثم التقط مخرجات وعُدّ أسطرها.

اختبار المعرفة

تأكّد من أنك تذكّرت النقاط الأساسية في هذا الدرس.

  1. ما وظيفة الأمر cat؟
    • عرض محتوى ملف في الطرفية
    • إنشاء ملف فارغ
    • حذف ملف
    • عدّ أسطر ملف
  2. ما الفرق بين > و>>؟
    • العلامة > تُضيف إلى النهاية، و>> تكتب فوق الملف
    • العلامة > تكتب فوق الملف، و>> تُضيف إلى النهاية
    • لا فرق، فكلتاهما تكتبان في ملف
  3. كيف تعرض آخر 20 سطرًا من الملف server.log؟
    • head -n 20 server.log
    • cat -n 20 server.log
    • tail -n 20 server.log