فصل پنجم: شبکه و انتقال فایل

انتقال فایل با scp و rsync

کپی فایل بین سیستم محلی و سرور

scp (Secure Copy) روی همان پروتکل SSH ساخته شده و امکان کپی امن فایل بین سیستم محلی و یک سرور راه دور را فراهم می‌کند:

scp local_file.txt ali@203.0.113.10:/home/ali/
scp ali@203.0.113.10:/home/ali/report.pdf ./
scp -r ./project ali@203.0.113.10:/home/ali/

دستور اول یک فایل محلی را به سرور می‌فرستد، دومی یک فایل را از سرور دانلود می‌کند، و فلگ -r برای کپی کردن یک پوشه‌ی کامل به‌صورت بازگشتی استفاده می‌شود. نحو کلی همیشه به شکل مبدأ مقصد است و کولون (:) مسیر روی سرور راه دور را از نام کاربر و آدرس جدا می‌کند.

rsync: انتقال هوشمندتر و افزایشی

برای انتقال پوشه‌های بزرگ یا همگام‌سازی مکرر، rsync گزینه‌ی بهتری است، چون فقط بخش‌هایی از فایل‌ها را که تغییر کرده‌اند منتقل می‌کند، نه کل فایل را از ابتدا:

rsync -avz ./project/ ali@203.0.113.10:/home/ali/project/
rsync -avz --delete ./project/ ali@203.0.113.10:/home/ali/project/

-a حالت آرشیو است که مجوزها و ساختار پوشه را حفظ می‌کند، -v جزئیات عملیات را نمایش می‌دهد و -z داده را در حین انتقال فشرده می‌کند. فلگ --delete فایل‌هایی را که در مبدأ حذف شده‌اند از مقصد هم حذف می‌کند تا دو پوشه کاملاً یکسان بمانند؛ توجه کنید که اسلش انتهایی در مسیر پوشه‌ی مبدأ (project/) اهمیت دارد و نحوه‌ی کپی شدن محتوا را تغییر می‌دهد.

برای ذخیره‌ی پیشرفت و شرکت در آزمون، وارد شوید — رایگان است.