دستور 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 به سرور وصل شویم. قبل از شروع پیشنهاد می کنیم حتما به مورد زیر توجه کنید:
- قدم اول : وصل شدن به ssh با استفاده از ابزار putty
- اگر با ssh آشنایی ندارید مطاعه نمایید: پروتکل ssh چیست
- همچنین پیشنهاد می کنیم مطالعه نمایید: دستورات پرکاربرد لینوکسی
- قدم دوم : آپدیت کردن سیستم عامل به جهت بهبود عملکرد
- قدوم سوم : ایجاد یکسری فایل و دایرکتوری برای انجام تمرین
ایجاد فایل و دایرکتوری برای انجام تمرین کار با 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 امکان ترکیب با ویژگی های دیگری را داشته و می توانیم کارهای مورد نظرمان را با آن انجام دهیم. اگر چنانچه سوال و یا ابهامی در این خصوص داشتید لطفا آن را در بخش دیدگاه ها مطرح نمایید تا به آن پاسخ داده شود.
نوشته آموزش کار با دستور cp در لینوکس اولین بار در پایگاه دانش میزبانفا پدیدار شد.