درود و وقت بخیر خدمت خانواده سیپنل آسیا.

دستور cp در لینوکس یکی از پرکاربردین دستورات بوده و به کمک آن می توان فایل ها و دایرکتوری ها را در مکان مورد نظر کپی کرد. ا در این آموزش شما را به دستور cp بصورت کامل آشنا خواهیم کرد.

کاربرد دستور cp و انواع مختلف آن

به کمک دستور cp و گزینه های تعریفی برای آن می توان کپی را به حالت های مختلفی انجام داد. مثلا می توانیم چندین فایل را با یک دستور به یک مسیر مشخص منتقل کنیم. یا می توانیم در حین کپی کردن یکسری خواص و ویژگی هایی مانند سطح دسترسی و مالکیت نیز برای آنها تعریف کنیم. می توان گفت دستور cp را به اشکال می توانیم اجرا کنیم:

1: cp file file1
2: cp file /home/test
3: cp file1 file2 file3 /home/test
4: cp [OPTION] file file1
5: cp [OPTION] file /home/test
  • حالت اول : کپی فایل با نام دیگر در همان مسیر. مثلا فایل my.cnf بصورت my.cnf.backup در همان مسیر
  • حالت دوم : کپی فایل در مسیری دیگر. مثلا کپی file از مسیر root به مسیر home/test
  • حالت سوم : کپی چند فایل در مسیر دیگر
  • حالت چهارم : کپی همانند حالت اول با ذکر شرایط و خواص مورد نظر. مثلا کپی فایل با حفظ سطح دسترسی و …
  • حالت پنجم : کپی همانند حالت دوم با ذکر شرایط و خواص مورد نظر. مثلا کپی فایل در مسیر دیگر با حفظ دسترسی و …

آموش عملی دستور cp در محیط ssh به کمک نرم افزار putty

برای شروع کار می بایست با استفاده از ابزار putty به سرور وصل شویم. قبل از شروع پیشنهاد می کنیم حتما به مورد زیر توجه کنید:

با توجه به اینکه اشتباه وارد کردن دستورات در لینوکس می توان موجب از دست رفتن اطلاعات یا خرابی سیستم عامل شود توصیه می کنیم برای تمرین کردن از یک سرور که اطلاعات مهمی در آن وجود ندارد استفاده نمایید. پیشنهاد ما تمرین کردن در یک سرور با سیستم عامل خام centos است.

ایجاد فایل و دایرکتوری برای انجام تمرین کار با cp

قصد داریم فایل هایی بصورت file1.txt file2.cnf file3.back ایجاد نماییم. برای ایجاد فایل از دستورات زیر در مسیر root استفاده نمایید:

echo > file1.txt
echo > file2.cnf
echo > file3.back

حال دایرکتوری هایی با نام test1 و test2 به کمک دستور زیر ایجاد می کنیم:

mkdir test1 test2

برای مثال قصد داریم فایل file1.txt را به مسیر test1 کپی کنیم. برای اینکار می بایست دستور زیر را وارد نماییم:

cp file1.txt /test1

اگر بخواهیم فایل را به فولدرهایی در داخل مسیر دیگر مثل test1/dir1/ کپی کنیم بصورت زیر اقدام می کنیم:

cp file1.txt /test1/dir1

حال اگر بخواهیم فایل file1.txt را در همان مسیر به اسم file2.txt کپی کنیم بصورت زیر اقدام می کنیم:

cp file1.txt file2.txt

حال اگر بخواهیم هر سه فایل ایجاد شده را به دایرکتوری test1 کپی کنیم از دستور زیر استفاده می کنیم:

cp file1.txt file2.cnf file3.back test1

حال اگر بخواهیم دایرکتوری test1 را به داخل دایرکتوری test2 منتقل کنیم با دستور زیر اقدام می کنیم:

cp -r test1 test2

با توجه به اینکه دایرکتوری ها محلی برای قرارگیری فایل ها هستند می بایست با ویژگی r- با دستور cp تمامی محتویات آن را به دایرکتوری مورد نظر کپی کنیم. در واقع بدون وارد کردن r- امکان کپی دایرکتوری وجود ندارد.

همچنین اگر قصد داریم نتیجه کار را در دستور cp مشاهده نماییم می بایست از ویژگی v- استفاده کنیم. بصورت:

cp -v file1.txt /test1

با ویژگی p- نیز می توانیم دستور دهیم که خواص و دسترسی های فایل ها محفوظ باشد و تغییری نکند:

cp -p file1.txt /test1

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

یک مدل پرکاربرد دیگری که وجود دارد این است که تمامی فایل ها را کپی کنیم و یا همه پسوندهای خاص مانند txt. را کپی کنیم!

مثلا قصد داریم تمامی فایل های مسیر موجود را به دایرکتوری test2 کپی کنیم. برای اینکار از دستور زیر استفاده می کنیم:

cp * /test2

یا مثلا قصد داریم تمامی فایل های با پسوند txt را به مسیر test2 کپی کنیم:

cp *.txt /test2

همانطور که مشخص است دستور cp امکان ترکیب با ویژگی های دیگری را داشته و می توانیم کارهای مورد نظرمان را با آن انجام دهیم. اگر چنانچه سوال و یا ابهامی در این خصوص داشتید لطفا آن را در بخش دیدگاه ها مطرح نمایید تا به آن پاسخ داده شود.

امتیاز فعلی مطلب
به این مطلب چه امتیازی میدهید ؟
[مجموع آرا : 0 میانگین آرا : 0]