في لينُكس، كلش فايل نصّي. من الكونفيغ تاع السيستام، للّوغات، حتى السكريبتات لي تخدم بيهم… كاملهم plain text.
باش تولّي مرتاح مع لينُكس لازم تتعلم كيفاه تقرأ، تقص، تعالج، وتفلتر هاد النصوص بذكاء.
تخيّل راك تخدم في CTF، عندك لوج كبير فيه آلاف الأسطر، والflag مخبية وسطهم.
ولا راك admin في سيرفر، لازم تلقى error معيّن بين تلال تاع logs.
هنا تجي قوة أوامر كيما:
cat
, less
, more
باش تقرأ بسرعةhead
, tail
, cut
باش تجيب جزء معيّنwc
باش تعدّsort
, uniq
باش ترتّب وتصفّيtr
, sed
, awk
باش تعالج النصوص كيما حبيتبهاد الأدوات، تولّي تقدر تحوّل “جبل” تاع داتا لشيء ساهل تقراه وتستغلو.
أول خطوة في التعامل مع أي نص هي تقراه. في لينُكس عندنا بزاف أوامر تساعدنا:
cat
تستعملها باش تعرض كامل الملف في التيرمينال:
cat /etc/passwd
لكن دير بالك ⚠️: لو كان الملف كبير بزاف، يقدر يفيضلك التيرمينال وتضيع.
less
تعطيك تحكّم أحسن. تقدر تتصفح الملف سطر بسطر أو صفحة بصفحة:
less bigfile.log
q
باش تخرج./
ومن بعد تكتب الكلمة.more
تشبه less
، بصح أقدم شوية وأقلّ مرونة. تعرضلك الملف صفحة بصفحة، وكي تحب تزيد تكبس space
.
الخلاصة:
cat
.less
.more
.مرات ما تحتاجش الملف كامل، غير جزء صغير يكفي. هنا يجو هادو:
يعرضلك بداية الملف. افتراضيًا يوريك 10 أسطر:
head /etc/passwd
تقدر تحدّد عدد الأسطر:
head -n 20 /etc/passwd
يعرضلك آخر الملف. نفس الشيء، 10 أسطر افتراضيًا:
tail /var/log/syslog
تقدر تبدّل العدد:
tail -n 50 /var/log/syslog
ميزة مهمّة: المتابعة الحية باستعمال -f
:
tail -f /var/log/auth.log
⚠️ مفيدة كي تكون تراقب الـ logs في الوقت الحقيقي (مثلاً محاولات login مشبوهة).
تستعمل cut
باش تقصّ أعمدة أو أجزاء من السطر.
مثلاً:
cut -d, -f1 users.csv
-d,
يعني الفاصلة هي الفاصل بين الأعمدة.-f1
تعني العمود الأول.تقدّر تختار أكثر من عمود:
cut -d, -f1,3 users.csv
كلمة “wc” معناها word count، بصح هو يعطيلك أكثر:
مثال:
wc /etc/passwd
راح يخرجلك حاجة كيما:
45 78 2560 /etc/passwd
وين:
تقدّر تحدّد وش تحب تشوف:
wc -l
→ الأسطر فقطwc -w
→ الكلمات فقطwc -c
→ الحروف فقطالأمر sort
يرتّبلك الأسطر حسب الترتيب الأبجدي بشكل افتراضي:
sort names.txt
تقدّر ترتّب عكسي (من الكبير للصغير) بـ -r
:
sort -r names.txt
لو عندك أرقام وتحب ترتّبهم كأرقام مش كنصوص، استعمل -n
:
sort -n numbers.txt
مثال عملي:
عندك ملف فيه list تاع IPs، تقدر ترتبهم بسهولة:
sort -n ips.txt
uniq
تستعمل باش تحذف التكرار. بصح دير بالك ⚠️: لازم تستعملها مع sort
، على خاطرها غير تشوف التكرارات المتتابعة.
مثال:
sort names.txt | uniq
هذا يعرضلك قائمة أسماء بلا تكرار.
تقدّر حتى تعدّ التكرار بـ -c
:
sort names.txt | uniq -c
راح يعطيك كم مرة كل عنصر تكرّر.
📌 الخلاصة:
sort
→ يرتّب الأسطر (أبجديًا أو عدديًا).uniq
→ يفلتر التكرارات (عادة مع sort
).tr
معناها translate أو transform. تستعملها باش تبدّل أو تمحي حروف.
مثال: تبديل الحروف الصغيرة لكابيتال:
cat file.txt | tr 'a-z' 'A-Z'
تمسح الحروف “a” من الملف:
cat file.txt | tr -d 'a'
sed
= stream editor. يعطيك قوة كبيرة باش تعالج النصوص أو تبدّلهم مباشرة.
تبديل كلمة داخل الملف:
sed 's/root/admin/g' /etc/passwd
s
= substituteroot
الكلمة القديمةadmin
الكلمة الجديدةg
معناها global (يعني يبدّل كامل المرّات)تقدر حتى تمسح أسطر فيها كلمة معيّنة:
sed '/error/d' logfile.txt
awk
أداة قوية بزاف للـ معالجة بالحقول (fields).
مثال: عندك ملف CSV وتحب تطبع العمود الثاني:
awk -F, '{print $2}' users.csv
أو تطبع العمود الأول والثالث:
awk -F, '{print $1, $3}' users.csv
تقدّر حتى تدير عمليات حسابية:
awk '{sum+=$2} END {print sum}' sales.txt
هذا يجمعلك كل القيم تاع العمود الثاني.
الخلاصة:
tr
→ تبديل أو حذف حروف.sed
→ تعديل النصوص بالبحث والتبديل أو الحذف.awk
→ معالجة متقدمة بالحقول والعمليات.وبهاد نكونو غطّينا أهم أوامر التعامل مع النصوص في لينُكس: من القراءة، القصّ، العدّ، للترتيب والمعالجة المتقدمة. شفنا كيفاه cat
, head
, tail
, wc
, sort
, uniq
, tr
, sed
, awk
يقدرو يسهلو حياتك كي تكون تواجه فايلات كبار ولا logs عامرين.
الفكرة هنا واضحة: ما تحتاجش برامج معقدة باش تتحكم في البيانات، الأدوات تاع لينُكس راهي بين يديك، يكفي تعرف تستعملها وتربطها ببعض.