إنشاء مجلد النسخ الاحتياطي
جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 76 من 82.
التحدي
سهلالآن دعنا نوسع برنامج النسخ الاحتياطي النصي لإنشاء مجلد backup حيث سيتم تخزين الملفات.
أعد كتابة backup.sh من الصفر بحيث يحتوي على البرنامج النصي المكتمل والمحدث. استخدم > للسطر الأول لاستبدال الملف، ثم >> لإلحاق كل سطر تالٍ:
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
echo 'backup_dir="backup"' >> backup.sh
echo 'mkdir -p "$backup_dir"' >> backup.sh
echo 'echo "Created backup folder: $backup_dir"' >> backup.shكل سطر محاط بعلامات تنصيص فردية حتى يكتب الـ shell متغيرات $source_dir و $backup_dir داخل الملف حرفياً بدلاً من استبدالها بقيمها.
ثم اجعله قابلاً للتنفيذ:
chmod +x backup.shأخيراً، قم بتشغيل البرنامج النصي الخاص بك مع استخدام documents كإدخال. هذه الطرفية ليست تفاعلية، لذا قم بتمرير الإجابة عبر الأنبوب (pipe) إلى البرنامج النصي بدلاً من الانتظار لطلبها:
echo "documents" | ./backup.shيجب أن يكون المخرج الخاص بك:
Backing up: documents
Created backup folder: backupتحقق من إنشاء المجلد عن طريق تشغيل ls لعرض محتويات الـ directory. يجب أن يظهر المخرج مجلد backup الجديد إلى جانب ملفاتك الأخرى.
تلميح: الخيار
-pفيmkdir -pيمنع حدوث أخطاء إذا كان الـ directory موجوداً بالفعل. تأكد من استخدام علامات التنصيص حول متغيّراتك (على سبيل المثال،"$backup_dir") للتعامل معها بأمان.
جرّب بنفسك
echo '#!/bin/bash' > backup.sh
echo 'read -p "Enter source directory: " source_dir' >> backup.sh
echo 'echo "Backing up: $source_dir"' >> backup.sh
chmod +x backup.sh
echo "documents" | ./backup.shجميع دروس الأساسيات
2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر