LZOP(1) LZOP(1)

lzop - فشرده‌سازی یا باز کردن فایل‌ها

lzop یک ابزار فشرده‌ساز فایل بسیار شبیه به gzip است. lzop سرعت را به نسبت فشرده‌سازی ترجیح می‌دهد.

lzop [ command ] [ options ] [ filename ...  ]

lzop [-dxlthIVL19] [-qvcfFnNPkU] [-o file] [-p[path]] [-S suffix] [filename ...]

lzop اندازه فایل‌های مشخص‌شده را کاهش می‌دهد. در صورت امکان، هر فایل با حفظ همان حالت‌های مالکیت، زمان‌های دسترسی و تغییر، به فایلی با پسوند .lzo فشرده می‌شود. اگر هیچ فایلی مشخص نشود، یا اگر نام فایل "-" باشد، lzop تلاش می‌کند ورودی استاندارد را به خروجی استاندارد فشرده کند. lzop تنها برای فشرده‌سازی فایل‌های عادی یا پیوندهای نمادین به فایل‌های عادی اقدام خواهد کرد. به‌ویژه، دایرکتوری‌ها را نادیده می‌گیرد.

اگر نام فایل فشرده‌شده برای سیستم فایل بیش از حد طولانی باشد، lzop آن را کوتاه می‌کند.

فایل‌های فشرده را می‌توان با استفاده از lzop -d به شکل اصلی خود بازگرداند. lzop -d فهرستی از فایل‌ها را در خط فرمان دریافت کرده و هر فایلی را که نامش به .lzo ختم شده و با شماره جادویی (magic number) صحیح آغاز می‌شود، به فایلی غیرفشرده بدون پسوند اولیه تبدیل می‌کند. lzop -d همچنین پسوند ویژه .tzo را به عنوان شکل کوتاه‌شده .tar.lzo شناسایی می‌کند. هنگام فشرده‌سازی، lzop در صورت لزوم به جای کوتاه کردن فایلی با پسوند .tar، از پسوند .tzo استفاده می‌کند.

lzop نام فایل اصلی، حالت (mode) و برچسب زمانی (timestamp) را در فایل فشرده ذخیره می‌کند. این اطلاعات هنگام باز کردن فایل با گزینه -d قابل استفاده هستند. این ویژگی زمانی مفید است که نام فایل فشرده کوتاه شده باشد یا برچسب زمانی پس از انتقال فایل حفظ نشده باشد.

lzop هنگام فشرده‌سازی، مالکیت، حالت و برچسب زمانی فایل‌ها را حفظ می‌کند. هنگام باز کردن فشرده‌سازی، در صورت وجود این اطلاعات در فایل فشرده، lzop حالت و برچسب زمانی را بازیابی می‌کند. برای اطلاعات بیشتر گزینه‌های -n، -N، --no-mode و --no-time را ببینید.

lzop همیشه فایل‌های اصلی را بدون تغییر نگه می‌دارد مگر این‌که از گزینه -U استفاده کنید.

lzop از کتابخانه فشرده‌سازی داده‌های LZO برای عملیات فشرده‌سازی استفاده می‌کند. میزان فشرده‌سازی به‌دست‌آمده به اندازه ورودی و توزیع زیررشته‌های مشترک بستگی دارد. به طور معمول، متونی مانند کد منبع یا انگلیسی به ۴۰-۵۰٪ اندازه اصلی فشرده می‌شوند، و فایل‌های بزرگ معمولاً بسیار بهتر از فایل‌های کوچک فشرده می‌شوند. سرعت فشرده‌سازی و باز کردن به طور کلی بسیار سریع‌تر از سرعت gzip است، اما نسبت فشرده‌سازی ضعیف‌تر است.

lzop سطوح فشرده‌سازی زیر را برای الگوریتم LZO1X ارائه می‌دهد:

-3
سطح پیش‌فرض فشرده‌سازی نسبتاً سریعی ارائه می‌دهد. در حال حاضر -2، -3، -4، -5 و -6 همگی معادل یکدیگرند - این موضوع ممکن است در نسخه‌های آینده تغییر کند.
-1, --fast
در برخی موارد می‌تواند حتی کمی سریع‌تر باشد - اما در اکثر مواقع متوجه تفاوتی نخواهید شد
-7, -8, -9, --best
این سطوح فشرده‌سازی عمدتاً برای تولید داده‌های از پیش فشرده‌شده در نظر گرفته شده‌اند - به خصوص -9 می‌تواند تا حدودی کند باشد

باز کردن فشرده‌سازی برای تمام سطوح فشرده‌سازی بسیار سریع است، و سرعت باز کردن تحت تأثیر سطح فشرده‌سازی قرار نمی‌گیرد.

اگر فرمان دیگری مشخص نشده باشد، lzop به طور پیش‌فرض فشرده‌سازی را انجام می‌دهد (با استفاده از سطح فشرده‌سازی -3).

-#, --fast, --best
تنظیم سرعت فشرده‌سازی با استفاده از رقم مشخص‌شده #، که در آن -1 یا --fast سریع‌ترین روش فشرده‌سازی (فشرده‌سازی کمتر) و -9 یا --best کندترین روش فشرده‌سازی (بهترین فشرده‌سازی) را مشخص می‌کند. سطح پیش‌فرض فشرده‌سازی -3 است.
باز کردن فشرده‌سازی. هر فایل در همان دایرکتوری فایل فشرده قرار خواهد گرفت.
استخراج فایل‌های فشرده در دایرکتوری کاری فعلی. این گزینه معادل '-dPp' است.
آزمایش. بررسی یکپارچگی فایل فشرده.
برای هر فایل فشرده، فیلدهای زیر را فهرست می‌کند:
method: روش فشرده‌سازی
compressed: اندازه فایل فشرده
uncompr.: اندازه فایل غیرفشرده
ratio: نسبت فشرده‌سازی
uncompressed_name: نام فایل غیرفشرده

در ترکیب با گزینه --verbose، فیلد زیر نیز نمایش داده می‌شود:

date & time: برچسب زمانی فایل غیرفشرده

همراه با --name، نام غیرفشرده، تاریخ و زمان در صورت وجود، همان مواردی خواهند بود که درون فایل فشرده ذخیره شده‌اند.

همراه با --verbose، مجموع اندازه‌ها و نسبت فشرده‌سازی برای تمام فایل‌ها نیز نمایش داده می‌شود. همراه با --quiet، سطر عنوان و سطرهای مجموع نمایش داده نمی‌شوند.

توجه داشته باشید که lzop نسبت فشرده‌سازی را به صورت compressed_size / uncompressed_size تعریف می‌کند.

فهرست کردن هر فایل فشرده در قالبی مشابه با ls -ln.

پرچم‌های زیر در حال حاضر پشتیبانی می‌شوند:
F افزودن یک '*' به انتهای نام فایل‌های اجرایی.
G جلوگیری از نمایش اطلاعات گروه.
Q قرار دادن نام فایل‌ها درون جفت‌گیومه ("").

برای هر فایل فشرده، فیلدهای سرآیند داخلی را فهرست می‌کند.
نمایش اطلاعات درباره سیستم و خروج.
نمایش مجوز (لایسنس) lzop و خروج.
نمایش صفحه راهنما و خروج.
نسخه. نمایش شماره نسخه و گزینه‌های زمان کامپایل و خروج.
نسخه. نمایش شماره نسخه و خروج..SH "گزینه‌ها (OPTIONS)"
نوشتن خروجی روی خروجی استاندارد. اگر چندین فایل ورودی وجود داشته باشد، خروجی شامل دنباله‌ای از اعضای مستقل فشرده‌شده (یا خارج‌شده از فشردگی) خواهد بود. برای دستیابی به فشردگی بهتر، تمام فایل‌های ورودی را پیش از فشرده‌سازی به یکدیگر متصل (concatenate) کنید.
نوشتن خروجی در فایل FILE. اگر چندین فایل ورودی وجود داشته باشد، خروجی شامل دنباله‌ای از اعضای مستقل فشرده‌شده (یا خارج‌شده از فشردگی) خواهد بود.
نوشتن فایل‌های خروجی در دایرکتوری DIR به‌جای دایرکتوری تعیین‌شده توسط فایل ورودی. اگر DIR مشخص نشود، خروجی در دایرکتوری کاری فعلی نوشته می‌شود.
مجبور کردن lzop به:
- رونویسی فایل‌های موجود
- فشرده‌سازی یا استخراج از stdin حتی اگر یک ترمینال به نظر برسد
- فشرده‌سازی یا استخراج در stdout حتی اگر یک ترمینال به نظر برسد
- مجاز دانستن گزینه -c در ترکیب با -U

استفاده از -f دو بار یا بیشتر مواردی چون موارد زیر را اجبار می‌کند:

- فشرده‌سازی فایل‌هایی که از پیش پسوند .lzo دارند
- تلاش برای استخراج فایل‌هایی که پسوند معتبری ندارند
- تلاش برای مدیریت فایل‌های فشرده با پرچم‌های سرآیند ناشناخته

با احتیاط استفاده شود.

هنگام فشرده‌سازی یا استخراج، چکسام فایلِ غیرفشرده را ذخیره یا بررسی نکنید. این کار سرعت عملکرد lzop را اندکی افزایش می‌دهد (به‌ویژه هنگام استخراج)، اما از آنجا که در صورت آسیب‌دیدگی فایل‌های فشرده ممکن است خرابی داده‌ها متوجه نشود، استفاده از این گزینه عموماً توصیه نمی‌شود. همچنین، بدون در نظر گرفتن این گزینه، هنگام فشرده‌سازی با یکی از سطوح فشرده‌سازی کُند (-7، -8 یا -9)، همواره چکسام ذخیره می‌شود.
هنگام استخراج، در صورت وجود، نام اصلی فایل را بازیابی نکنید (تنها پسوند lzop را از نام فایل فشرده حذف کنید). این گزینه در UNIX پیش‌فرض است.
هنگام استخراج، در صورت وجود، نام اصلی فایل را بازیابی کنید. این گزینه در سیستم‌هایی که محدودیتی برای طول نام فایل دارند مفید است. اگر نام اصلی ذخیره‌شده در فایل فشرده برای سیستم‌فایل آن مناسب نباشد، نام جدیدی از روی نام اصلی ساخته می‌شود تا معتبر گردد. این گزینه در DOS، Windows و OS/2 پیش‌فرض است.
هنگام استخراج، در صورت وجود، مسیر و نام اصلی فایل را بازیابی کنید. هنگام فشرده‌سازی، نام مسیر نسبی (و تمیزشده) را ذخیره کنید. این گزینه عمدتاً هنگام استفاده از archive mode مفید است - مثال‌های کاربردی زیر را ببینید.
هنگام استخراج، حالت اصلی (مجوزها) ذخیره‌شده در فایل فشرده را بازیابی نکنید.
هنگام استخراج، برچسب زمانی اصلی ذخیره‌شده در فایل فشرده را بازیابی نکنید.
استفاده از پسوند .suf به‌جای .lzo. این پسوند نباید شامل چندین نقطه و نویسه‌های خاص مانند '+' یا '*' باشد؛ همچنین برای جلوگیری از سردرگمی هنگام انتقال فایل‌ها به سیستم‌های دیگر، باید از پسوندهایی غیر از .lzo خودداری شود.
فایل‌های ورودی را حذف نکنید. این حالت پیش‌فرض است.
حذف فایل‌های ورودی پس از فشرده‌سازی یا استخراج موفقیت‌آمیز. از این گزینه استفاده کنید تا رفتار lzop مشابه gzip و bzip2 شود. توجه داشته باشید که تعیین صریح -k بر -U اولویت دارد.
استفاده از چکسام crc32 به‌جای چکسام adler32.
فرونشاندن تمام هشدارها.
فرونشاندن تمام هشدارها، و هرگز خارج نشدن با وضعیت خروج 2.
فرونشاندن تمام هشدارها و کاهش پرگویی برخی از دستورها مانند --list یا --test.
حالت پرگو. نمایش نام هر فایل فشرده‌شده یا استخراج‌شده. می‌توان از چندین -v برای افزایش پرگویی برخی دستورها مانند --list یا --test استفاده کرد.
--
مشخص می‌کند که این پایان گزینه‌ها است. هر نام فایلی پس از -- حتی اگر با یک خط تیره آغاز شود، به‌عنوان گزینه تفسیر نخواهد شد.

تلاشی برای خواندن ورودی استاندارد نکنید (اما نام فایل "-" همچنان این گزینه را لغو خواهد کرد). در نسخه‌های قدیمی lzop، این گزینه هنگام استفاده در کارهای cron (که فاقد ترمینال کنترلی هستند) ضروری بود.
به‌ندرت مفید است. پیش‌پردازش داده‌ها با یک فیلتر ویژهٔ "چندرسانه‌ای" قبل از فشرده‌سازی به‌منظور بهبود نسبت فشرده‌سازی. NUMBER باید یک عدد دهدهی از 1 تا 16 (شامل هر دو) باشد. استفاده از فیلتر، سرعت فشرده‌سازی و استخراج را تا حد زیادی کاهش می‌دهد، و نسبت فشرده‌سازی نیز معمولاً تغییر چندانی نمی‌کند... با این حال، ممکن است در آینده فیلترهای مؤثرتری اضافه شوند.

می‌توانید --filter=1 را با داده‌هایی مانند نمونه‌های صوتی 8-bit، و --filter=2 را با نمونه‌های 16-bit یا تصاویر با عمق ۱۶ (depth-16) و غیره امتحان کنید.

فیلترزدایی هنگام استخراج به‌طور خودکار مدیریت می‌شود.

منسوخ شده است. صرفاً برای سازگاری با نسخه‌های بسیار قدیمی، چرا که lzop اکنون به‌طور پیش‌فرض از چکسام استفاده می‌کند. این گزینه در نگارش‌های آینده حذف خواهد شد.
از هیچ توالی فرار رنگی استفاده نشود.
یک ترمینال ANSI تک‌رنگ فرض شود. این حالت در UNIX پیش‌فرض است (اگر پشتیبانی از کنسول کامپایل شده باشد).
یک ترمینال ANSI رنگی فرض شود یا برای دسترسی تمام‌صفحه تلاش شود. این حالت در DOS و در یک کنسول مجازی Linux پیش‌فرض است (اگر پشتیبانی از کنسول کامپایل شده باشد)..SH "کاربرد پیشرفته (ADVANCED USAGE)" دستور lzop به شما امکان می‌دهد تا با انعطاف‌پذیری بالایی فایل‌های خود را مدیریت کنید. در اینجا چند نمونه از کاربردهای آن آورده شده است:
حالت پشتیبان‌گیری (backup mode)
tar --use-compress-program=lzop -cf archive.tar.lzo files..
این حالت توصیه شده برای ساخت نسخه‌های پشتیبان است.
نیازمند GNU tar یا نگارشی سازگار است که گزینهٔ
'--use-compress-program=XXX' را بپذیرد.
حالت تک‌فایلی: فشرده‌سازی/استخراج مجزای هر فایل
ساخت
  lzop a.c             -> ساخت a.c.lzo
  lzop a.c b.c         -> ساخت a.c.lzo و b.c.lzo
  lzop -U a.c b.c      -> ساخت a.c.lzo و b.c.lzo و حذف a.c و b.c
  lzop *.c
استخراج
  lzop -d a.c.lzo      -> بازیابی a.c
  lzop -df a.c.lzo     -> بازیابی a.c، بازنویسی در صورت وجود
  lzop -d *.lzo
فهرست
  lzop -l a.c.lzo
  lzop -l *.lzo
  lzop -lv *.lzo       -> با جزئیات بیشتر
آزمایش
  lzop -t a.c.lzo
  lzop -tq *.lzo       -> در حالت بی‌صدا
حالت لوله‌کشی (pipe mode): فشرده‌سازی/استخراج از stdin به stdout
ساخت
  lzop < a.c > y.lzo
  cat a.c | lzop > y.lzo
  tar -cf - *.c | lzop > y.tar.lzo     -> ساخت یک فایل tar فشرده‌شده
استخراج
  lzop -d < y.lzo > a.c
  lzop -d < y.tar.lzo | tar -xvf -     -> استخراج یک فایل tar
فهرست
  lzop -l < y.lzo
  cat y.lzo | lzop -l
  lzop -d < y.tar.lzo | tar -tvf -     -> فهرست کردن محتویات یک فایل tar
آزمایش
  lzop -t < y.lzo
  cat y.lzo | lzop -t
حالت خروجی استاندارد (stdout mode): فشرده‌سازی/استخراج به stdout
ساخت
  lzop -c a.c > y.lzo
استخراج
  lzop -dc y.lzo > a.c
  lzop -dc y.tar.lzo | tar -xvf -      -> استخراج یک فایل tar
فهرست
  lzop -dc y.tar.lzo | tar -tvf -      -> فهرست کردن محتویات یک فایل tar
حالت بایگانی (archive mode): فشرده‌سازی/استخراج چندین فایل در یک فایل بایگانی واحد
ساخت
  lzop a.c b.c -o sources.lzo          -> ساخت یک بایگانی
  lzop -P src/*.c -o sources.lzo       -> ساخت یک بایگانی، ذخیره نام مسیر
  lzop -c *.c > sources.lzo            -> روشی دیگر برای ساخت بایگانی
  lzop -c *.h >> sources.lzo           -> افزودن فایل‌ها به بایگانی
استخراج
  lzop -dN sources.lzo
  lzop -x ../src/sources.lzo           -> استخراج در دایرکتوری جاری
  lzop -x -p/tmp < ../src/sources.lzo  -> استخراج در دایرکتوری /tmp
فهرست
  lzop -lNv sources.lzo
آزمایش
  lzop -t sources.lzo
  lzop -tvv sources.lzo                -> با بیشترین جزئیات ممکن

اگر می‌خواهید یک فایل بایگانی واحد با چندین عضو بسازید تا بعداً بتوان هر عضو را به‌طور مستقل استخراج کرد، بهتر است از یک ابزار بایگانی کامل مانند tar استفاده کنید. آخرین نگارش GNU tar از گزینهٔ --use-compress-program=lzop برای فراخوانی شفاف lzop پشتیبانی می‌کند. دستور lzop به‌منظور مکملی برای tar طراحی شده است، نه جایگزینی برای آن.

متغیر محیطی LZOP می‌تواند مجموعه‌ای از گزینه‌های پیش‌فرض را برای lzop در خود نگه دارد. این گزینه‌ها ابتدا تفسیر می‌شوند و می‌توان آن‌ها را با پارامترهای صریح در خط فرمان بازنویسی کرد. به عنوان مثال:

برای sh/ksh/zsh:    LZOP="-1v --name"; export LZOP
برای csh/tcsh:      setenv LZOP "-1v --name"
برای DOS/Windows:   set LZOP=-1v --name

در Vax/VMS، نام متغیر محیطی LZOP_OPT است تا از تداخل با نماد تنظیم‌شده برای فراخوانی برنامه جلوگیری شود.

همهٔ گزینه‌ها در متغیر محیطی معتبر نیستند - در صورت نامعتبر بودن، lzop به شما اعلام خواهد کرد.

bzip2(1), gzip(1), tar(1), xz(1)

فایل‌های اجرایی از پیش کامپایل‌شده برای برخی سیستم‌عامل‌ها و پلتفرم‌ها در صفحهٔ اصلی lzop در دسترس هستند.

ببینید: http://www.oberhumer.com/opensource/lzop

دستور lzop برای خدمات فشرده‌سازی از کتابخانهٔ فشرده‌سازی دادهٔ LZO استفاده می‌کند.

    ببینید: http://www.oberhumer.com/opensource/lzo
وضعیت خروج در حالت عادی 0 است؛ در صورت بروز خطا، وضعیت خروج
1 خواهد بود. در صورت بروز هشدار، وضعیت خروج 2 است (مگر اینکه
گزینهٔ --ignore-warn اعمال شده باشد).
پیام‌های عیب‌یابی lzop به‌گونه‌ای طراحی شده‌اند که خودتوضیح باشند.

هیچ باگ شناخته‌شده‌ای وجود ندارد. لطفاً تمام مشکلات را فوراً به نویسنده گزارش دهید.

Markus Franz Xaver Johannes Oberhumer <markus@oberhumer.com> http://www.oberhumer.com/opensource/lzop

حق نشر (C) 1996-2017 برای lzop و کتابخانهٔ LZO متعلق به Markus Franz Xaver Oberhumer <markus@oberhumer.com> است. تمامی حقوق محفوظ است.

lzop و کتابخانهٔ LZO تحت شرایط پروانه عمومی همگانی گنو (GPL) توزیع می‌شوند.

اطلاعات حقوقی: اگر می‌خواهید lzop را در سامانهٔ تجاری (پشتیبان‌گیری-) خود یکپارچه‌سازی کنید، لطفاً GNU GPL FAQ را در http://www.gnu.org/licenses/gpl-faq.html دربارهٔ پیامدهای احتمالی به‌دقت مطالعه کنید.

2017-08-10 lzop 1.04