أدوات عرض ومعالجة النصوص (cat, nano, vim, less, tail)


يا هلا بالمهندسين! اليوم بنتكلم عن أساسيات التعامل مع النصوص والملفات في Linux. هذي الأدوات بتصير يدك اليمين، سواء كنت بتعرض ملف، تعدل عليه، أو حتى تراقبه.

1. cat (concatenate)

هذي الأداة هي الأبسط والأكثر استخداماً لعرض محتوى الملفات. اسمها اختصار لـ "concatenate" لأنها تقدر تجمع محتوى أكثر من ملف وتعرضه، أو حتى تنشئ ملفات جديدة.

عرض محتوى ملف:

cat my_file.txt

عرض محتوى أكثر من ملف:

cat file1.txt file2.txt

إنشاء ملف جديد (مع إدخال المحتوى مباشرة):

cat > new_file.txt
Hello, this is a new file.
This is the second line.
(اضغط Ctrl+D لإنهاء الإدخال وحفظ الملف)

ملاحظة: cat مفيدة جداً للملفات الصغيرة. للملفات الكبيرة، استخدام cat ممكن يملأ الشاشة بسرعة وتضطر ترجع للأعلى، وهنا تجي فائدة less.

2. less

مثل ما اسمها يوحي، less هي "أقل" من more (أداة قديمة مشابهة). الأداة هذي تسمح لك تتصفح الملفات الكبيرة صفحة بصفحة، تبحث داخلها، وتنتقل بحرية بدون ما تحمل الملف كله في الذاكرة.

عرض ملف بـ less:

less large_log_file.log

أوامر مفيدة داخل less:

  • Spacebar: للنزول صفحة كاملة.
  • b: للرجوع صفحة كاملة.
  • Enter أو : للنزول سطر واحد.
  • : للرجوع سطر واحد.
  • /search_term: للبحث عن كلمة (اضغط n للانتقال للنتيجة التالية، N للسابقة).
  • g: للذهاب لأول الملف.
  • G: للذهاب لآخر الملف.
  • q: للخروج من less.

ملاحظة: less هي خيارك الأول عند التعامل مع ملفات السجلات (logs) الكبيرة أو أي ملف نصي طويل.

3. tail

أداة tail (ذيل) تعرض لك الأجزاء الأخيرة من الملف. هذي الأداة لا غنى عنها لمراقبة ملفات السجلات في الوقت الفعلي.

عرض آخر 10 أسطر من ملف (الافتراضي):

tail my_log_file.log

عرض آخر 20 سطر من ملف:

tail -n 20 my_log_file.log

مراقبة ملف في الوقت الفعلي (مهم جداً للـ logs):

tail -f /var/log/syslog

الأمر tail -f يبقى شغال ويعرض أي محتوى جديد يضاف للملف. عشان توقفه، اضغط Ctrl+C.

ملاحظة: tail -f سحري لمراقبة السيرفرات والتطبيقات. تشوف الأخطاء أول بأول.

4. nano

nano هو محرر نصوص بسيط وسهل الاستخدام، وممتاز للمبتدئين أو للتحرير السريع لملف واحد.

فتح ملف للتعديل (أو إنشاء ملف جديد):

nano my_config.conf

لما تفتح nano، بتشوف واجهة بسيطة في الأسفل تعرض لك الأوامر الأكثر استخداماً (مثل ^X للخروج، ^O للحفظ). علامة ^ تعني زر Ctrl.

أوامر أساسية في nano:

  • Ctrl+O: حفظ التغييرات (Write Out).
  • Ctrl+X: الخروج. إذا كان فيه تغييرات غير محفوظة، بيسألك إذا تبي تحفظها.
  • Ctrl+W: البحث (Where Is).
  • Ctrl+K: قص السطر الحالي.
  • Ctrl+U: لصق.

ملاحظة: nano هو الخيار الأمثل لك إذا كنت تحتاج تعديل سريع وبدون تعقيدات، خصوصاً لو كنت جديد على Linux.

5. vim (Vi IMproved)

وصلنا لملك المحررات، vim! هذا المحرر قوي جداً، قابل للتخصيص بشكل لا يصدق، لكن له منحنى تعلم حاد. بمجرد ما تتقنه، بتصير أسرع بكثير في تحرير النصوص.

vim يعمل بوضعيات مختلفة (modes):

  • Normal Mode (الوضع الطبيعي/القيادي): هذا هو الوضع الافتراضي عند فتح vim. تستخدمه للتنقل، حذف أسطر، نسخ، لصق، والدخول للأوضاع الأخرى.
  • Insert Mode (وضع الإدخال): هذا الوضع اللي تقدر تكتب فيه نصوص.
  • Visual Mode (الوضع المرئي): لتحديد أجزاء من النص.
  • Command-Line Mode (وضع سطر الأوامر): للقيام بأوامر متقدمة (مثل الحفظ، الخروج، البحث والاستبدال).

فتح ملف بـ vim:

vim my_script.sh

لما تفتح الملف، بتكون في Normal Mode.

أوامر أساسية في vim:

  • i: للدخول إلى Insert Mode (للكتابة).
  • Esc: للعودة إلى Normal Mode (مهم جداً بعد الانتهاء من الكتابة).
  • :w: لحفظ التغييرات (في Command-Line Mode، يعني لازم تكتب : قبلها).
  • :q: للخروج من vim (إذا ما كان فيه تغييرات غير محفوظة).
  • :wq: لحفظ التغييرات والخروج.
  • :q!: للخروج بدون حفظ التغييرات (Force Quit).
  • dd: لحذف السطر الحالي (في Normal Mode).
  • yy: لنسخ السطر الحالي (في Normal Mode).
  • p: للصق بعد المؤشر (في Normal Mode).
  • /search_term: للبحث عن كلمة (في Normal Mode).

ملاحظة: تعلم vim يستغرق وقت، لكنه استثمار يستاهل. إذا كنت ناوي تصير مهندس أنظمة Linux محترف، لازم تتعلمه. استخدم vimtutor في الطرفية لتبدأ.

هذي كانت جولة سريعة على أهم أدوات التعامل مع النصوص في Linux. كل أداة لها استخداماتها وميزاتها. استكشفها، جربها، وبتصير جزء لا يتجزأ من عملك اليومي.