.TH "LZ4" "1" "مه ۲۰۲۵" "lz4" "دستورهای کاربری" .SH "نام (NAME)" lz4 \- فشردهسازی و استخراج بسیار سریع فایلها با الگوریتم LZ4 .SH "خلاصه دستور (SYNOPSIS)" \fBlz4\fP [\fIگزینهها\fR] [\fIفایل_ورودی\fR] [\fIفایل_خروجی\fR] .br \fBunlz4\fP \fIفایل\fR... .br \fBlz4cat\fP \fIفایل\fR... .P دستور \fBunlz4\fR معادل با \fBlz4 \-d\fR است. .P دستور \fBlz4cat\fR معادل با \fBlz4 \-dcfm\fR است. .P هنگام نوشتن اسکریپتهایی که نیاز به بازگشایی فایلها دارند، توصیه میشود همواره به جای نامهای \fBunlz4\fR و \fBlz4cat\fR از نام اصلی \fBlz4\fR به همراه آرگومانهای مناسب (\fBlz4 \-d\fR یا \fBlz4 \-dc\fR) استفاده شود. .SH "توضیحات (DESCRIPTION)" ابزار \fBlz4\fR یک الگوریتم فشردهسازی داده بدون اتلاف با سرعت بسیار بالا است که بر روی سرعت فشردهسازی و بازگشایی دادهها تمرکز دارد. این ابزار به طور معمول سرعتی بیش از ۵۰۰ مگابایت بر ثانیه به ازای هر هسته پردازنده ارائه میدهد. میتوان با افزایش پارامتر سطح فشردهسازی، سرعت را فدای نرخ فشردهسازی بالاتر کرد. در حالی که عملیات بازگشایی تکرشتهای است، سرعت آن به چندین گیگابایت بر ثانیه میرسد که عموماً به اندازه کافی سریع است تا محدود به سرعت ورودی/خروجی (I/O) دیسک باشد. فرمت فایل بومی \fBlz4\fR پسوند \fB.lz4\fR است. .SS "تفاوت بین lz4 و gzip" دستور \fBlz4\fR از یک ساختار خط فرمان شبیه، \fIاما نه کاملاً یکسان\fR با \fBgzip(1)\fR پشتیبانی میکند. تفاوتها عبارتند از: .IP "\(bu" 4 دستور \fBlz4\fR به طور پیشفرض فقط یک فایل را فشرده میکند (گزینه \fB\-m\fR را برای چند فایل ببینید). .IP "\(bu" 4 دستور \fBlz4 file1 file2\fR به معنی فشردهسازی file1 \fIدرون\fR file2 است. .IP "\(bu" 4 دستور \fBlz4 file.lz4\fR به طور پیشفرض به حالت بازگشایی عمل میکند (برای اجبار به فشردهسازی از \fB\-z\fR استفاده کنید). .IP "\(bu" 4 دستور \fBlz4\fR فایلهای اصلی را حفظ میکند (گزینه \fB\-\-rm\fR را برای حذف فایل مبدأ پس از اتمام ببینید). .IP "\(bu" 4 دستور \fBlz4\fR آمار و وضعیت پیشرفت بلادرنگ را هنگام فشردهسازی یا بازگشایی یک فایل تکی نمایش میدهد (از \fB\-q\fR برای بیسدا کردن آن استفاده کنید). .IP "\(bu" 4 هنگامی که مقصدی مشخص نشده باشد، نتیجه به خروجی ضمنی فرستاده میشود که به وضعیت \fBstdout\fR بستگی دارد. هنگامی که \fBstdout\fR \fIکنسول ترمینال نباشد\fR، به خروجی ضمنی تبدیل میشود. در غیر این صورت، اگر \fBstdout\fR ترمینال باشد، خروجی ضمنی برابر با \fBfilename.lz4\fR خواهد بود. .IP "\(bu" 4 تکیه بر خروجی ضمنی در اسکریپتها یک عمل نامناسب در نظر گرفته میشود زیرا محیط اسکریپت ممکن است تغییر کند. همواره در اسکریپتها از خروجی صریح استفاده کنید. گزینه \fB\-c\fR تضمین میکند که خروجی حتماً \fBstdout\fR باشد. برعکس، مشخص کردن نام مقصد یا استفاده از \fB\-m\fR تضمین میکند که خروجی به ترتیب نام مشخصشده یا \fBfilename.lz4\fR خواهد بود. .IP "" 0 .P رفتارهای پیشفرض را میتوان با دستورات و گزینههای اختیاری زیر تغییر داد: .IP "\(bu" 4 گزینه \fBlz4 \-m\fR امکان ارائه چندین نام فایل ورودی را فراهم میسازد که با پسوند \fB.lz4\fR فشرده خواهند شد. اعلانهای پیشرفت به طور پیشفرض غیرفعال میشوند (از \fB\-v\fR برای فعال کردن آنها استفاده کنید). رفتار این حالت شباهت بیشتری به خط فرمان \fBgzip\fR پیدا میکند، با این تفاوت اصلی که فایلهای منبع به طور پیشفرض نگهداری میشوند. .IP "\(bu" 4 به طور مشابه، \fBlz4 \-m \-d\fR میتواند چندین فایل با الگوی \fB*.lz4\fR را بازگشایی کند. .IP "\(bu" 4 با استفاده از گزینه \fB\-\-rm\fR میتوان پس از فشردهسازی یا بازگشایی موفق، فایلهای منبع را حذف کرد. .IP "\(bu" 4 در نتیجه، ترکیب \fBlz4 \-m \-\-rm\fR رفتاری بسیار نزدیکتر به رفتار \fBgzip\fR ارائه میدهد. .IP "" 0 .SS "الحاق فایلهای lz4." امکان الحاق و اتصال فایلهای \fB.lz4\fR به همان شکل موجود وجود دارد. ابزار \fBlz4\fR چنین فایلهایی را طوری بازگشایی میکند که گویی یک فایل واحد \fB.lz4\fR بودهاند. برای مثال: .IP "" 4 .nf lz4 file1 > foo.lz4 lz4 file2 >> foo.lz4 .fi .IP "" 0 .P در این صورت دستور \fBlz4cat foo.lz4\fR معادل با \fBcat file1 file2\fR خواهد بود. .SH "گزینه‌ها (OPTIONS)" .SS "الحاق دستورات کوتاه" در برخی موارد، گزینهها را میتوان با دستور کوتاه مانند \fB\-x\fR یا دستور بلند مانند \fB\-\-long\-word\fR بیان کرد. دستورات کوتاه را میتوان با یکدیگر ترکیب کرد. برای مثال، \fB\-d \-c\fR معادل \fB\-dc\fR است. دستورات طولانی را نمیتوان با هم ترکیب کرد و باید حتماً با یک فاصله از هم جدا شوند. .SS "دستورات چندگانه" هنگامی که چندین دستور متناقض در یک خط فرمان صادر شوند، تنها آخرین دستور اعمال خواهد شد. .SS "حالت عملیات" .TP \fB\-z\fR, \fB\-\-compress\fR فشردهسازی. این حالت عملیاتی پیشفرض است هنگامی که هیچ گزینه حالتی مشخص نشده باشد، هیچ حالت دیگری از نام دستور استنباط نشود (برای مثال، \fBunlz4\fR به معنی \fB\-\-decompress\fR است)، و نام فایل ورودی نیز حالتی را القا نکند (برای مثال، پسوند \fB.lz4\fR به طور پیشفرض به معنی \fB\-\-decompress\fR است). گزینه \fB\-z\fR همچنین میتواند برای اجبار به فشردهسازی فایلی که قبلاً با پسوند \fB.lz4\fR فشرده شده، استفاده شود. .TP \fB\-d\fR, \fB\-\-decompress\fR, \fB\-\-uncompress\fR بازگشایی و استخراج. در صورتی که فایل ورودی پسوند \fB.lz4\fR داشته باشد نیز این حالت به عنوان عملیات پیشفرض در نظر گرفته میشود. .TP \fB\-t\fR, \fB\-\-test\fR آزمایش سلامت فایلهای فشرده \fB.lz4\fR. دادههای خارجشده از حالت فشرده دور ریخته میشوند و هیچ فایلی ایجاد یا حذف نمیشود. .TP \fB\-b#\fR حالت بنچمارک (ارزیابی کارایی)، با استفاده از سطح فشردهسازی \fB#\fR. .TP \fB\-\-list\fR فهرست کردن اطلاعات فایلهای lz4.. برای دریافت اطلاعات دقیق درباره فایلهای دارای چندین فریم (Frame)، از گزینه \fB\-v\fR استفاده کنید. گزینه \fB\-\-list\fR به طور خودکار اصلاحکننده \fB\-m\fR را فعال میکند. .SS "اصلاح‌کننده‌های عملیات" .TP \fB\-#\fR سطح فشردهسازی، که در آن # هر مقداری از ۱ تا ۱۲ است. مقادیر بالاتر، سرعت فشردهسازی را فدای نرخ فشردهسازی بیشتر میکنند. مقادیر بالای ۱۲ همانند ۱۲ رفتار میکنند. مقادیر پیشنهادی ۱ برای فشردهسازی سریع (پیشفرض) و ۹ برای فشردهسازی بالا است. موازنه میان سرعت و فشردهسازی بسته به دادههای ورودی تغییر میکند. سرعت بازگشایی در تمامی تنظیمات بسیار سریع باقی میماند. .TP \fB\-\-fast[=#]\fR تغییر به سطوح فشردهسازی فوقسریع. هرچه مقدار بالاتر باشد، سرعت فشردهسازی بیشتر شده و در ازای آن نرخ فشردهسازی کاهش مییابد. اگر \fB=#\fR تعیین نشود، مقدار پیشفرض \fB1\fR خواهد بود. این تنظیم سطح فشردهسازی را در صورتی که قبلاً تنظیمی انجام شده باشد بازنویسی میکند. به همین ترتیب اگر بعد از \fB\-\-fast\fR یک سطح فشردهسازی دیگر تعیین شود، بر آن اولویت خواهد داشت. .TP \fB\-\-best\fR تنظیم بالاترین سطح فشردهسازی. معادل \fB\-12\fR است. .TP \fB\-T#\fR, \fB\-\-threads=#\fR استفاده از \fB#\fR رشته پردازشی (Thread) برای فشردهسازی. هنگامی که \fB0\fR باشد یا مقداری ارائه نشود: به طور خودکار بر اساس تعداد هستههای پردازنده شناساییشده تعیین میشود. .TP \fB\-\-favor\-decSpeed\fR تولید دادههای فشردهشده بهینه‌سازیشده برای سرعت بازگشایی. در نتیجه، دادههای فشرده اندکی حجیمتر خواهند بود (معمولاً حدود ۰٫۵٪)، در حالی که سرعت بازگشایی بسته به مورد استفاده ۵ تا ۲۰ درصد بهبود مییابد. این گزینه تنها در ترکیب با سطوح فشردهسازی بسیار بالا (۱۰ به بالا) کار میکند. .TP \fB\-D dictionaryName\fR فشردهسازی، بازگشایی یا ارزیابی با استفاده از فرهنگ واژگان \fIdictionaryName\fR. فشردهسازی و بازگشایی برای سازگاری باید از لغتنامه یکسانی استفاده کنند. استفاده از لغتنامه متفاوت در هنگام بازگشایی یا با خطای بازگشایی متوقف میشود یا خطای چکسام ایجاد میکند. .TP \fB\-f\fR, \fB\-\-[no\-]force\fR این گزینه چندین اثر دارد: .IP اگر فایل مقصد از قبل موجود باشد، بدون پرسش آن را رونویسی میکند. .IP هنگامی که به همراه \fB\-\-decompress\fR استفاده شود و \fBlz4\fR نتواند نوع فایل مبدأ را تشخیص دهد، فایل مبدأ را بدون تغییر به خروجی استاندارد هدایت میکند. این به \fBlz4cat \-\-force\fR اجازه میدهد تا همانند دستور \fBcat(1)\fR برای فایلهایی که با \fBlz4\fR فشرده نشدهاند رفتار کند. .TP \fB\-c\fR, \fB\-\-stdout\fR, \fB\-\-to\-stdout\fR اجبار به نوشتن در خروجی استاندارد، حتی اگر مقصد کنسول ترمینال باشد. .TP \fB\-m\fR, \fB\-\-multiple\fR فایلهای ورودی چندگانه. پسوند \fB.lz4\fR به انتهای نام فایلهای فشرده افزوده میشود. این حالت همچنین سطح اعلانها را کاهش میدهد. همچنین برای فهرست کردن چندین فایل قابل استفاده است. رفتار \fBlz4 \-m\fR معادل \fBgzip \-k\fR است (فایلهای منبع را به طور پیشفرض حفظ میکند). .TP \fB\-r\fR پیمایش بازگشتی روی دایرکتوریها. این حالت همچنین گزینه \fB\-m\fR (فایلهای ورودی چندگانه) را به طور خودکار فعال میکند. .TP \fB\-B#\fR اندازه بلوک [۴\-۷] (پیشفرض: ۷) .br \fB\-B4\fR= ۶۴ کیلوبایت ؛ \fB\-B5\fR= ۲۵۶ کیلوبایت ؛ \fB\-B6\fR= ۱ مگابایت ؛ \fB\-B7\fR= ۴ مگابایت .TP \fB\-BI\fR تولید بلوکهای مستقل (پیشفرض) .TP \fB\-BD\fR وابستگی بلوکها به بلوکهای پیشین (بهبود نرخ فشردهسازی، که در بلوکهای کوچک ملموستر است) .TP \fB\-BX\fR تولید چکسام بلوکها (پیشفرض: غیرفعال) .TP \fB\-\-[no\-]frame\-crc\fR انتخاب چکسام فریم (پیشفرض: فعال) .TP \fB\-\-no\-crc\fR غیرفعال کردن هر دو چکسام فریم و بلوک .TP \fB\-\-[no\-]content\-size\fR درج اندازه اصلی در هدر (پیشفرض: بدون درج اندازه) .br نکته: این گزینه تنها زمانی فعال میشود که اندازه اصلی فایل قابل تعیین باشد (یعنی برای یک فایل). با منابع ورودی با اندازه ناشناخته مانند ورودی استاندارد (stdin) یا پایپ کار نخواهد کرد. .TP \fB\-\-[no\-]sparse\fR پشتیبانی از حالت فایل اسپارس (پیشفرض: برای فایل فعال، برای خروجی استاندارد غیرفعال) .TP \fB\-l\fR استفاده از قالب موروثی و قدیمی Legacy (معمولاً برای فشردهسازی کرنل لینوکس) .br نکته: گزینه \fB\-l\fR با گزینه‌های \fB\-m\fR (\fB\-\-multiple\fR) و \fB\-r\fR سازگار نیست. .SS "سایر گزینه‌ها" .TP \fB\-v\fR, \fB\-\-verbose\fR حالت با جزئیات کامل (Verbose) .TP \fB\-q\fR, \fB\-\-quiet\fR حذف هشدارها و آمارهای بلادرنگ؛ تعیین دو بار برای نادیده گرفتن خطاها نیز به کار میرود. .TP \fB\-h\fR, \fB\-H\fR, \fB\-\-help\fR نمایش راهنما / راهنمای تفصیلی و خروج .TP \fB\-V\fR, \fB\-\-version\fR نمایش شماره نسخه و خروج .TP \fB\-k\fR, \fB\-\-keep\fR حفظ فایلهای مبدأ (رفتار پیشفرض) .TP \fB\-\-rm\fR حذف فایلهای مبدأ پس از فشردهسازی یا بازگشایی موفقیتآمیز .TP \fB\-\-\fR در نظر گرفتن تمام آرگومانهای بعدی به عنوان نام فایل .SS "حالت ارزیابی عملکرد (Benchmark mode)" .TP \fB\-b#\fR ارزیابی عملکرد فایل(ها) با استفاده از سطح فشردهسازی # .TP \fB\-e#\fR ارزیابی عملکرد چندین سطح فشردهسازی، از b# تا e# (به طور فراگیر) .TP \fB\-i#\fR حداقل زمان ارزیابی به ثانیه [۱\-۹] (پیشفرض: ۳) .SS "متغیرهای محیطی (Environment Variables)" امکان ارسال برخی پارامترها به \fBlz4\fR از طریق متغیرهای محیطی وجود دارد. این ویژگی در شرایطی کاربرد دارد که فراخوانی \fBlz4\fR مشخص است (مثلاً از درون یک اسکریپت)، اما روشی برای ارسال مستقیم پارامترها جهت اثرگذاری بر نشست فشردهسازی وجود ندارد. متغیر محیطی اولویت بالاتری نسبت به پیشفرض فایل اجرایی دارد، اما اولویت آن پایینتر از گزینههای واردشده در خط فرمان زمان اجرا است. هنگامی که به صورت متغیرهای محیطی سراسری تنظیم شوند، روشی مناسب برای اعمال مقادیر پیشفرض سفارشی متفاوت از تنظیمات خود برنامه هستند. .TP \fBLZ4_CLEVEL\fR تعیین سطح فشردهسازی پیشفرض که \fBlz4\fR در صورت عدم تعیین در خط فرمان از آن استفاده میکند. پیشفرض فایل اجرایی عموماً \fB1\fR است. .TP \fBLZ4_NBWORKERS\fR تعیین تعداد پیشفرض رشتهها (Thread) که \fBlz4\fR برای فشردهسازی استفاده میکند. پیشفرض فایل اجرایی معمولاً \fB0\fR است که به معنی تشخیص خودکار بر اساس پردازنده محلی است. این قابلیت تنها زمانی فعال است که \fBlz4\fR با پشتیبانی از چندرشتگی کامپایل شده باشد. حداکثر تعداد رشتهها با \fBLZ4_NBWORKERS_MAX\fR (پیشفرض \fB200\fR) محدود شده است. .SH "گزارش اشکالات (BUGS)" گزارش اشکالات در: https://github.com/lz4/lz4/issues .SH "نویسنده (AUTHOR)" Yann Collet