انتقل إلى المحتوى الرئيسي

الفصل 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