ZCAT(1) دستورهای کاربری ZCAT(1)

zcat - بازگشایی و نمایش محتوای فایلهای فشرده gzip بر روی خروجی استاندارد

zcat [ گزینهها ] [ فایل... ]

دستور zcat محتوای فایلهای فشردهشده با gzip را از حالت فشرده خارج کرده و بدون تغییر فایل اصلی، در خروجی استاندارد نمایش میدهد (معادل gzip -dc).

دستور zcat کاملاً معادل با gunzip -c (یا gzip -dc) است. (در برخی سیستم‌ها، zcat ممکن است به صورت gzcat نصب شده باشد تا پیوند اصلی به compress حفظ گردد.) دستور zcat فهرستی از فایل‌ها را در خط فرمان یا ورودی استاندارد دریافت کرده، آن‌ها را از حالت فشرده خارج ساخته و داده‌های حاصل را در خروجی استاندارد می‌نویسد.

اگر هیچ فایلی مشخص نشود، یا اگر نام فایل برابر با "-" باشد، داده‌ها از ورودی استاندارد خوانده می‌شوند. zcat فایل‌هایی را که دارای عدد جادویی (magic number) معتبر باشند، چه دارای پسوند .gz باشند یا نباشند، بازگشایی می‌کند.

دستور zcat می‌تواند فایل‌های فشرده ایجادشده توسط gzip، zip، compress، compress -H یا pack را از حالت فشرده خارج کند. تشخیص قالب ورودی به‌صورت خودکار انجام می‌شود. برای قالب‌های gzip و zip، اعتبارسنجی با یک CRC ۳۲ بیتی انجام می‌گیرد. برای pack اندازه فایل بازشده بررسی می‌شود. قالب استاندارد compress فاقد بررسی یکپارچگی است، با این حال zcat گاهی می‌تواند یک فایل .Z آسیب‌دیده را شناسایی کند. اگر هنگام بازگشایی فایل .Z خطایی رخ دهد، نباید فرض کرد فایل سالم است فقط به این دلیل که uncompress خطایی گزارش نمی‌کند؛ چرا که دستور استاندارد uncompress ورودی را اعتبارسنجی نکرده و خروجی بی‌استفاده تولید می‌کند. قالب SCO compress -H (روش فشرده‌سازی lzh) بدون CRC است اما امکان بررسی‌های اولیه‌ای را فراهم می‌کند.

فایل‌های ایجادشده توسط zip تنها در صورتی توسط zcat قابل استخراج هستند که شامل یک عضو فشرده‌شده با روش 'deflation' باشند. این قابلیت تنها برای آسان‌تر کردن تبدیل فایل‌های tar.zip به tar.gz در نظر گرفته شده است. برای استخراج فایل‌های zip چندعضوی، از دستور unzip به‌جای zcat استفاده کنید.

نوشتن خروجی روی خروجی استاندارد؛ بدون تغییر ماندن فایل‌های ورودی (این رفتار پیش‌فرض zcat است).
خارج کردن از حالت فشرده (این رفتار پیش‌فرض zcat است).
اجبار به بازگشایی داده‌ها؛ خواندن داده‌های فشرده حتی اگر از یک ترمینال خوانده شوند یا به یک ترمینال ارسال گردند. اگر قالب داده‌های ورودی توسط gzip شناسایی نشود، ورودی بدون هیچ تغییری مستقیماً در خروجی استاندارد بازنویسی می‌شود؛ یعنی zcat مانند دستور cat رفتار می‌کند.
نمایش پیام راهنما و خروج.
فهرست کردن اطلاعات محتوای فایل‌های فشرده‌شده:
اندازه فشرده (compressed size)
اندازه بازشده (uncompressed size)
نسبت فشرده‌سازی (ratio)
نام اصلی فایل (uncompressed_name)

برای فایل‌هایی که در قالب gzip نیستند (مانند فایل‌های فشرده .Z)، اندازه غیرفشرده مقدار -1 نمایش داده می‌شود. همراه با گزینه --verbose، فیلدهای بیشتری مانند روش فشرده‌سازی، CRC ۳۲ بیتی و تاریخ و زمان فایل نمایش داده می‌شوند.

نمایش شرایط مجوز و کپی‌رایت برنامه و سپس خروج.
عدم نمایش تمام پیام‌های هشدار.
پیمایش بازگشتی در پوشه‌ها؛ اگر نام مسیر مشخص‌شده یک پوشه باشد، zcat وارد پوشه شده و تمام فایل‌های فشرده درون آن را استخراج و در خروجی استاندارد نمایش می‌دهد.
استفاده از پسوند .suf به جای پسوند پیش‌فرض .gz. هنگام بازگشایی، پسوند تعیین‌شده به ابتدای فهرست پسوندهای آزمایشی افزوده می‌شود.
استفاده از خروجی همگام (synchronous). با این گزینه، در صورت سقوط یا خاموش شدن ناگهانی سیستم احتمال از بین رفتن داده‌ها کمتر است، اما ممکن است به مقدار چشمگیری کندتر عمل کند.
آزمون؛ بررسی یکپارچگی و سلامت فایل‌های فشرده‌شده بدون نوشتن محتوا در خروجی استاندارد و سپس خروج.
حالت پرحرف (همراه با جزئیات کامل)؛ نمایش نام فایل و درصد کاهش حجم برای هر فایل فشرده.
نمایش شماره نسخه برنامه و گزینه‌های زمان ساخت و سپس خروج.

چندین فایل فشرده را می‌توان با یکدیگر ادغام (concatenate) کرد. در این وضعیت، zcat تمام اعضا را به صورت متوالی بازگشایی می‌کند. برای نمونه:

gzip -c file1  > foo.gz
gzip -c file2 >> foo.gz

سپس دستور زیر:

zcat foo.gz

معادل خواهد بود با:

cat file1 file2

در صورت خرابی یکی از بخش‌های فایل .gz، بقیه بخش‌ها در صورت حذف بخش آسیب‌دیده همچنان قابل بازیابی هستند.

اگر یک فایل فشرده از چندین عضو تشکیل شده باشد، اندازه غیرفشرده و CRC گزارش‌شده توسط گزینهٔ --list تنها به آخرین عضو مربوط می‌شود. برای به دست آوردن اندازه کل اعضا در حالت بازشده می‌توانید از دستور زیر استفاده کنید:

zcat file.gz | wc -c

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

وضعیت خروج در شرایط عادی ۰ است؛ در صورت بروز خطا مقدار ۱ و در صورت صدور هشدار مقدار ۲ بازگردانده می‌شود.

گزینه‌های نامعتبر در خط فرمان مشخص شده‌اند.
فایل ارائه‌شده در قالب gzip یا قالب‌های پشتیبانی‌شده فشرده نشده است.
فایل ورودی فشرده آسیب دیده است. داده‌ها تا نقطه بروز خطا را می‌توان با دستور زیر بازیابی کرد:
zcat file > recover
فایل با تعداد بیت بیشتری نسبت به ظرفیت پردازش الگوریتم بازگشایی روی این سامانه فشرده شده است.
خطای نقض حافظه (SIGSEGV) شناسایی شد که بیانگر خراب بودن فایل فشرده ورودی است.

هنگام نوشتن داده‌های فشرده روی نوارهای مغناطیسی، معمولاً خروجی با صفر تا مرز بلوک‌ها پر (pad) می‌شود. هنگام بازگشایی توسط zcat، این برنامه داده‌های هرز انتهای بلوک را تشخیص داده و هشدار صادر می‌کند. می‌توان با گزینه --quiet از نمایش این هشدار جلوگیری کرد.

در مواردی نادر روی فایل‌هایی با تکرار بسیار بالا، الگوریتم compress فشرده‌سازی بهتری نسبت به gzip ارائه می‌دهد.

cat(1), gzip(1), gunzip(1), zless(1), zmore(1), zdiff(1), zcmp(1), zgrep(1), gzexe(1), zip(1), unzip(1), compress(1)

مشخصات قالب فایل gzip در سند اینترنتی RFC 1952 تعریف شده است:
https://www.ietf.org/rfc/rfc1952.txt

مشخصات الگوریتم فشرده‌سازی DEFLATE در سند اینترنتی RFC 1951 تعریف شده است:
https://www.ietf.org/rfc/rfc1951.txt

گزارش اشکالات به: bug-gzip@gnu.org
صفحه خانگی GNU gzip: https://www.gnu.org/software/gzip
راهنمای عمومی استفاده از نرم‌افزارهای گنو: https://www.gnu.org/gethelp

Copyright © 1998–1999, 2001–2002, 2012, 2015–2023 Free Software Foundation, Inc.
Copyright © 1992, 1993 Jean-loup Gailly

مجوز ساخت و توزیع نسخه‌های عین متن این راهنما اعطا شده است، مشروط بر اینکه اطلاعیه حق نشر و این اطلاعیه مجوز در تمامی نسخه‌ها حفظ شوند.

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

مه ۲۰۲۵ gzip