CP(1) General Commands Manual CP(1)

cp - کپی کردن مبدأ به مقصد، یا چندین مبدأ به دایرکتوری

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

کپی کردن SOURCE به DEST، یا چندین SOURCE به DIRECTORY.

کپی کردن تمام آرگومان‌های SOURCE در target-directory
رفتار با DEST به عنوان یک فایل معمولی و نه یک دایرکتوری
پرسش پیش از بازنویسی فایل‌ها
ایجاد پیوند سخت (hard-link) برای فایل‌ها به جای کپی کردن
عدم بازنویسی فایلی که از پیش وجود دارد
کپی بازگشتی دایرکتوری‌ها
حذف تمام ممیزهای پایانی (trailing slashes) از انتهای هر آرگومان SOURCE
توضیح چگونگی کپی شدن فایل؛ گزینه -v را نیز فعال می‌کند
توضیح صریح و باجزئیات عملیات در حال انجام
ایجاد پیوندهای نمادین به جای کپی کردن
اگر باز کردن فایل مقصد موجود ممکن نباشد، آن را حذف کرده و مجدداً تلاش کند (این گزینه در صورت استفاده هم‌زمان از گزینه -n نادیده گرفته می‌شود). در حال حاضر روی Windows پیاده‌سازی نشده است.
حذف هر فایل مقصد موجود پیش از اقدام به باز کردن آن (متفاوت با --force). در Windows در حال حاضر تنها برای فایل‌های قابل نوشتن کار می‌کند.
ایجاد نسخه پشتیبان از هر فایل مقصد موجود
مشابه --backup اما آرگومانی نمی‌پذیرد
تغییر پسوند پیش‌فرض نسخه پشتیبان
انتقال تنها زمانی که فایل SOURCE جدیدتر از فایل مقصد باشد یا زمانی که فایل مقصد وجود نداشته باشد

مقادیر ممکن:

  • none
  • all
  • older
  • none-fail
مشابه --update اما آرگومانی نمی‌پذیرد
کنترل کپی‌های مبتنی بر clone/CoW. به بخش زیر مراجعه کنید

مقادیر ممکن:

  • auto
  • always
  • never
تنها کپی کردن ویژگی‌ها (attributes)، بدون کپی داده‌های فایل
حفظ ویژگی‌های مشخص‌شده (پیش‌فرض: mode، ownership (فقط در یونیکس)، timestamps)، در صورت امکان ویژگی‌های اضافی: context، links، xattr، all

مقادیر ممکن:

  • mode
  • ownership
  • timestamps
  • context
  • links
  • xattr
  • all
معادل --preserve=mode,ownership(unix only),timestamps
عدم حفظ ویژگی‌های مشخص‌شده

مقادیر ممکن:

  • mode
  • ownership
  • timestamps
  • context
  • links
  • xattr
  • all
استفاده از مسیر کامل نام فایل مبدأ تحت DIRECTORY
دنبال نکردن پیوندهای نمادین در SOURCE تحت هیچ شرایطی
دنبال کردن همیشگی پیوندهای نمادین در SOURCE
دنبال کردن پیوندهای نمادین خط فرمان در SOURCE
معادل -dR --preserve=all
معادل --no-dereference --preserve=links
ماندن در همین سیستم فایل
کنترل ایجاد فایل‌های پراکنده (sparse files). به بخش زیر مراجعه کنید

مقادیر ممکن:

  • never
  • auto
  • always
تنظیم زمینه امنیتی (security context) در SELinux برای فایل مقصد روی نوع پیش‌فرض
مشابه -Z؛ یا در صورتی که CTX مشخص شده باشد، تنظیم زمینه امنیتی SELinux یا SMACK به CTX
نمایش نوار پیشرفت. توجه: این قابلیت توسط GNU coreutils پشتیبانی نمی‌شود.
پیاده‌سازی‌نشده: کپی کردن محتویات فایل‌های ویژه در حالت بازگشتی
چاپ راهنما
چاپ نسخه
<paths>

فایلی غیر از دایرکتوری را که مقصدی موجود با برچسب زمان ویرایش یکسان یا جدیدتر دارد، کپی نکنید؛ در عوض، فایل بدون شکست بی‌صدا نادیده گرفته می‌شود. اگر برچسب‌های زمانی حفظ شوند، مقایسه با برچسب زمان مبدأ انجام می‌گیرد که متناسب با دقت تفکیک‌پذیری سیستم فایل مقصد و فراخوان‌های سیستمیِ به‌کاررفته برای به‌روزرسانی زمان‌ها کوتاه شده است؛ این امر از انجام کار تکراری در صورت اجرای چندین دستور cp -pu با مبدأ و مقصد یکسان جلوگیری می‌کند. این گزینه در صورت استفاده هم‌زمان از گزینه -n یا --no-clobber نادیده گرفته می‌شود. همچنین اگر --preserve=links نیز تعیین شده باشد (برای نمونه در cp -au)، اولویت خواهد داشت؛ در نتیجه، بسته به ترتیب پردازش فایل‌ها از مبدأ، ممکن است فایل‌های جدیدتر در مقصد بازنویسی شوند تا پیوندهای سخت در مبدأ عینا بازتاب یابند. این سازوکار کنترل بیشتری بر نحوه جایگزینی فایل‌های موجود در مقصد فراهم می‌کند و مقدار آن می‌تواند یکی از موارد زیر باشد:

- all: این رفتار پیش‌فرض در صورت عدم تعیین گزینه --update است و باعث جایگزینی تمام فایل‌های موجود در مقصد می‌شود.

- none: این مقدار مشابه گزینه --no-clobber است، به این صورت که هیچ فایلی در مقصد جایگزین نمی‌شود، اما نادیده گرفتن فایل نیز خطایی ایجاد نمی‌کند.

- older: این رفتار پیش‌فرض هنگام تعیین --update است و در صورتی که فایل‌های مقصد قدیمی‌تر از فایل مبدأ متناظر باشند، جایگزین می‌شوند.

پسوند نسخه پشتیبان '~' است، مگر اینکه با --suffix یا SIMPLE_BACKUP_SUFFIX تنظیم شود. روش کنترل نسخه ممکن است از طریق گزینه --backup یا از طریق متغیر محیطی VERSION_CONTROL انتخاب شود. مقادیر موجود به شرح زیر است:


none, off هرگز نسخه پشتیبان تهیه نکن (حتی اگر --backup داده شده باشد)
numbered, t ایجاد نسخه‌های پشتیبان شماره‌دار
existing, nil در صورت وجود نسخه‌های پشتیبان شماره‌دار، شماره‌دار؛ در غیر این صورت ساده
simple, never همیشه نسخه پشتیبان ساده تهیه کن

v(uutils coreutils) 0.11.0

2026-09-01