دستور cp در لینوکس گزینههای کاربردی متعددی دارد که استفاده از آن را گسترش میدهد. اکثر کاربران فقط کپی ساده انجام میدهند و هیچگاه به گزینههای اضافی آن توجه نمیکنند. پس از استفاده از چند گزینه، مشخص میشود برخی از آنها تجربه کاربری بهتری ارائه میدهند.
-r یا -R: کپی بازگشتی
دستور cp برای کپی کردن فایلها و پوشهها قابل استفاده است. به طور پیشفرض، این دستور فقط روی فایلها عمل میکند و در صورت استفاده روی پوشهها با خطا مواجه میشوید.
cp dirA/ dirB/
اگر بخواهید یک پوشه را کپی کنید، باید از گزینه -r استفاده کنید:
cp -r dirA/ dirB/
با این دستور، کل پوشه “dirA/” و محتویات آن به پوشه “dirB/” کپی میشود. اگر فقط بخواهید محتویات داخل پوشه کپی شود، باید بعد از نام پوشه یک نقطه قرار دهید:
cp -r dirA/. dirB/
برای ایجاد یک نسخه کپی در همان مسیر با نام جدید:
cp -r dirA/ dir-copy
-u: کپی تنها زمانی که منبع جدیدتر است
یکی از گزینههای کمتر شناختهشده، -u است. این گزینه باعث میشود cp تنها زمانی فایل را کپی کند که فایل منبع جدیدتر از مقصد باشد یا فایل مقصد هنوز موجود نباشد.
cp -ru reports/ backup/
با این روش، فقط فایلهای جدید یا تغییر یافته منتقل میشوند و فایلهای بدون تغییر دستنخورده باقی میمانند.
-i: حالت تعاملی
به صورت پیشفرض، cp قبل از بازنویسی فایل از شما سوال نمیکند و فایل مقصد بدون هشدار جایگزین میشود. با گزینه -i، cp قبل از بازنویسی فایل از کاربر تأیید میگیرد:
cp -i report1.txt reports/
# cp: overwrite 'reports/report1.txt'? y

این گزینه مخصوصاً هنگام کپی به مسیرهای حساس مانند /etc/ یا /var/ کاربردی است.
-v: حالت نمایش جزئیات
گزینه -v برای مشاهده جزئیات عملیات کپی استفاده میشود و نشان میدهد که هر فایل به کجا کپی شده است:
cp -v report1.txt backup/
cp -v *.txt backup/

این گزینه هنگام کپی دستهای فایلها به مشاهده پیشرفت و شناسایی خطاها کمک میکند.
-p: حفظ ویژگیها
به صورت پیشفرض، cp فقط محتوای فایلها را کپی میکند و متادیتا مانند تاریخها، مجوزها و مالکیت فایل نادیده گرفته میشود. گزینه -p این ویژگیها را حفظ میکند:
cp -p config.cfg backup/
cp -rp project/ backup/

با این روش، تاریخها و مالکیت فایلها مانند فایلهای اصلی باقی میمانند و هنگام آرشیو فایلها اطلاعات اصلی حفظ میشود.
دستور cp دارای گزینهها و آرگومانهای بیشتری است که در صفحه man رسمی قابل مشاهده هستند. آشنایی با این گزینهها مدیریت فایلها در ترمینال لینوکس را بسیار سادهتر میکند.













