آموزش کپی کردن فایل و دایرکتوری در لینوکس

زمان مطالعه: 5 دقیقه

یکی از مهارت­‌های لازم و اساسی برای کاربران سیستم­ عامل­‌های لینوکس، مدیریت کردن فایل­‌ها و دایرکتوری­‌ها است. از آنجایی که لینوکس یک سیستم عامل قدرتمند با قابلیت­‌ها و امکانات بسیار است، افراد نیاز دارند تا با دستورات و ابزارهای مختلف آن آشنا شوند تا به بهترین شکل بتوانند از قابلیت­‌های آن استفاده کنند. یکی از پرکاربردترین عملیات در مدیریت فایل­‌ها، انتقال یا کپی کردن فایل­ و دایرکتوری‌ در لینوکس است. کاربران می‌­توانند با استفاده از این عملیات  سیستم خود را بهتر مدیریت کنند.( هاست لینوکس )

در این آموزش، قصد داریم به صورت کامل به عملیات کپی کردن فایل و دایرکتوری در لینوکس بپردازیم، تا بتوانید با روش­‌های مختلف، مدیریت فایل‌­ها و دایرکتوری‌­ها را به بهترین نحو ممکن انجام دهید.

کپی کردن فایل و دایرکتوری در لینوکس
کپی کردن فایل و دایرکتوری در لینوکس

کپی کردن فایل و دایرکتوری در لینوکس

روش­‌های کپی کردن فایل و دایرکتوری در لینوکس

روش‌های مختلفی برای کپی کردن فایل و دایرکتوری در لینوکس وجود دارد. بعضی از این روش­‌ها شامل موارد زیر است:

  • دستور cpبرای کپی کردن فایل و دایرکتوری
  • دستور rsyncبرای همگام سازی و کپی کردن فایل‌ و دایرکتوری ها
  • دستور scpبرای کپی کردن از یک سرور به سرور دیگر
  • دستور mvبرای انتقال یا تغییر نام فایل‌ها و دایرکتوری‌ها (به عنوان کپی نیز عمل می‌کند)

هر یک از روش­‌ها و دستورات بالا، قابلیت و کاربردهای خاص خود را دارند، که در ادامه به معرفی آن­ها می­‌پردازیم.

1. دستور cp برای کپی کردن فایل و دایرکتوری در لینوکس

Cp یکی از دستورات پرکاربرد برای کپی کردن فایل و دایرکتوری در لینوکس است. با استفاده از این دستور می‌توان یک یا چند فایل را از یک دایرکتوری به دایرکتوری دیگر کپی کرد. در زیر نحوه استفاده از دستور cp را بررسی می‌کنیم.

  • کپی کردن یک فایل در مکان دیگر
				
					cp source_file.txt /path/to/destination/
				
			

در دستور بالا، source_file.txt نام فایلی است که می­‌خواهید کپی کنید و/path/to/destination/ مسیر مقصد است.

  • کپی کردن چند فایل در مکان دیگر
				
					cp file1.txt file2.txt /path/to/destination/
				
			

در این دستور، file1.txt و file2.txt به /path/to/destination/ که دایرکتوری مقصد است، کپی می‌شوند.

  • کپی کردن یک دایرکتوری در مکانی دیگر
				
					cp -r source_directory/ /path/to/destination/
				
			

از پارامتر r- یا R- برای کپی کردن دایرکتوری و محتویات آن استفاده می‌شود.

  • کپی کردن با نام جدید
				
					cp source_file.txt /path/to/destination/new_name.txt
				
			

در این حالت، فایل source_file.txt به نام جدید new_name.txt در /path/to/destination/ کپی می‌شود.

  • کپی کردن فایل در چندین دایرکتوری

برای کپی کردن یک فایل در دو دایرکتوری باید توجه داشته باشید که اگر دایرکتوری‌های مقصد وجود نداشته باشند، دستور cp با خطا مواجه می‌شود. فرض کنید فایل example.txt را در سرور لینوکس داریم و می‌خواهیم آن را به دایرکتوری مختلف به نام‌های backup1 و backup2 کپی کنیم، پس از ایجاد کردن دایرکتوری ‌های مقصد می‌توانیم از دستور زیر برای کپی کردن استفاده کنیم:

				
					cp example.txt backup1/ backup2/
				
			

با استفاده از دستور بالا فایل example.txt در دو دایرکتوری backup1 و backup2 کپی خواهد شد.

فرض کنید می‌خواهید یک فایل خاص را به پنج دایرکتوری یا بیشتر کپی کنید. برای این کار می‌توانید از جوینرها (*) برای انتخاب چندین دایرکتوری با یک بار اجرای دستور cp استفاده کنید. این دستور به صورت زیر است:

				
					cp example.txt /path/to/destination*/
				
			

این دستور موجب کپی شدن فایل  example.txt به همه دایرکتوری‌هایی که با /path/to/backup*/ (مانند backup1، backup2، backup3 و...، backupN) شروع  می­‌شوند به عنوان مقصد انتخاب شوند و فایل در همه این دایرکتوری‌ها کپی شود.

پارامترهای دستور cp

Cp یکی از دستورات پرکاربرد در لینوکس برای کپی کردن فایل و دایرکتوری است. با استفاده از این دستور می­توان یک یا چند فایل را از یک دایرکتوری به دایرکتوری دیگر کپی کرد. در زیر نحوه استفاده از دستور cp را بررسی می­کنیم.

  • (recursive) r-این پارامتر فایل‌ها و دایرکتوری‌ها را با همه زیرمجموعه‌ها (بازگشتی) کپی می‌کند.
  • (interactive) i-در صورت وجود فایل با نام یکسان در دایرکتوری مقصد، این دایرکتوری از شما درخواست تایید می‌خواهد.
  • (update) u-این پارامتر، فقط فایل‌هایی که جدیدتر از فایل‌های مشابه خود در دایرکتوری مقصد هستند را کپی می‌کند.
  • (verbose) v-این پارامتر اقدامات و اطلاعات دستور cp را در وضعیت جاری نمایش می‌دهد.
روش های کپی کردن فایل و دایرکتوری
روش های کپی کردن فایل و دایرکتوری

روش های کپی کردن فایل و دایرکتوری در لینوکس

مطالب بیشتر اطلاعات بیشتر

کالی لینوکس چست؟ چرا در تست نفوذ اهمیت دارد؟

2. کپی کردن فایل و دایرکتوری در لینوکس با استفاده از دستور rsync

rsync یک ابزار قدرتمند برای همگام‌سازی سریع و کپی کردن فایل­ و دایرکتوری در لینوکس است، که برای مدیریت فایل‌ها و دایرکتوری استفاده می‌شود. rsync می‌تواند از راه دور یا به صورت محلی عمل کند. در زیر دستورات rsync برای کپی کردن فایل و دایرکتوری در لینوکس آورده شده است:

  • کپی کردن یک فایل در دایرکتوری دیگر
				
					rsync -r source_directory/ /path/to/destination/
				
			
  • کپی کردن یک دایرکتوری در دایرکتوری دیگر
				
					rsync source_file.txt /path/to/destination/
				
			

از پارامتر r- یا R- برای همگام‌سازی دایرکتوری و محتویات آن استفاده می‌شود.

  • کپی کردن با حفظ ساختار دایرکتوری در مقصد
				
					rsync -av source_directory/ /path/to/destination/
				
			

از پارامتر a- برای حفظ ساختار ویژگی‌های فایل (شامل دسترسی‌ها، زمان‌های تغییر و ...) استفاده می‌شود. همچنین پارامتر v- جزئیات بیشتری در مورد عملیات rsync را نمایش می‌دهد.

  • کپی کردن در یک سرور از طریق SSH
				
					rsync -av -e ssh source_directory/ username@remote_host:/path/to/destination/
				
			

در این مثال، username نام کاربری شما و remote_host آدرس سرور از راه دور است. استفاده از –e ssh به rsync به معنای استفاده از پروتکل SSH برای اتصال است.

پارامترهای r- و u- و v- دقیقا مشابه پارامترهای دستور cp هستند. یک پارامتر دیگر برای دستور cp وجود دارد:

(archive) a- : این پارامتر مشابه r- عمل می­کند با این تفاوت که اطلاعات بیشتری را حفظ می­کند، از جمله سطوح دسترسی، زمان­‌های تغییر و ...

3. دستور scp

با استفاده از دستور scp (secure copy) در لینوکس، از طریق پروتکل SSH می­توانید اطلاعات را رمزگذاری کرده و فایل­ها و دایرکتوری­ها را از یک دایرکتوری به دایرکتوری دیگر به صورت امن انتقال ­دهید. این دستور زمانی مورد استفاده قرار می­گیرد که نیاز به انتقال فایل­ها بین دو سیستم (محلی یا از راه دور) با امنیت بالا دارید.

  • کپی کردن یک فایل به یک سرور از راه دور
				
					scp source_file.txt username@remote_host:/path/to/destination/
				
			
  • source_file.txtنام فایل مبدا
  • usernameنام کاربری در سرور مقصد
  • remote_hostآدرس سرور از راه دور
  • /path/to/destinationمسیر مقصد در سرور از راه دور
  • کپی کردن یک دایرکتوری به یک سرور از راه دور
				
					scp -r source_directory/ username@remote_host:/path/to/destination/
				
			

پارامتر r- یا R- برای کپی کردن دایرکتوری و محتویات آن به صورت بازگشتی استفاده می­شود.

  • کپی کردن فایل از سرور از راه دور به سیستم محلی
				
					scp username@remote_host:/path/to/source_file.txt /path/to/destination/
				
			

این دستور فایل مورد نظر را از سرور به سیستم محلی کپی می­کند.

  • کپی کردن دایرکتوری از سرور از راه دور به سیستم محلی
				
					scp -r username@remote_host:/path/to/source_directory/ /path/to/destination/
				
			

با اضافه کردن پارامتر r- یا R- می­توانید یک دایرکتوری و محتویات آن را از سرور به سیستم محلی کپی کنید.

پارامترهای دستور scp

  • (recursive) r- این پارامتر فایل‌ها و دایرکتوری‌ها را به بازگشتی از یک سرور به سیستم محلی یا برعکس کپی می‌کند.
  • (identity_file) i-این پارامتر به شما اجازه می‌دهد تا مسیر فایل کلید خصوصی (private key)، مرتبط با اتصال را مشخص کنید.
  • (preserve) p-این پارامتر وضعیت سطوح فایل‌ها (مانند تاریخ ایجاد و دسترسی) را حفظ می‌کند.
  • (verbose) v-این پارامتر اطلاعات بیشتری درباره اجرای دستور نشان می‌دهد.

بدون دیدگاه

دیدگاهتان را بنویسید

هاستvpsسرور اختصاصی