الفصل 3.4 - إدارة الملفات
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- تحرير الملفات باستخدام vi/vim وnano
- مقارنة الملفات
- الأرشفة والضغط
- إدارة الروابط الرمزية والصلبة
تحرير الملفات
nano (بسيط)
محرر بسيط وسهل الاستخدام:
# فتح ملف
nano fichier.txt
# اختصارات nano:
# Ctrl+O : حفظ
# Ctrl+X : خروج
# Ctrl+W : بحث
# Ctrl+K : قص السطر
# Ctrl+U : لصق
المزايا:
- سهل الاستخدام
- عرض الاختصارات
- مثالي للمبتدئين
vim (متقدم)
محرر قوي وقابل للتكوين:
# فتح ملف
vim fichier.txt
# أوضاع vim:
# عادي (افتراضي): تنقل
# إدراج (i): تحرير
# أوامر (:): أوامر
# أوامر أساسية:
# i : وضع الإدراج
# Esc : العودة للوضع العادي
# :w : حفظ
# :q : خروج
# :wq : حفظ وخروج
# :q! : خروج بدون حفظ
# dd : حذف السطر
# yy : نسخ السطر
# p : لصق
المزايا:
- قوي جدًا
- متاح في كل مكان
- فعال عند إتقانه
مقارنة الملفات
diff
مقارنة ملفين:
# مقارنة بسيطة
diff file1.txt file2.txt
# موحد (أكثر قابلية للقراءة)
diff -u file1.txt file2.txt
# تجاهل المسافات
diff -w file1.txt file2.txt
# تكراري على الدلائل
diff -r dir1/ dir2/
cmp
مقارنة بايت ببايت:
cmp file1.txt file2.txt
الأرشفة والضغط
tar
أرشفة الملفات:
# إنشاء أرشيف
tar -cf archive.tar fichiers/
tar -czf archive.tar.gz fichiers/ # مع ضغط gzip
tar -cjf archive.tar.bz2 fichiers/ # مع ضغط bzip2
# استخراج
tar -xf archive.tar
tar -xzf archive.tar.gz
tar -xjf archive.tar.bz2
# عرض المحتوى
tar -tf archive.tar
# الخيارات:
# -c : إنشاء
# -x : استخراج
# -f : ملف
# -z : gzip
# -j : bzip2
# -v : مفصل
zip/unzip
تنسيق ZIP:
# إنشاء
zip archive.zip fichier1.txt fichier2.txt
zip -r archive.zip repertoire/
# استخراج
unzip archive.zip
unzip archive.zip -d destination/
# عرض
unzip -l archive.zip
gzip/gunzip
ضغط بسيط:
# ضغط
gzip fichier.txt # إنشاء fichier.txt.gz
# فك الضغط
gunzip fichier.txt.gz
gzip -d fichier.txt.gz
الروابط
الروابط الرمزية
مؤشرات إلى ملفات أخرى:
# إنشاء رابط رمزي
ln -s cible.txt lien.txt
ln -s /chemin/absolu/cible lien
# معرفة إلى أين يشير الرابط
ls -l lien.txt
readlink lien.txt
# حذف
rm lien.txt # يحذف الرابط فقط
الخصائص:
- يمكن أن يشير إلى ملفات أو دلائل
- يمكن أن يشير إلى ملفات غير موجودة
- يمكن أن يعبر أنظمة الملفات
- معرف بـ
lفيls -l
الروابط الصلبة
مرجع مباشر إلى نفس inode:
# إنشاء رابط صلب
ln cible.txt lien.txt
# التحقق (نفس inode)
ls -li cible.txt lien.txt
الخصائص:
- نفس inode كالأصلي
- لا يمكن أن يشير إلى دلائل
- لا يمكن أن يعبر أنظمة الملفات
- حذف الأصلي لا يحذف الرابط
عمليات متقدمة
split
تقسيم ملف:
# تقسيم إلى ملفات من 100 سطر
split -l 100 gros_fichier.txt partie_
# تقسيم حسب الحجم
split -b 10M gros_fichier.txt partie_
join
دمج الملفات:
join file1.txt file2.txt
sort
فرز الملفات:
# فرز
sort fichier.txt
# فرز رقميًا
sort -n nombres.txt
# فرز عكسيًا
sort -r fichier.txt
# فرز حسب العمود
sort -k 2 fichier.txt
uniq
إزالة التكرارات:
# إزالة الأسطر المكررة
uniq fichier.txt
# عد التكرارات
uniq -c fichier.txt
# عرض الفريدة فقط
uniq -u fichier.txt
ملخص
في هذا الفصل، تعلمت:
التحرير: nano (بسيط)، vim (متقدم)
المقارنة: diff، cmp لمقارنة الملفات
الأرشفة: tar، zip لإنشاء الأرشيفات
الضغط: gzip، bzip2 للضغط
الروابط: رمزية (ln -s) وصلبة (ln)
العمليات: split، join، sort، uniq
الخطوات التالية
الفصل 3.5: أذونات الملفات
المختبر 3.1: التنقل والإنشاء
تم إنشاء الفصل في: ديسمبر 2024