سرور مجازی

نحوه استفاده از دستور CP در لینوکس

دستور CP چیست؟

یک ابزار خط فرمان برای کپی فایل ها به همراه محتوای آنها از یک مکان به مکان دیگر در توزیع های مختلف لینوکس است.

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

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

درواقع دستور cp را میتوان به صورت های زیر اجرا کرد.

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

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

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

سپس جهت ایجاد دایرکتوری test1 و test2 از دستور زیر استفاده میکنیم:

mkdir test1 test2

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

چه زیر ساختی برای استفاده از متاتریدر نیاز داریم؟
مشاهده

اگر بخوهیم نتیجه کار را در دستور cp ببینیم باید از v- استفاده کنیم:

cp -v file1.txt /test1

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

cp -p file1.txt /test1

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

راه حل پرکاربرد دیگری نیز هست، روند کار به این صورت است که تمامی فایل ها را کپی کنید.(یا همه پسوندهای خاص مثلا txt. را کپی کنید)

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

cp * /test2

اگر بخواهیم همه فایل ها با پسوند txt را به مسیر test2 کپی کنیم:

cp *.txt /test2

امیدواریم این مطلب مورد توجه شما قرار گرفته باشد.
تلاش نت
02154109000

4.7/5 - (3 votes)

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا