خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


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

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

سیستم یکپارچۀ سازمانی راهکار
cp یک ابزار خط فرمان برای کپی کردن فایل ها و دایرکتوری ها در سیستم های یونیکس و لینوکس است. در این مقاله نحوه استفاده از دستور cp را توضیح خواهیم داد.



How to Use cp command

Syntax کلی استفاده از دستور cp بصورت زیر است:

cp [OPTIONS] SOURCE... DESTINATION

SOURCE می تواند شامل یک یا چند فایل یا دایرکتوری به عنوان پارامتر باشد و پارامتر DESTINATION می تواند یک فایل یا دایرکتوری واحد باشد.
وقتی پارامترهای SOURCE و DESTINATION هر دو فایل هستند(یعنی هردوی آنها فایل باشند)، دستور cp فایل اول را در فایل دوم کپی می کند و اگر فایل وجود نداشته باشد، دستور آن را ایجاد می کند.
وقتی SOURCE چندین فایل یا دایرکتوری به عنوان پارامتر دارد، پارامتر DESTINATION باید یک دایرکتوری باشد. در این حالت فایل ها و دایرکتوری های SOURCE به دایرکتوری DESTINATION منتقل می شوند.
هنگامی که پارامتر های SOURCE و DESTINATION هر دو دایرکتوری هستند، دستور cp اولین دایرکتوری را در فولدر دوم کپی می کند.
برای کپی کردن فایل ها و دایرکتوری ها، باید حداقل مجوز read در فایل سورس و مجوز write در دایرکتوری مقصد را داشته باشید که اگر چنین نباشد خطای permission denied را دریافت خواهید کرد.

Copying Files with cp Command

ابتدایی ترین سناریو استفاده از cp کپی کردن یک فایل در دایرکتوری فعلی است. به عنوان مثال، برای کپی کردن فایلی به نام file.txt در file_backup.txt، دستور زیر را اجرا کنید:

cp file file_backup

یا

cp file{,_backup}

برای کپی کردن یک فایل در دایرکتوری دیگر، مسیر مطلق یا نسبی را به دایرکتوری مقصد مشخص کنید. وقتی فقط نام دایرکتوری به عنوان مقصد مشخص می شود، فایل کپی شده همان نام فایل اصلی را دارد.
در مثال زیر، فایل file.txt را در فولدر /backup کپی می کنیم:

sudo cp file.txt /backup

اگر می خواهید فایل را با نام دیگری کپی کنید، باید نام فایل مورد نظر را مشخص کنید. دستور زیر فایل را در دایرکتوری مشخص شده با نام new_file.txt کپی می کند.

sudo cp file.txt /backup/new_file.txt

به طور پیش فرض، اگر فایل مقصد وجود داشته باشد، overwrite می شود و وجود n- با دستور cp اجازه overwrite کردن را نمی دهد. برای وادار کردن cp به درخواست تایید، از گزینه i- استفاده کنید.

cp -i file.txt file_backup.txt

اگر می خواهید فایل را فقط در صورتی کپی کنید که فایل موجود در سورس جدیدتر و آپدیت شده از فایل مقصد باشد(یعنی فایل هم در منبع و هم در مقصد وجود داشته باشد)، دستور را با گزینه u- فراخوانی کنید:

cp -u file.txt file_backup.txt

هنگام کپی کردن یک فایل، فایل جدید متعلق به کاربری است که دستور را اجرا می کند. از گزینه p- برای حفظ حالت فایل، ownership و timestamps یا مهرهای زمانی استفاده کنید:

cp -p file.txt file_backup.txt

با استفاده از سوئیچ -v هر کپی که انجام می شود در خروجی خط فرمان گزارشی از آن نشان داده می شود:

cp -v file.txt file_backup.txt

خروجی:

'file.txt' -> 'file_backup.txt'

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

برای کپی کردن یک دایرکتوری، شامل تمام فایل ها و ساب دایرکتوری ها، از گزینه R- یا r- استفاده کنید. در مثال زیر، ما دایرکتوری Pictures را در Pictures_backup کپی می کنیم:

cp -R Pictures Pictures_backup

دستور بالا دایرکتوری مقصد را ایجاد می کند و به صورت بازگشتی همه فایل ها و ساب دایرکتوری را از مبدا به دایرکتوری مقصد کپی می کند. اگر دایرکتوری مقصد از قبل وجود داشته باشد، خود دایرکتوری سورس و محتوای آن در داخل دایرکتوری مقصد کپی می شود. برای کپی کردن فقط فایل ها و ساب دایرکتوری ها و نه دایرکتوری سورس، از گزینه T- استفاده کنید:

cp -RT Pictures Pictures_backup

راه دیگر برای کپی کردن فقط محتوای دایرکتوری و نه خود دایرکتوری، استفاده از کاراکتر (*) است. ایراد دستور زیر این است که فایل ها و دایرکتوری های مخفی (آنهایی که با نقطه شروع می شوند.) را کپی نمی کند.

cp -RT Pictures/* Pictures_backup/

تمام گزینه هایی که در قسمت قبل هنگام کپی کردن فایل ها استفاده کردیم می توانند هنگام کپی کردن دایرکتوری ها نیز استفاده شوند. تفاوت اصلی این است که هنگام کپی کردن دایرکتوری ها، همیشه باید از گزینه R- استفاده کنید.

نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز