انتقال و کپی فایل یکی از ابتداییترین و در عین حال پرکاربردترین کارهایی است که هر کاربر لینوکسی، دیر یا زود، با آن سروکار پیدا میکند. از جابهجایی یک فایل پیکربندی بین دو پوشه گرفته تا انتقال چند گیگابایت داده بین دو سرور مجزا.
لینوکس برای هر یک از این سناریوها، ابزار یا دستور مشخصی در اختیار کاربر قرار میدهد که یادگیری آنها کار روزمره با سرور را سادهتر، سریعتر و ایمنتر میکند. در این مقاله از بخش آموزش لینوکس در وبلاگ پارسپک، بهطور کامل با دستورهای mv، cp، scp و rsync آشنا میشوید، تفاوتهای آنها را میآموزید و یاد میگیرید چطور فایلها و پوشهها را هم بهصورت محلی و هم بین دو سرور مختلف منتقل یا کپی کنید.
اهمیت انتقال فایل در لینوکس
بخش بزرگی از کار روزمره با سرورهای لینوکسی، جابهجایی دادههاست. از گرفتن نسخه پشتیبان از فایلهای پیکربندی و انتقال آنها به یک مسیر امن، تا استقرار (Deploy) فایلهای یک پروژه روی سرور تولید یا همگامسازی دادهها بین چند سرور. اگر این کار بهدرستی و با دستور مناسب انجام نشود، ممکن است دادهها با تاخیر زیاد منتقل شوند، سطح دسترسی یا مالکیت فایلها بههم بریزد یا حتی در میانه انتقال، بخشی از اطلاعات ناقص یا آسیبدیده باقی بماند.
به همین دلیل، آشنایی با دستورات لینوکس مرتبط با کپی و انتقال فایل و انتخاب درست بین آنها بر اساس نوع نیاز (لوکال یا از راه دور، حجم پایین یا حجم بالا، یکباره یا تکرار شونده)، مستقیما روی امنیت دادهها و سرعت مدیریت سرور تاثیر میگذارد.

دستور mv برای انتقال فایل در لینوکس
دستور mv (مخفف move) برای جابهجاکردن فایلها و دایرکتوریها در سیستمعامل لینوکس استفاده میشود. نکته مهم این است که برخلاف cp، این دستور از فایل مبدا نسخهبرداری نمیکند، بلکه خود فایل را به مکان جدید منتقل و آن را از مسیر قبلی حذف میکند. از همین دستور برای تغییر نام فایل یا پوشه هم استفاده میشود، چون لینوکس دستور جداگانهای برای تغییر نام ندارد. ساختار کلی دستور بهاینصورت است:
بسیار عالی
ممنون