اعرض محتوى ملف بالأوامر cat وhead وtail، ثم التقط المخرجات في ملف.
افتح هذا الدرس في Kodokonلست بحاجة دائمًا إلى فتح محرّر لمجرّد إلقاء نظرة على ملف. فالأمر cat يطبع محتواه مباشرة في الطرفية. واسمه مأخوذ من concatenate، أي "الوصل طرفًا بطرف"، لأنه يستطيع أيضًا عرض عدة ملفات واحدًا تلو الآخر. وهو الأداة المثالية للملفات الصغيرة: بضع عشرات من الأسطر على الأكثر.
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 الشاشة عشر ثوانٍ ولا تتمكّن من رؤية غير النهاية. وثمة أمران أدقّ: head يعرض بداية الملف، وtail يعرض نهايته. وكلاهما يعرض 10 أسطر بشكل افتراضي، والخيار -n يتيح لك اختيار العدد. ولـ tail قوة خارقة مع الخيار -f (follow): إذ يبقى مفتوحًا ويطبع الأسطر الجديدة فور وصولها. وهكذا تُراقب سجلّ خادم مباشرةً.
head server.log
head -n 5 server.log
tail -n 20 server.log
tail -f server.logبشكل افتراضي، يكتب الأمر نتيجته على الشاشة. لكن يمكنك تحويل تلك النتيجة إلى ملف، كما تُحوّل الماء من خرطوم إلى دلو. هذه هي إعادة التوجيه، وتُكتب بعلامة زاوية. فالعلامة المفردة > تُرسل المخرجات إلى ملف مع الكتابة فوق كل ما كان يحتويه. والعلامة المزدوجة >> تُضيف إلى النهاية من دون محو أي شيء. هذا الفارق بحرف واحد يُغيّر كل شيء. وللتحقّق مما أنتجته للتوّ من دون طباعته كله، يَعُدّ الأمر wc (word count) مع الخيار -l (lines) عدد أسطر الملف.
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.txtcat؟> و>>؟> تُضيف إلى النهاية، و>> تكتب فوق الملف> تكتب فوق الملف، و>> تُضيف إلى النهايةserver.log؟