DD(1) General Commands Manual DD(1)

uu-dd - رونوشت‌برداری و تبدیل اختیاری یک منبع در سیستم‌فایل

dd [OPERAND]...
dd OPTION

رونوشت‌برداری و تبدیل اختیاری یک منبع در سیستم‌فایل.

نمایش راهنما
نمایش نسخه
[operands]

عملوندها (Operands):


- bs=BYTES : خواندن و نوشتن همزمان تا اندازه BYTES بایت (پیش‌فرض: 512)؛ مقادیر ibs و obs را بازنویسی می‌کند.
- cbs=BYTES : «اندازه بلوک تبدیل» بر حسب بایت. برای عملیات conv=block و conv=unblock اعمال می‌شود.
- conv=CONVS : فهرستی از گزینه‌های تبدیل یا فلگ‌های فایل (به دلایل سازگاری قدیمی) که با کاما از هم جدا شده‌اند.
- count=N : متوقف کردن خواندن ورودی پس از N عملیات خواندن با اندازه ibs به جای ادامه تا پایان فایل (EOF). در صورتی که توقف پس از N بایت مد نظر است، iflag=count_bytes را ببینید.
- ibs=N : اندازه بافر مورد استفاده برای خواندن (پیش‌فرض: 512).
- if=FILE : فایلی که برای ورودی استفاده می‌شود. در صورت عدم تعیین، از stdin استفاده می‌شود.
- iflag=FLAGS : فهرستی از فلگ‌های ورودی جداشده با کاما که نحوه رفتار با منبع ورودی را مشخص می‌کنند. FLAGS می‌تواند هر یک از فلگ‌های ورودی یا عمومی مشخص‌شده در زیر باشد.
- skip=N (یا iseek=N) : رد کردن N رکورد با اندازه ibs در ورودی پیش از شروع عملیات رونوشت‌برداری/تبدیل. در صورتی که پرش بر حسب N بایت مد نظر است، iflag=seek_bytes را ببینید.
- obs=N : اندازه بافر مورد استفاده برای نوشتن (پیش‌فرض: 512).
- of=FILE : فایلی که برای خروجی استفاده می‌شود. در صورت عدم تعیین، از stdout استفاده می‌شود.
- oflag=FLAGS : فهرستی از فلگ‌های خروجی جداشده با کاما که نحوه رفتار با منبع خروجی را مشخص می‌کنند. FLAGS می‌تواند هر یک از فلگ‌های خروجی یا عمومی مشخص‌شده در زیر باشد.
- seek=N (یا oseek=N) : پرش به میزان N رکورد با اندازه obs در خروجی پیش از شروع عملیات رونوشت‌برداری/تبدیل. در صورتی که پرش بر حسب N بایت مد نظر است، oflag=seek_bytes را ببینید.
- status=LEVEL : کنترل می‌کند که آیا آمار حجم و کارایی در stderr نوشته شوند یا خیر.


در صورت عدم تعیین، dd پس از اتمام کار آمار را چاپ می‌کند. نمونه‌ای از آن در زیر آمده است:

6+0 records in
16+0 records out
8192 bytes (8.2 kB, 8.0 KiB) copied, 0.00057009 s,
14.4 MB/s


دو خط اول، آمار «حجم» و خط پایانی، آمار «کارایی» است. آمار حجم نشان‌دهنده تعداد دفعات کامل و جزئی خواندن به اندازه ibs، یا نوشتن به اندازه obs است که در طول کپی رخ داده‌اند. قالب آمار حجم به‌صورت <complete>+<partial> است. اگر رکوردهایی کوتاه شده باشند (بخش conv=block را ببینید)، آمار حجم شامل تعداد رکوردهای کوتاه شده خواهد بود.


مقادیر ممکن برای LEVEL عبارتند از:
- progress : چاپ دوره‌ای آمار کارایی همگام با پیشرفت کپی.
- noxfer : چاپ آمار نهایی حجم، بدون آمار کارایی.
- none : عدم چاپ هیچ‌گونه آماری.


چاپ آمار کارایی همچنین توسط سیگنال INFO (در صورت پشتیبانی) یا سیگنال USR1 فعال می‌شود. مقداردهی به متغیر محیطی POSIXLY_CORRECT با هر مقداری (حتی یک مقدار خالی) باعث نادیده گرفته شدن سیگنال USR1 خواهد شد.

گزینه‌های تبدیل (Conversion options):


- ascii : تبدیل از EBCDIC به ASCII. این معکوس گزینه ebcdic است. مستلزم conv=unblock است.
- ebcdic : تبدیل از ASCII به EBCDIC. این معکوس گزینه ascii است. مستلزم conv=block است.
- ibm : تبدیل از ASCII به EBCDIC، با اعمال قواعد مربوط به [، ] و ~ مشخص‌شده در POSIX. مستلزم conv=block است.
- ucase : تبدیل از حروف کوچک به حروف بزرگ.
- lcase : تبدیل از حروف بزرگ به حروف کوچک.
- block : به ازای هر خط جدید با طول کمتر از اندازه مشخص‌شده توسط cbs=BYTES، خط جدید حذف شده و با فاصله تا اندازه cbs پر می‌شود. خط‌های بلندتر از cbs کوتاه (truncate) می‌شوند.
- unblock : به ازای هر بلوک ورودی با اندازه مشخص‌شده توسط cbs=BYTES، فاصله‌های انتهایی سمت راست حذف شده و با یک کاراکتر خط جدید جایگزین می‌شوند.
- sparse : تلاش برای پرش در خروجی هنگامی که یک بلوک با اندازه obs تنها از صفرها تشکیل شده باشد.
- swab : جابه‌جا کردن هر جفت بایت مجاور. در صورت فرد بودن تعداد بایت‌ها، بایت نهایی نادیده گرفته می‌شود.
- sync : پر کردن هر بلوک با اندازه ibs با صفر. اگر block یا unblock تعیین شده باشد، به جای آن با فاصله پر می‌شود.
- excl : فایل خروجی باید ایجاد شود؛ اگر فایل خروجی از قبل موجود باشد، عملیات ناموفق می‌شود.
- nocreat : فایل خروجی ایجاد نخواهد شد؛ اگر فایل خروجی از قبل موجود نباشد، عملیات ناموفق می‌شود.
- notrunc : فایل خروجی کوتاه نخواهد شد؛ اگر این گزینه مشخص نشود، خروجی هنگام باز شدن کوتاه (truncate) می‌شود.
- noerror : تمام خطاهای خواندن نادیده گرفته می‌شوند؛ اگر این گزینه مشخص نشود، dd تنها Error::Interrupted را نادیده می‌گیرد.
- fdatasync : داده‌ها پیش از پایان کار نوشته خواهند شد.
- fsync : داده‌ها و فراداده‌ها پیش از پایان کار نوشته خواهند شد.

فلگ‌های ورودی (Input flags):


- count_bytes : مقداری برای count=N بر حسب بایت تفسیر می‌شود.
- skip_bytes : مقداری برای skip=N بر حسب بایت تفسیر می‌شود.
- fullblock : انتظار برای دریافت کامل ibs بایت از هر عملیات خواندن. خواندن‌های با طول صفر همچنان به عنوان پایان فایل (EOF) در نظر گرفته می‌شوند.

فلگ‌های خروجی (Output flags):


- append : باز کردن فایل در حالت الحاق (append mode). بهتر است conv=notrunc نیز تنظیم شود.
- seek_bytes : مقدار seek=N بر حسب بایت تفسیر می‌شود.

فلگ‌های عمومی (General flags):


- direct : استفاده از ورودی/خروجی مستقیم (direct I/O) برای داده‌ها.
- directory : ناموفق شدن عملیات مگر اینکه ورودی داده‌شده (در صورت استفاده به عنوان iflag) یا خروجی (در صورت استفاده به عنوان oflag) یک دایرکتوری باشد.
- dsync : استفاده از ورودی/خروجی همگام (synchronized I/O) برای داده‌ها.
- sync : استفاده از ورودی/خروجی همگام برای داده‌ها و فراداده‌ها.
- nonblock : استفاده از ورودی/خروجی غیرمسدودکننده (non-blocking I/O).
- noatime : عدم به‌روزرسانی زمان دسترسی.
- nocache : درخواست از سیستم‌عامل برای تخلیه حافظه نهان (cache).
- noctty : عدم تخصیص tty کنترلی.
- nofollow : پیوندهای نمادین سیستم دنبال نشوند.

v(uutils coreutils) 0.11.0

2026-09-01