CP(1) General Commands Manual CP(1) نام (NAME) cp - کپی کردن مبدأ به مقصد، یا چندین مبدأ به دایرکتوری خلاصه دستور (SYNOPSIS) cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY cp [OPTION]... -t DIRECTORY SOURCE... توضیحات (DESCRIPTION) کپی کردن SOURCE به DEST، یا چندین SOURCE به DIRECTORY. گزینه‌ها (OPTIONS) -t, --target-directory کپی کردن تمام آرگومان‌های SOURCE در target-directory -T, --no-target-directory رفتار با DEST به عنوان یک فایل معمولی و نه یک دایرکتوری -i, --interactive پرسش پیش از بازنویسی فایل‌ها -l, --link ایجاد پیوند سخت (hard-link) برای فایل‌ها به جای کپی کردن -n, --no-clobber عدم بازنویسی فایلی که از پیش وجود دارد -R, --recursive کپی بازگشتی دایرکتوری‌ها --strip-trailing-slashes حذف تمام ممیزهای پایانی (trailing slashes) از انتهای هر آرگومان SOURCE --debug توضیح چگونگی کپی شدن فایل؛ گزینه -v را نیز فعال می‌کند -v, --verbose توضیح صریح و باجزئیات عملیات در حال انجام -s, --symbolic-link ایجاد پیوندهای نمادین به جای کپی کردن -f, --force اگر باز کردن فایل مقصد موجود ممکن نباشد، آن را حذف کرده و مجدداً تلاش کند (این گزینه در صورت استفاده هم‌زمان از گزینه -n نادیده گرفته می‌شود). در حال حاضر روی Windows پیاده‌سازی نشده است. --remove-destination حذف هر فایل مقصد موجود پیش از اقدام به باز کردن آن (متفاوت با --force). در Windows در حال حاضر تنها برای فایل‌های قابل نوشتن کار می‌کند. --backup[=] ایجاد نسخه پشتیبان از هر فایل مقصد موجود -b مشابه --backup اما آرگومانی نمی‌پذیرد -S, --suffix تغییر پسوند پیش‌فرض نسخه پشتیبان --update انتقال تنها زمانی که فایل SOURCE جدیدتر از فایل مقصد باشد یا زمانی که فایل مقصد وجود نداشته باشد مقادیر ممکن: • none • all • older • none-fail -u مشابه --update اما آرگومانی نمی‌پذیرد --reflink[=] کنترل کپی‌های مبتنی بر clone/CoW. به بخش زیر مراجعه کنید مقادیر ممکن: • auto • always • never --attributes-only تنها کپی کردن ویژگی‌ها (attributes)، بدون کپی داده‌های فایل --preserve[=...] حفظ ویژگی‌های مشخص‌شده (پیش‌فرض: mode، ownership (فقط در یونیکس)، timestamps)، در صورت امکان ویژگی‌های اضافی: context، links، xattr، all مقادیر ممکن: • mode • ownership • timestamps • context • links • xattr • all -p, --preserve-default-attributes معادل --preserve=mode,ownership(unix only),timestamps --no-preserve[=...] عدم حفظ ویژگی‌های مشخص‌شده مقادیر ممکن: • mode • ownership • timestamps • context • links • xattr • all --parents استفاده از مسیر کامل نام فایل مبدأ تحت DIRECTORY -P, --no-dereference دنبال نکردن پیوندهای نمادین در SOURCE تحت هیچ شرایطی -L, --dereference دنبال کردن همیشگی پیوندهای نمادین در SOURCE -H دنبال کردن پیوندهای نمادین خط فرمان در SOURCE -a, --archive معادل -dR --preserve=all -d معادل --no-dereference --preserve=links -x, --one-file-system ماندن در همین سیستم فایل --sparse کنترل ایجاد فایل‌های پراکنده (sparse files). به بخش زیر مراجعه کنید مقادیر ممکن: • never • auto • always -Z تنظیم زمینه امنیتی (security context) در SELinux برای فایل مقصد روی نوع پیش‌فرض --context[=] مشابه -Z؛ یا در صورتی که CTX مشخص شده باشد، تنظیم زمینه امنیتی SELinux یا SMACK به CTX -g, --progress نمایش نوار پیشرفت. توجه: این قابلیت توسط GNU coreutils پشتیبانی نمی‌شود. --copy-contents پیاده‌سازی‌نشده: کپی کردن محتویات فایل‌های ویژه در حالت بازگشتی -h, --help چاپ راهنما -V, --version چاپ نسخه توضیحات تکمیلی (EXTRA) فایلی غیر از دایرکتوری را که مقصدی موجود با برچسب زمان ویرایش یکسان یا جدیدتر دارد، کپی نکنید؛ در عوض، فایل بدون شکست بی‌صدا نادیده گرفته می‌شود. اگر برچسب‌های زمانی حفظ شوند، مقایسه با برچسب زمان مبدأ انجام می‌گیرد که متناسب با دقت تفکیک‌پذیری سیستم فایل مقصد و فراخوان‌های سیستمیِ به‌کاررفته برای به‌روزرسانی زمان‌ها کوتاه شده است؛ این امر از انجام کار تکراری در صورت اجرای چندین دستور 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 همیشه نسخه پشتیبان ساده تهیه کن نسخه (VERSION) v(uutils coreutils) 0.11.0 2026-09-01 CP(1)