| bzip3(1) | General Commands Manual | bzip3(1) |
نام (NAME)
bzip3 - یک فشردهساز آماری کارآمد فایل و جانشین معنوی bzip2
خلاصه دستور (SYNOPSIS)
bzip3 [ -BbcdehftV ] [ نامهایفایل ... ]
bz3cat معادل است با bzip3 -dc
bunzip3 معادل است با bzip3 -d
توضیحات (DESCRIPTION)
فشردهسازی یا استخراج فایل با استفاده از کدگذاری طول اجرا (RLE) و پیشبینی لمپل-زیو، و سپس تبدیل باروز-ویلر و کدگذاری حسابی انجام میگیرد. bzip3، همانند نیاکان خود bzip2، در فشردهسازی متون یا کدهای منبع عملکردی برجسته دارد.
گزینههای خط فرمان عمداً بسیار مشابه گزینههای bzip2 طراحی شدهاند، اما کاملاً یکسان نیستند.
bzip3 حداکثر دو نام فایل همراه با سوییچها را انتظار دارد. bzip3 بهطور پیشفرض فایلهای موجود را بازنویسی نمیکند. اگر این رفتار مورد نظر است، از گزینه -f استفاده کنید.
اگر نام فایلی مشخص نشود، bzip3 از ورودی استاندارد به خروجی استاندارد فشردهسازی میکند، و از فرستادن دادههای باینری به ترمینال خودداری خواهد کرد. سوییچ -e (کدگذاری) به طور ضمنی فعال است.
bunzip3 (یا به طور معادل، bzip3 -d ) دادهها را از ورودی استاندارد به خروجی استاندارد استخراج میکند، و از خواندن دادهها از ترمینال خودداری خواهد کرد.
اگر دو فایل مشخص شوند، فایل نخست به جای ورودی استاندارد و فایل دوم به جای خروجی استاندارد به کار میرود.
اگر سوییچ -c وجود داشته باشد، bzip3 از فایل مشخصشده خوانده و دادهها را به خروجی استاندارد میفرستد. در غیر این صورت، هنگام استخراج (decoding)، bzip3 تلاش میکند تا با حذف پسوند .bz3 نام فایل غیرفشرده را حدس بزند؛ در صورت عدم وجود این پسوند، خطا گزارش میشود. در هنگام فشردهسازی (encoding)، نام فایل خروجی با افزودن پسوند .bz3 به نام فایل ورودی ایجاد میشود.
گزینهها (OPTIONS)
- -B --batch
- فعال کردن حالت دستهای (batch). به طور پیشفرض، اگر بیش از دو فایل ارائه شود، bzip3 خطا میدهد و دو فایل ارائهشده همواره به عنوان ورودی و خروجی در نظر گرفته میشوند. حالت دستهای باعث میشود bzip3 با هر فایل به عنوان ورودی رفتار کند؛ بنابراین برای نمونه bzip3 -Bd *.bz3 تمام فایلهای .bz3 در دایرکتوری جاری را استخراج میکند.
- -b --block N
- تنظیم اندازه بلوک به N مبیبایت. کمینه ۱ مبیبایت و بیشینه ۵۱۱ مبیبایت است.
- -c --stdout
- اجبار به نوشتن دادههای خروجی در خروجی استاندارد هنگام تعیین یک فایل.
- -d --decode
- اجبار به استخراج و از حالت فشرده خارج کردن.
- -e/-z --encode
- اجبار به فشردهسازی (رفتار پیشفرض).
- -f --force
- بازنویسی فایلهای موجود.
- -h --help
- نمایش پیام راهنما و خروج.
- -j --jobs N
- تنظیم تعداد رشتههای پردازشی (worker threads) موازی که هر کدام یک بلوک را پردازش میکنند.
- --rm
- حذف فایلهای ورودی پس از فشردهسازی یا استخراج موفقیتآمیز. اگر خروجی stdout باشد، این گزینه نادیده گرفته میشود.
- -k --keep
- نگهداشتن (عدم حذف) فایلهای ورودی. به طور پیشفرض فعال است و صرفاً برای سازگاری با سایر فشردهسازها قرار داده شده است.
- -v --verbose
- فعال کردن حالت خروجی پرگویی (verbose) برای مشاهده آمار فشردهسازی.
- -V --version
- نمایش اطلاعات نسخه و خروج.
- -t --test
- بررسی درستی بلوکهای فشردهشده.
- --
- رفتار با تمامی آرگومانهای پس از آن به عنوان نام فایل، حتی اگر با خط تیره شروع شوند. این گزینه برای مدیریت فایلهایی است که نامشان با خط تیره آغاز میشود.
قالب فایل (FILE FORMAT)
فشردهسازی تا زمانی انجام میشود که طول بلوک ورودی بیش از ۶۴ بایت باشد. در غیر این صورت، به عنوان یک بلوک بدون تغییر (literal) کدگذاری میشود. در تمامی موارد دیگر، دادههای فشرده درون فایل نوشته میشوند. فرمت فایل دارای بار اضافی ثابت ۹ بایت در هر فایل و بین ۹ تا ۱۷ بایت در هر بلوک است. دادههای تصادفی به گونهای کدگذاری میشوند که انبساط آنها معمولاً زیر ۰.۸٪ است.
bzip3 از یک چکسام ۳۲ بیتی CRC برای اطمینان از تطابق کامل نسخه استخراجشده با فایل اصلی استفاده میکند. این کار از آسیب دیدن دادههای فشرده جلوگیری مینماید.
مدیریت حافظه (MEMORY MANAGEMENT)
گزینه -b اندازه بلوک را بر حسب مبیبایت (MiB) تنظیم میکند. پیشفرض ۱۶ مبیبایت است. مصرف حافظه در فشردهسازی و استخراج را میتوان به صورت زیر تخمین زد:
6 x block size
اندازههای بزرگتر بلوک معمولاً به سرعت بازدهی کاهشی نشان میدهند. همچنین مهم است در نظر داشته باشید که میزان حافظه مورد نیاز برای استخراج در زمان فشردهسازی با انتخاب اندازه بلوک تعیین میشود. به طور کلی، سعی کنید بزرگترین اندازه بلوکی را که محدودیتهای حافظه اجازه میدهد به کار گیرید، زیرا میزان فشردهسازی را به حداکثر میرساند. سرعت فشردهسازی و استخراج عملاً تحت تأثیر اندازه بلوک قرار نمیگیرد.
نویسندگان (AUTHORS)
Kamila Szewczyk, k@iczelia.net.
https://github.com/iczelia/bzip3
با تشکر از: Ilya Grebnov، Benjamin Strachan، Caleb Maclennan، Ilya Muravyov، نگهدارندگان بستهها - Leah Neukirchen، Grigory Kirillov، Maciej Barc، Robert Schutz، Petr Pisar، Przemyslaw Skibinski، Shun Sakai و دیگران. همچنین تمامی افرادی که پچ فرستادند، در حل مشکلات پورتپذیری یاری رساندند، مرا به کار روی bzip3 تشویق کردند و سیستمهایی را برای آزمونهای کارایی در اختیارم گذاشتند.
همچنین ببینید (SEE ALSO)
| 13 August 2025 | version v1.5.3 |