| 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 <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[=<CONTROL>]
- ایجاد نسخه پشتیبان از هر فایل مقصد موجود
- -b
- مشابه --backup اما آرگومانی نمیپذیرد
- -S, --suffix <SUFFIX>
- تغییر پسوند پیشفرض نسخه پشتیبان
- --update
- انتقال
تنها زمانی
که فایل SOURCE
جدیدتر از
فایل مقصد
باشد یا
زمانی که
فایل مقصد
وجود
نداشته
باشد
مقادیر ممکن:
- none
- all
- older
- none-fail
- -u
- مشابه --update اما آرگومانی نمیپذیرد
- --reflink[=<WHEN>]
- کنترل
کپیهای
مبتنی بر clone/CoW.
به بخش زیر
مراجعه
کنید
مقادیر ممکن:
- auto
- always
- never
- --attributes-only
- تنها کپی کردن ویژگیها (attributes)، بدون کپی دادههای فایل
- --preserve[=<ATTR_LIST>...]
- حفظ
ویژگیهای
مشخصشده
(پیشفرض: 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[=<ATTR_LIST>...]
- عدم حفظ
ویژگیهای
مشخصشده
مقادیر ممکن:
- 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 <WHEN>
- کنترل
ایجاد
فایلهای
پراکنده (sparse files).
به بخش زیر
مراجعه
کنید
مقادیر ممکن:
- never
- auto
- always
- -Z
- تنظیم زمینه امنیتی (security context) در SELinux برای فایل مقصد روی نوع پیشفرض
- --context[=<CTX>]
- مشابه -Z؛ یا در صورتی که CTX مشخص شده باشد، تنظیم زمینه امنیتی SELinux یا SMACK به CTX
- -g, --progress
- نمایش نوار پیشرفت. توجه: این قابلیت توسط GNU coreutils پشتیبانی نمیشود.
- --copy-contents
- پیادهسازینشده: کپی کردن محتویات فایلهای ویژه در حالت بازگشتی
- -h, --help
- چاپ راهنما
- -V, --version
- چاپ نسخه
- <paths>
توضیحات تکمیلی (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 |