File Transfer في Linux: استخدام scp وrsync وsftp عمليًا

بعد تعلم SSH، الخطوة الطبيعية هي تعلم نقل الملفات بين جهازك والخوادم بطريقة آمنة وعملية.

في هذا الدرس ستتعلم أشهر أدوات Linux لهذا الغرض: scp وrsync وsftp.

لماذا نقل الملفات باحتراف مهم في Linux؟

  • نشر الأكواد وملفات الإعداد على الخوادم
  • أخذ نسخ احتياطية واسترجاعها
  • مزامنة مجلدات كبيرة بكفاءة

الأمر scp: نقل مباشر عبر SSH

scp local.txt user@server:/home/user/
scp user@server:/etc/nginx/nginx.conf .
scp -r project/ user@server:/var/www/
  • scp local remote: رفع ملف
  • scp remote local: تحميل ملف
  • -r: نقل مجلد كامل

استخدام منفذ SSH مخصص مع scp

scp -P 2222 app.tar.gz user@server:/tmp/

انتبه أن scp يستخدم -P (حرف كبير) لتحديد المنفذ.

الأمر rsync: مزامنة ذكية وسريعة

rsync -avz project/ user@server:/var/www/project/
rsync -avz user@server:/var/backups/ ./backups/
rsync -avz --delete build/ user@server:/var/www/app/
الخيار الفائدة
-a وضع الأرشفة (يحافظ على الخصائص)
-v تفاصيل النقل
-z ضغط أثناء النقل
--delete حذف الملفات غير الموجودة في المصدر
تنبيه: استخدم --delete بحذر شديد لأنه قد يحذف ملفات على الوجهة.

الأمر sftp: جلسة تفاعلية لنقل الملفات

sftp user@server.example.com
sftp -P 2222 user@server.example.com

أوامر داخل جلسة sftp:

ls
cd /var/www
put local.txt
get remote.log
mkdir uploads
exit

اختيار الأداة المناسبة: scp أم rsync أم sftp؟

  • scp: نقل سريع وبسيط
  • rsync: مزامنة فعالة لمجلدات كبيرة وتحديثات متكررة
  • sftp: إدارة تفاعلية للملفات عن بُعد

أفضل ممارسات الأمان أثناء نقل الملفات

  • استخدم مفاتيح SSH بدل كلمات المرور
  • لا تنقل أسرار حساسة بدون تشفير إضافي عند الحاجة
  • تحقق من المسار الهدف قبل النقل
  • استخدم مستخدمًا بصلاحيات محدودة قدر الإمكان

تمرين عملي: نقل مجلد وتجربة المزامنة

mkdir -p /tmp/transfer-lab
echo "hello linux" > /tmp/transfer-lab/readme.txt

# نقل مباشر
scp -r /tmp/transfer-lab user@server:/tmp/

# مزامنة ذكية
rsync -avz /tmp/transfer-lab/ user@server:/tmp/transfer-lab/

إذا وصل الملف إلى الخادم بنجاح ثم عملت المزامنة بدون أخطاء، فقد أتقنت الأساس.

FAQ: أسئلة شائعة حول نقل الملفات في Linux

ما الفرق بين scp وrsync في Linux؟

scp مناسب للنسخ المباشر والبسيط، بينما rsync أذكى للمزامنة ونقل التغييرات فقط.

متى أستخدم sftp؟

استخدم sftp عندما تحتاج جلسة تفاعلية لرفع وتحميل وإدارة الملفات عبر SSH.

كيف أنقل مجلد كامل إلى خادم Linux؟

يمكنك استخدام scp -r أو rsync -avz لنقل المجلد بالكامل إلى المسار المطلوب على الخادم.

الخطوة التالية

في الدرس القادم سنتعلم DNS وملف hosts في Linux.

التالي: DNS وhosts
المحرر الذكي

اكتب الكود وشاهد النتيجة فوراً

جرب الآن مجاناً
قناة ديف عربي

تابع أحدث الدروس والتحديثات مباشرة على واتساب

انضم الآن