کپی فایل با اندازه دلخواه و مشخص(دستور dd)

dd دستوری برای تبدیل و کپی یک فایل به اندازه تعیین شده، بکار می رود. dd بجای خواندن ورودی از صفحه کلید، ورودی را از یک فایل می خواند و بجای نوشتن در نمایشگر، خروجی را در یک فایل ذخیره می کند. فرض کنید می خواهید از یک فایل به اندازه 800 کیلوبایت فقط 512 کیلو بایت آنرا کپی کنید. برای این کار باید dd را طوری تنظیم کنید که به تعداد 512 تا  بایت از آن فایل  را در یک فایل جدید ذخیره کند. فرمت کلی دستور dd  به صورت زیر است

dd [OPERAND]… dd OPTION

سوئیچ یا option های متداول dd بصورن زیر هستند :

If=file : مخفف Input File و فایلی را مشخص که می خواهیم کپی آنرا تهیه کنیم. دستور dd از این فایل بجای صفحه کلید استفاده می کند.

of=file : مخفف Output File و فایلی را مشخص می کند که می خواهیم خروجی (کپی فایل اول) را در آن ذخیره کنیم.

bs=Byte : اندازه فایل جدید کخ با of مشخص می شود. در اصل به اندازه مقدار Byte، از فایل if ، فایل of را می سازد.

count=Value : تعداد تکرا را نشان می دهد. فرض کنید bs=512 (512 بایت) و count=1 باشد، فایل جدید 1*512 بایت خواهد بود.

شکل معمول استفاده از آن بصورت زیر است.

dd if=/path/to/inputfile of=/path/to/outputfile bs=Byte count=value

کاربرد ها :

برای تهیه نسخه پشتیبان از MBR (Master Record Book)

dd if=/dev/had of=/tmp/mbrbackup.img bs=512 count=1

دستور بالا 512 بایت اول هارد hda را در یک فایل به نام mbrbackup.img ذخیره می کند. 512 بایت اول هارد شامل Master Record Boot است. دستور زیر برای بازیابی MBR استفاده می شود به این صورت که فایلی به نام mbrbackup.img و به اندازه 512 بایت در در 512 بایت اول هارد hda ذخیره می کند.

dd if=/tmp/mbrbackup.img of=/dev/had bs=512 count=1

برای تهیه image از CD/DVD و فلاپی ها :

دستور زیر از محتوای فلاپی یک فایل image  تهیه می کند. و دستور دومی همان فایل را برای فلاپی بازیابی می کند.

dd if=/dev/fd0  of=/tmp/fdimagefile

dd if=/tmp/fdimagefile of=/dev/fd0

برای تهیه پشتیبان از پارتیشن ها

از این دستور و بصورت خط زیر می توان از پارتیشن، فایل پشتیبان تهیه کرد. در مثال زیر با دستور gzip و از پارتیشن dev/hda1/ یک فایل پشتیبان به نام partionbackup.gz تهیه می شود.

dd if=/dev/hda1 | gzip –c > /tmp/partionbackup.gz

برای بازیابی آن از دستور زیر استفاده می کنیم فقط باید دقت شود که اندازه پارتیشن مقد با اندازه پارتیشن مبدا یکسان باشد.

cat /tmp/partitionbackup.gz | gzip –d | dd of=/dev/hda1

از دیگر کاربرد های دستور dd ایجاد یک فایل برای ساخت یک پارتیشن swap یدکی، استفاده می شود.

نوشتن پاسخ


4 × یک =