.TH SG_XCOPY "8" "سپتامبر ۲۰۲۱" "sg3_utils\-1.47" SG3_UTILS .SH "نام (NAME)" sg_xcopy \- رونوشت داده‌ها به/از فایل‌ها و دستگاه‌ها با استفاده از دستور SCSI EXTENDED COPY (XCOPY) .SH "خلاصه دستور (SYNOPSIS)" .B sg_xcopy [\fIbs=BS\fR] [\fIconv=CONV\fR] [\fIcount=COUNT\fR] [\fIibs=BS\fR] [\fIif=IFILE\fR] [\fIiflag=FLAGS\fR] [\fIobs=BS\fR] [\fIof=OFILE\fR] [\fIoflag=FLAGS\fR] [\fIseek=SEEK\fR] [\fIskip=SKIP\fR] [\fI\-\-help\fR] [\fI\-\-version\fR] .PP [\fIapp=\fR0|1] [\fIbpt=BPT\fR] [\fIcat=\fR0|1] [\fIdc=\fR0|1] [\fIfco=\fR0|1] [\fIid_usage=\fR{hold|discard|disable}] [\fIlist_id=ID\fR] [\fIprio=PRIO\fR] [\fItime=\fR0|1] [\fIverbose=VERB\fR] [\fI\-\-on_dst|\-\-on_src\fR] [\fI\-\-verbose\fR] .SH "توضیحات (DESCRIPTION)" .\" Add any additional description here رونوشت داده‌ها به و از هر فایلی. این ابزار به طور خاص برای «فایل‌هایی» اختصاص یافته است که دستگاه‌های اسکازی (SCSI) لینوکس هستند و از دستور SCSI EXTENDED COPY (XCOPY) پشتیبانی می‌کنند. .PP این ابزار ساختار نحوی و معنایی مشابهی با .B dd(1) دارد، اما از هیچ «تبدیلی» (conversions) پشتیبانی نمی‌شود. .PP گروه اول در خلاصه دستور بالا عملوندهای «استاندارد» .B dd(1) در یونیکس هستند. گروه دوم گزینه‌های اضافی افزوده شده توسط این ابزار هستند. هر دو گروه در زیر با هم و به ترتیب الفبایی تعریف شده‌اند. .PP به طور پیش‌فرض دستور XCOPY به \fIOFILE\fR ارسال می‌شود. این رفتار را می‌توان با گزینه‌های \fI\-\-on_src\fR یا \fIiflag=xflag\fR تغییر داد که باعث می‌شوند دستور XCOPY در عوض به \fIIFILE\fR ارسال شود. همچنین بخش «متغیرهای محیطی» را ببینید. .PP در استاندارد SPC\-4 کمیته T10 دستور XCOPY را گسترش داده است، به‌گونه‌ای که اکنون دارای دو گونه است: «LID1» (برای طول شناسه فهرست ۱ بایتی) و «LID4» (برای طول شناسه فهرست ۴ بایتی). این ابزار از گونه قدیمی‌تر LID1 پشتیبانی می‌کند که در SPC\-3 و پیش از آن نیز یافت می‌شود. در حالی که گونه LID1 در SPC\-4 در سطح دستور (باینری) با XCOPY تعریف‌شده در SPC\-3 سازگار است، برخی از نام‌گذاری‌های دستورات تغییر یافته است. این ابزار از نام‌های قدیمی‌تر XCOPY در SPC\-3 استفاده می‌کند. .PP ابزار ddpt از قابلیت xcopy(LID1) مشابه با همین گزینه‌ها و پرچم‌های این ابزار پشتیبانی می‌کند. علاوه بر این، ddpt از زیرمجموعه‌ای از قابلیت‌های xcopy(LID4) پشتیبانی می‌کند که با نام‌های مختلفی چون «xcopy version 2, lite» یا ODX شناخته می‌شود. ODX یک نام تجاری بوده و مخفف Offloaded Data Xfer (یعنی انتقال داده برون‌سپاری‌شده یا آف‌لود شده) است. .SH "گزینه‌ها (OPTIONS)" .TP \fBapp\fR={0|1} اگر مقدار ۱ باشد، مقصد رونوشت در انتهای OFILE آغاز می‌شود. در این حالت فرض می‌شود که OFILE یک فایل معمولی است. مقدار پیش‌فرض ۰ است که در این صورت مقصد رونوشت از ابتدای OFILE شروع می‌شود (احتمالاً با آفست مشخص‌شده توسط SEEK). این گزینه نمی‌تواند همراه با گزینه \fIseek=SEEK\fR استفاده شود. .TP \fBbpt\fR=\fIBPT\fR هر تراکنش ورودی/خروجی (IO) با استفاده از \fIBPT\fR بلوک انجام خواهد شد (یا کمتر، اگر نزدیک به انتهای رونوشت باشد). مقدار پیش‌فرض برای اندازه‌های بلوک منطقی کمتر از ۲۰۴۸ بایت برابر با ۱۲۸ است، در غیر این صورت مقدار پیش‌فرض ۳۲ است. بنابراین برای bs=512 خواندن‌ها و نوشتن‌ها به طور پیش‌فرض هر کدام ۶۴ کیبی‌بایت (KiB) داده منتقل می‌کنند (کمتر اگر نزدیک به انتهای انتقال باشد یا به دلیل محدودیت‌های حافظه). هنگامی که به درایوهای cd/dvd دسترسی پیدا می‌شود، اندازه بلوک منطقی معمولاً ۲۰۴۸ بایت است و مقدار پیش‌فرض bpt به ۳۲ می‌رسد که باز هم به معنای انتقال‌های ۶۴ کیبی‌بایتی است. .TP \fBbs\fR=\fIBS\fR که در آن \fIBS\fR .B باید اندازه بلوک منطقی دستگاه فیزیکی باشد (اگر فایل‌های ورودی یا خروجی از طریق دستورات SCSI مورد دسترسی قرار گیرند). توجه داشته باشید که این با .B dd(1) متفاوت است که اجازه می‌دهد \fIBS\fR یک مضرب صحیح باشد. پیش‌فرض آن اندازه بلوک منطقی دستگاه است. .TP \fBcat\fR={0|1} بیت CAT از توصیف‌گر بخش (segment descriptor) دستور SCSI EXTENDED COPY را روی ۰ یا ۱ تنظیم می‌کند (پیش‌فرض: ۰). بیت CAT (همراه با بیت PAD) مدیریت داده‌های باقیمانده را کنترل می‌کند. برای جزئیات بخش .B "مدیریت داده‌های باقیمانده" را ببینید. .TP \fBconv\fR=\fBCONV\fR تمام آرگومان‌های \fBCONV\fR نادیده گرفته می‌شوند. .TP \fBcount\fR=\fICOUNT\fR تعداد \fICOUNT\fR بلوک را از \fIIFILE\fR به \fIOFILE\fR کپی می‌کند. پیش‌فرض، حداقل تعداد بلوک‌هایی است (\fIIFILE\fR اگر \fIdc=0\fR باشد یا \fIOFILE\fR اگر \fIdc=1\fR باشد) که دستگاه‌های SCSI از دستورات SCSI READ CAPACITY گزارش می‌دهند یا دستگاه‌های بلوکی (یا پارتیشن‌های آن‌ها) گزارش می‌کنند. اندازه فایل‌های معمولی بررسی نمی‌شود. اگر \fIskip=SKIP\fR یا \fIseek=SEEK\fR مشخص شده باشند و تعداد بلوک مشتق شود (یعنی صراحتاً داده نشده باشد)، در این صورت مقدار مشتق‌شده کاهش می‌یابد تا رونوشت از محدوده دستگاه فراتر نرود. اگر نام فایل یک پارتیشن دستگاه بلوکی باشد و \fICOUNT\fR مشخص نشده باشد، به جای اندازه کل دستگاه، از اندازه پارتیشن استفاده می‌شود. اگر \fICOUNT\fR داده نشده باشد (یا \fIcount=\-1\fR باشد) و نتوان آن را استخراج کرد، یک پیام خطا صادر شده و هیچ کپی انجام نمی‌شود. .TP \fBdc\fR={0|1} بیت DC در توصیف‌گر بخش دستور SCSI EXTENDED COPY را روی ۰ یا ۱ تنظیم می‌کند (پیش‌فرض: ۰). بیت DC کنترل می‌کند که آیا \fICOUNT\fR به توصیف‌گر مبدأ (\fIdc=0\fR) یا مقصد (\fIdc=1\fR) اشاره دارد. .TP \fBfco\fR={0|1} بیت FCO در توصیف‌گر بخش دستور SCSI EXTENDED COPY را روی ۰ یا ۱ تنظیم می‌کند (پیش‌فرض: ۰). تنظیم بودن بیت فقط رونوشت سریع (Fast Copy Only یا FCO) باعث می‌شود رونوشت با روشی سریع‌تر از دستورات معمولی READ و WRITE در SCSI انجام شود. اگر رونوشت نتواند به روشی سریع‌تر انجام شود، یک کلید حس (sense key) با عنوان «Copy aborted» به همراه حس اضافی «Fast copy not possible» برگردانده می‌شود. .TP \fBibs\fR=\fIBS\fR در صورت ارائه، باید همانند مقدار \fIBS\fR داده‌شده به گزینه 'bs=' باشد. .TP \fBid_usage\fR={hold|discard|disable} فیلد LIST ID USAGE در فهرست پارامترهای دستور SCSI EXTENDED COPY را در صورتی که آرگومان 'hold' باشد روی ۰، اگر 'discard' باشد روی ۲، و اگر 'disable' باشد روی '3' تنظیم می‌کند. .br اگر دستگاه توانایی نگه‌داری داده‌ها را داشته باشد (که با بزرگ‌تر از صفر بودن «حد داده نگه‌داشته‌شده» یا held data limit مشخص می‌شود)، مقدار پیش‌فرض \fIid_usage\fR برابر با 'hold' خواهد بود، در غیر این صورت پیش‌فرض آن 'discard' است. .TP \fBif\fR=\fIIFILE\fR خواندن از \fIIFILE\fR به جای ورودی استاندارد (stdin). اگر \fIIFILE\fR برابر با '-' باشد، ورودی استاندارد خوانده می‌شود. خواندن از ابتدای \fIIFILE\fR آغاز می‌شود مگر اینکه \fISKIP\fR داده شده باشد. .TP \fBiflag\fR=\fIFLAGS\fR که در آن \fIFLAGS\fR فهرستی از یک یا چند پرچم جداشده با کاما است که در زیر شرح داده شده‌اند. این پرچم‌ها با \fIIFILE\fR مرتبط هستند و زمانی که \fIIFILE\fR ورودی استاندارد باشد، نادیده گرفته می‌شوند. .TP \fBlist_id\fR=\fIID\fR فیلد LIST IDENTIFIER در فهرست پارامترهای دستور SCSI EXTENDED COPY را روی \fIID\fR تنظیم می‌کند. مقدار \fIID\fR باید عددی بین ۰ تا ۲۵۵ (شامل هر دو) باشد. مقدار \fIID\fR معمولاً به طور پیش‌فرض ۱ است، مگر اینکه \fIid_usage=disable\fR باشد که در آن صورت پیش‌فرض ۰ خواهد بود. .TP \fBobs\fR=\fIBS\fR در صورت ارائه، باید همانند مقدار \fIBS\fR داده‌شده به گزینه 'bs=' باشد. .TP \fBof\fR=\fIOFILE\fR نوشتن در \fIOFILE\fR به جای خروجی استاندارد (stdout). اگر \fIOFILE\fR برابر با '-' باشد، در خروجی استاندارد نوشته می‌شود. اگر \fIOFILE\fR برابر با /dev/null باشد، هیچ نوشتن واقعی انجام نمی‌شود. اگر \fIOFILE\fR یک نقطه ('.') باشد، همانند /dev/null با آن رفتار می‌شود (این یک نماد خلاصه‌نویسی است). اگر \fIOFILE\fR از قبل وجود داشته باشد، کوتاه (truncate) \fBنمی‌شود\fR؛ بلکه از ابتدای \fIOFILE\fR بازنویسی می‌گردد مگر اینکه 'oflag=append' یا \fISEEK\fR داده شده باشد. .TP \fBoflag\fR=\fIFLAGS\fR که در آن \fIFLAGS\fR فهرستی از یک یا چند پرچم جداشده با کاما است که در زیر شرح داده شده‌اند. این پرچم‌ها با \fIOFILE\fR مرتبط هستند و هنگامی که \fIOFILE\fR برابر با /dev/null، نقطه ('.') یا خروجی استاندارد باشد، نادیده گرفته می‌شوند. .TP \fBprio\fR=\fIPRIO\fR فیلد PRIORITY در فهرست پارامترهای دستور SCSI EXTENDED COPY را روی \fIPRIO\fR تنظیم می‌کند. مقدار پیش‌فرض ۱ است. .TP \fBseek\fR=\fISEEK\fR نوشتن را از \fISEEK\fR بلوک (با اندازه bs) از ابتدای \fIOFILE\fR آغاز می‌کند. مقدار پیش‌فرض بلوک ۰ است (یعنی ابتدای فایل). .TP \fBskip\fR=\fISKIP\fR خواندن را از \fISKIP\fR بلوک (با اندازه bs) از ابتدای \fIIFILE\fR آغاز می‌کند. مقدار پیش‌فرض بلوک ۰ است (یعنی ابتدای فایل). .TP \fBtime\fR={0|1} هنگامی که ۱ باشد، زمان انتقال را اندازه‌گیری کرده و محاسبه نرخ گذردهی (throughput) را انجام می‌دهد، و نتایج را پس از اتمام در خروجی خطای استاندارد (stderr) نمایش می‌دهد. زمانی که ۰ باشد (پیش‌فرض)، اندازه‌گیری زمان را انجام نمی‌دهد. .TP \fBverbose\fR=\fIVERB\fR با افزایش \fIVERB\fR میزان خروجی اشکال‌زدایی ارسالی به stderr نیز افزایش می‌یابد. مقدار پیش‌فرض صفر است که کمترین میزان خروجی اشکال‌زدایی را به همراه دارد. مقدار ۱ اطلاعات اضافی غیرتکراری را گزارش می‌کند. مقدار ۲ ساختارهای cdb و پاسخ‌های دستورات SCSI غیرتکراری (یعنی مواردی غیر از READ و WRITE) را گزارش می‌دهد. پردازش خطا تکراری در نظر گرفته نمی‌شود. مقادیر ۳ و ۴ برای تمام دستورات SCSI (و فراخوانی‌های یونیکس ()read و ()write) خروجی تولید می‌کنند، بنابراین حجم خروجی می‌تواند بسیار زیاد باشد. .TP \fB\-h\fR, \fB\-\-help\fR پیام نحوه استفاده را نمایش داده و خارج می‌شود. .TP \fB\-\-on_dst\fR دستور XCOPY را به فایل/دستگاه خروجی (یعنی \fIOFILE\fR) ارسال می‌کند. این رفتار پیش‌فرض است مگر اینکه با گزینه‌های \fI\-\-on_src\fR یا \fIiflag=xflag\fR لغو شود. همچنین بخش «متغیرهای محیطی» در زیر را ببینید. .TP \fB\-\-on_src\fR دستور XCOPY را به فایل/دستگاه ورودی (یعنی \fIIFILE\fR) ارسال می‌کند. .TP \fB\-v\fR, \fB\-\-verbose\fR معادل با \fIverbose=1\fR. در صورت استفاده مجدد، معادل با \fIverbose=2\fR و غیره است. .TP \fB\-V\fR, \fB\-\-version\fR اطلاعات شماره نسخه را چاپ کرده و خارج می‌شود. .SH "پرچم‌ها (FLAGS)" در اینجا فهرستی از پرچم‌ها و معانی آن‌ها آمده است: .TP append باعث اضافه شدن پرچم O_APPEND به هنگام باز کردن \fIOFILE\fR می‌شود. برای فایل‌های معمولی، این امر منجر به الحاق داده‌ها به انتهای هرگونه داده موجود می‌شود. این پرچم نمی‌تواند همراه با گزینه \fIseek=SEEK\fR استفاده شود زیرا با یکدیگر تداخل دارند. عملکرد پیش‌فرض این ابزار بازنویسی هرگونه داده موجود از ابتدای فایل است، یا اگر \fISEEK\fR داده شده باشد، از بلوک \fISEEK\fR شروع به نوشتن می‌کند. توجه داشته باشید که تلاش برای الحاق (append) به فایل یک دستگاه (مانند یک دیسک) معمولاً نادیده گرفته شده یا ممکن است باعث گزارش یک خطا شود. .TP excl باعث اضافه شدن پرچم O_EXCL به هنگام باز کردن \fIIFILE\fR و/یا \fIOFILE\fR می‌شود. .TP flock پس از باز کردن فایل مربوطه (یعنی \fIIFILE\fR و/یا \fIOFILE\fR)، تلاش می‌شود با فراخوانی سیستمی ()flock یک قفل انحصاری مشورتی (advisory exclusive lock) به دست آید. آرگومان‌های flock عبارتند از "FLOCK_EX | FLOCK_NB" که باعث می‌شود قفل در صورت در دسترس بودن گرفته شود، در غیر این صورت خطای «temporarily unavailable» (موقتاً در دسترس نیست) ایجاد می‌شود. در حالت اخیر وضعیت خروج ۹۰ تولید شده و هیچ کپی انجام نمی‌شود. .TP null هیچ تأثیری ندارد، صرفاً یک جای‌نگه‌دار است. .TP pad بیت PAD از توصیف‌گر بخش دستور SCSI EXTENDED COPY را تنظیم می‌کند. بیت PAD (همراه با بیت CAT) مدیریت داده‌های باقیمانده را کنترل می‌کند. (برای جزئیات به بخش .B "مدیریت داده‌های باقیمانده" مراجعه کنید). .TP xcopy هیچ تأثیری ندارد؛ صرفاً برای سازگاری با ddpt قرار دارد. .SH "مدیریت داده‌های باقیمانده (HANDLING OF RESIDUAL DATA)" بیت‌های \fIpad\fR و \fIcat\fR نحوه مدیریت داده‌های باقیمانده را کنترل می‌کنند. از آنجا که داده‌ها می‌توانند بر حسب اندازه بلوک منطقی مبدأ یا مقصد مشخص شوند و هر دو ممکن است اندازه‌های بلوک متفاوتی داشته باشند، در این موارد احتمال وقوع داده‌های باقیمانده وجود دارد. اگر اندازه بلوک منطقی هر دو یکسان باشد، این بیت‌ها هیچ تأثیری ندارند زیرا داده‌های باقیمانده رخ نخواهد داد. .PP اگر هیچ‌یک از این بیت‌ها تنظیم نشده باشند، دستور EXTENDED COPY با حس اضافی «UNEXPECTED INEXACT SEGMENT» لغو خواهد شد. .PP اگر فقط بیت \fIcat\fR تنظیم شده باشد، داده‌های باقیمانده نگه‌داری شده و برای توصیف‌گرهای بخش بعدی در دسترس قرار می‌گیرند. داده‌های باقیمانده برای آخرین توصیف‌گر بخش دور ریخته می‌شوند. .PP اگر بیت \fIpad\fR فقط برای توصیف‌گر مبدأ تنظیم شده باشد، هرگونه داده باقیمانده برای هر دو مبدأ یا مقصد دور ریخته خواهد شد. .PP اگر بیت \fIpad\fR فقط برای توصیف‌گر مقصد تنظیم شده باشد، با هرگونه داده باقیمانده مبدأ به گونه‌ای رفتار می‌شود که گویی بیت \fIcat\fR تنظیم شده است، اما هرگونه داده باقیمانده مقصد با داده‌های پرکننده پدگذاری می‌شود تا یک انتقال بلوک کامل ایجاد شود. .PP اگر بیت \fIpad\fR برای هر دو مبدأ و مقصد تنظیم شده باشد، هرگونه داده باقیمانده مبدأ دور ریخته خواهد شد و هرگونه داده باقیمانده مقصد پدگذاری می‌شود. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" اگر فراخوانی خط فرمان به طور صریح (و بدون ابهام) مشخص نکند که آیا دستور SCSI XCOPY باید به \fIIFILE\fR (یعنی مبدأ) یا به \fIOFILE\fR (یعنی مقصد) ارسال شود، وجود متغیرهای محیطی XCOPY_TO_SRC و XCOPY_TO_DST بررسی می‌شود. اگر یکی از آن‌ها (و نه هر دو) وجود داشته باشد، نشان می‌دهد که دستور SCSI XCOPY به کجا ارسال خواهد شد. به طور پیش‌فرض دستور XCOPY به \fIOFILE\fR ارسال می‌شود. .SH "گزینه‌های منسوخ‌شده (RETIRED OPTIONS)" در اینجا برخی از گزینه‌های منسوخ‌شده که هنوز هم وجود دارند آورده شده است: .TP append=0 | 1 هنگامی که تنظیم شود، معادل 'oflag=append' است. هنگامی که غیرفعال باشد، عمل بازنویسی روی فایل موجود (در صورت وجود) انجام می‌شود؛ این حالت پیش‌فرض است. پرچم 'append' را ببینید. .SH "نکات (NOTES)" کپی کردن داده‌ها به دور از چشم سیستم‌عامل (behind an OS's back) می‌تواند مشکلاتی ایجاد کند. در مورد لینوکس، کاربران باید پیوند زیر را بررسی کنند: https://linux\-mm.org/Drop_Caches .PP این توالی دستورات ممکن است مفید باشد: sync; echo 3 > /proc/sys/vm/drop_caches .PP آرگومان‌های عددی گوناگون (مانند \fISKIP\fR) می‌توانند شامل پسوندهای ضریب‌دار باشند یا به صورت هگزادسیمال مشخص شوند. بخش «NUMERIC ARGUMENTS» در صفحه راهنمای sg3_utils(8) را ببینید. .PP آرگومان‌های \fICOUNT\fR، \fISKIP\fR و \fISEEK\fR می‌توانند مقادیر ۶۴ بیتی (یعنی اعداد بسیار بزرگ) دریافت کنند. سایر مقادیر به آنچه در یک عدد ۳۲ بیتی علامت‌دار می‌گنجد محدود می‌شوند. .PP تمامی خروجی‌های اطلاع‌رسانی، هشدار و خطا به stderr ارسال می‌شوند تا فایل خروجی dd بتواند stdout باشد و بدون آلودگی باقی بماند. اگر هیچ گزینه‌ای مشخص نشود، پیام نحوه استفاده در خروجی چاپ می‌شود و هیچ کار دیگری انجام نمی‌شود. .PP اگر دستگاهی از عملیات‌های xcopy پشتیبانی کند، باید فیلد 3PC (مخفف Third Party Copy به معنی رونوشت شخص ثالث) را در پاسخ استاندارد INQUIRY خود تنظیم کند. این ابزار صرف‌نظر از مقدار موجود در فیلد 3PC اقدام به انجام عملیات xcopy خواهد کرد، اما اگر این فیلد صفر (غیرفعال) باشد، انتظار می‌رود که عملیات xcopy با شکست مواجه شود. .PP وضعیت دستور SCSI EXTENDED COPY را می‌توان با .B sg_copy_results(sg3_utils) استعلام کرد. .PP در حال حاضر فقط انتقال‌های بلوک به بلوک پیاده‌سازی شده‌اند؛ \fIIFILE\fR و \fIOFILE\fR باید به یک دستگاه بلوکی SCSI اشاره کنند. .PP هیچ توجهی به پارتیشن‌ها نمی‌شود؛ بنابراین برای مثال /dev/sbc2،‏ /dev/sdc،‏ /dev/sg2 و /dev/bsg/3:0:0:1 همگی به یک چیز اشاره دارند: کل واحد منطقی (یعنی کل دیسک) که از LBA 0 شروع می‌شود. بنابراین هرگونه مشخصه پارتیشن (مانند /dev/sdc2) نادیده گرفته می‌شود. کاربر باید مقادیر \fISKIP\fR، \fISEEK\fR و \fICOUNT\fR را با اطلاعات به‌دست‌آمده از دستوری مانند 'fdisk \-l \-u /dev/sdc' تنظیم کند تا پارتیشن‌ها لحاظ شوند. .PP قابلیت XCOPY (LID1) به ابزار ddpt که در بسته‌ای با همین نام قرار دارد اضافه شده است. ابزار ddpt روی سایر سیستم‌عامل‌ها (مانند FreeBSD و Windows) نیز اجرا می‌شود در حالی که sg_xcopy فقط روی لینوکس اجرا می‌شود. همچنین ddpt اجازه می‌دهد آرگومان‌های داده‌شده به \fIibs=\fR و \fIobs=\fR متفاوت باشند. .SH "مثال‌ها (EXAMPLES)" رونوشت ۲ مگابایت داده از ابتدای یک دستگاه به دستگاه دیگر: .PP # sg_xcopy if=/dev/sdo of=/dev/sdp count=2048 list_id=2 dc=1 .br sg_xcopy: if=/dev/sdo skip=0 of=/dev/sdp seek=0 count=1024 .br Start of loop, count=1024, bpt=65535, lba_in=0, lba_out=0 .br sg_xcopy: 1024 blocks, 1 command .PP بررسی وضعیت دستور EXTENDED COPY: .PP # sg_copy_results \-\-status \-\-list_id=2 /dev/sdp .br Receive copy results (copy status): Held data discarded: Yes Copy manager status: Operation completed without errors Segments processed: 1 Transfer count units: 0 Transfer count: 0 .SH "سیگنال‌ها (SIGNALS)" مدیریت سیگنال‌ها از dd قرض گرفته شده است: سیگنال‌های SIGINT، SIGQUIT و SIGPIPE تعداد بلوک‌های باقیمانده برای انتقال و تعداد رکوردهای ورودی + خروجی را در خروجی نمایش می‌دهند؛ سپس رفتار پیش‌فرض خود را انجام می‌دهند. SIGUSR1 باعث می‌شود همین اطلاعات نمایش داده شود در حالی که رونوشت همچنان ادامه می‌یابد. تمامی خروجی‌های ناشی از سیگنال‌ها به stderr ارسال می‌شوند. .SH "وضعیت خروج (EXIT STATUS)" وضعیت خروج sg_xcopy در صورت موفقیت 0 است. در غیر این صورت به صفحه راهنمای sg3_utils(8) مراجعه کنید. .PP اگر پرچم flock داده شده باشد و فرآیند دیگری قفل انحصاری مشورتی را در اختیار داشته باشد، یک وضعیت خروج اضافی برابر با 90 تولید می‌شود. .SH "نویسندگان (AUTHORS)" نوشته‌شده توسط Hannes Reinecke و Douglas Gilbert. .SH "گزارش باگ‌ها (REPORTING BUGS)" گزارش باگ‌ها را به ارسال کنید. .SH "حق نشر (COPYRIGHT)" حق نشر \(co 2000\-2021 متعلق به Hannes Reinecke و Douglas Gilbert است. .br این نرم‌افزار تحت مجوز GPL نسخه ۲ توزیع شده است. هیچ تضمینی وجود ندارد؛ حتی برای قابلیت فروش یا تناسب با یک هدف خاص. .SH "همچنین ببینید (SEE ALSO)" یک صفحه وب در مورد بررسی sg_dd در نشانی https://sg.danny.cz/sg/sg_dd.html وجود دارد. .PP نسخه‌ای مبتنی بر ریسه‌های پوزیکس (POSIX threads) از این ابزار با نام .B sgp_dd در بسته sg3_utils قرار دارد. نسخه دیگری از آن بسته با نام .B sgm_dd شناخته می‌شود و از ورودی/خروجی نقشه‌برداری‌شده در حافظه (memory mapped IO) برای افزایش سرعت انتقال‌ها از دستگاه‌های sg استفاده می‌کند. .PP بسته lmbench شامل ابزار .B lmdd است که آن نیز جالب توجه است. برای انتقال داده‌ها به نوارها و برعکس به ابزار .B dt مراجعه کنید که در نشانی https://www.scsifaq.org/RMiller_Tools/index.html یافت می‌شود. .PP برای تغییر پارامترهای حالتی که بر حافظه موقت (caching) و بازیابی خطای دستگاه SCSI تأثیر می‌گذارند، به .B sdparm(sdparm) مراجعه کنید. .PP همچنین ببینید: .B dd(1), sg_copy_results(sg3_utils), ddrescue(GNU), ddpt,ddptctl(ddpt)