פיקוד פיקוד יוניקס

שֵׁם

gzip, gunzip, zcat - לדחוס או להרחיב קבצים

תַקצִיר

gzip [ -acdfhlLnNrtvV19 ] [ -Six ] [ שם ... ]
gunzip [ -acfhlLnNrtvV ] [ -Six ] [ שם ... ]
zcat [ -fhLV ] [ שם ... ]

תיאור

Gzip מפחית את הגודל של קבצים בשם באמצעות קידוד Lempel-Ziv (LZ77). כאשר ניתן, כל קובץ מוחלף על ידי אחד עם הסיומת .gz , תוך שמירה על אותם מצבי בעלות, זמני גישה ושינוי. (תוסף ברירת המחדל הוא - gz עבור VMS, z עבור MSDOS, OS / 2 FAT, Windows NT FAT ו - Atari.) אם לא צוינו קבצים, או אם שם הקובץ הוא "-", הקלט הסטנדרטי נדחס ל - תְפוּקָה. Gzip ינסה רק לדחוס קבצים רגילים. בפרט, הוא יתעלם מקישורים סמליים.

אם שם הקובץ הדחוס ארוך מדי עבור מערכת הקבצים שלו, gzip חותך אותו. Gzip מנסה לחתוך רק את החלקים של שם הקובץ יותר מ -3 תווים. (חלק מוגדר על ידי נקודות). אם השם מורכב מחלקים קטנים בלבד, החלקים הארוכים ביותר קטועים. לדוגמה, אם שמות הקבצים מוגבלים ל- 14 תווים, gzip.msdos.exe נדחס ל- gzi.msd.exe.gz. השמות אינם קטועים במערכות שאין להן הגבלה על אורך שם הקובץ.

כברירת מחדל, gzip שומר את שם הקובץ המקורי וחותמת הזמן בקובץ הדחוס. אלה משמשים כאשר decompressing את הקובץ עם אפשרות -N . אפשרות זו שימושית כאשר שם הקובץ הדחוס נחתך או כאשר חותמת הזמן לא נשמרה לאחר העברת קובץ.

קבצים דחוסים ניתן לשחזר את הטופס המקורי באמצעות gzip- d או gunzip או zcat. אם השם המקורי שנשמר בקובץ הדחוס אינו מתאים למערכת הקבצים שלו, שם חדש נבנה מהמקור כדי להפוך אותו חוקי.

gunzip לוקח רשימה של קבצים על שורת הפקודה שלו ומחליף כל קובץ ששמו מסתיים. gz, -zz, .z, z, z או z. וזה מתחיל עם מספר הקסם הנכון עם קובץ לא דחוס ללא התוסף המקורי . gunzip מזהה גם את ההרחבות המיוחדות. tgz ו- .taz בתור shorthands עבור .tar.gz ו- .tar.Z בהתאמה. בעת דחיסה, gzip משתמש בהרחבה .tgz אם יש צורך במקום לחתוך קובץ עם סיומת .tar .

gunzip יכול כרגע לשחרר קבצים שנוצרו על ידי gzip, zip, לדחוס, לדחוס -H או לארוז. הזיהוי של פורמט הקלט הוא אוטומטי. בעת שימוש בשני הפורמטים הראשונים, gunzip בודק CRC 32 סיביות. עבור Pack, gunzip בודק את אורך לא דחוס. פורמט הדחיסה הסטנדרטי לא נועד לאפשר בדיקות עקביות. עם זאת gunzip הוא לפעמים מסוגל לזהות קובץ .Z רע. אם אתה מקבל הודעת שגיאה בעת ביטול דחיסה של קובץ .Z , אל תניח שקובץ ה- .Z נכון רק מכיוון שה- Uncompress הסטנדרטי אינו מתלונן. זה בדרך כלל אומר כי uncompress תקן אינו בודק את הקלט שלה, בשמחה מייצר פלט אשפה. SCO לדחוס פורמט H (שיטת דחיסה lzh) אינו כולל CRC, אלא גם מאפשר כמה בדיקות עקביות.

קבצים שנוצרו על ידי zip יכול להיות דחוס על ידי gzip רק אם יש להם חבר דחוס עם שיטת "דפלציה". תכונה זו מיועדת רק לסייע בהמרת קבצי tar.zip לפורמט tar.gz. כדי לחלץ קבצי zip עם כמה חברים, להשתמש במקום לפתוח רובה.

zcat זהה gunzip -c. (במערכות מסוימות, zcat עשוי להיות מותקן כמו gzcat כדי לשמור על הקישור המקורי לדחוס.) Zcat uncompresses או רשימה של קבצים על שורת הפקודה או קלט רגיל וכותב את הנתונים לא דחוס על פלט סטנדרטי. zcat יבטל דחיסת קבצים בעלי מספר הקסם הנכון אם יש להם סיומת gz או לא.

Gzip משתמש באלגוריתם Lempel-Ziv המשמש ב- zip ו- PKZIP. כמות הדחיסה המתקבלת תלויה בגודל הקלט ובהפצה של מחרוזות נפוצות. בדרך כלל, טקסט כגון קוד מקור או אנגלית מופחת ב-60-70%. דחיסה היא בדרך כלל הרבה יותר טוב מזה שהושג על ידי LZW (כפי המשמש דחיסה ), קידוד Huffman (כמו בשימוש Pack ), או הסתגלות Huffman קידוד ( קומפקטי ).

דחיסה מבוצעת תמיד, גם אם הקובץ הדחוס גדול במקצת מהמקור. התרחבות במקרה הגרוע ביותר היא כמה בתים עבור כותרת הקובץ gzip, בתוספת 5 בתים כל בלוק 32K, או יחס הרחבה של 0.015% עבור קבצים גדולים. שים לב כי בפועל מספר בלוקים הדיסק בשימוש כמעט אף פעם לא מגדילה. gzip משמר את המצב, הבעלות וחותמות הזמן של קבצים בעת דחיסה או ביטול לחץ.

אפשרויות

-a --ascii

מצב טקסט Ascii: להמיר סוף הקווים באמצעות מוסכמות מקומיות. אפשרות זו נתמכת רק במערכות שאינן יוניקס. עבור MSDOS, CR LF מומר ל- LF בעת דחיסה, ו- LF מומר ל- CR LF כאשר משחרר לחץ.

-c - stdout - to-stdout

כתוב פלט על פלט סטנדרטי; לשמור קבצים מקוריים ללא שינוי. אם ישנם מספר קבצי קלט, הפלט מורכב מרצף של חברים דחוסים באופן עצמאי. כדי להשיג דחיסה טובה יותר, שרשר את כל קבצי הקלט לפני דחיסתם.

-decompress - uncompress

לְשַׁחְרֵר לָחָץ.

-F - כוח

לחץ על דחיסה או שחרור לחץ גם אם הקובץ מכיל מספר קישורים או שהקובץ המתאים כבר קיים, או אם הנתונים הדחוסים נקראו או סופקו למסוף. אם נתוני הקלט אינם בפורמט מוכר על ידי gzip, ואם האפשרות - stdout ניתנת גם, להעתיק את נתוני קלט ללא שינוי ל ouput רגיל: תן zcat מתנהגים כמו חתול. אם -f לא ניתנת, וכאשר אינו פועל ברקע, gzip מבקש לאשר אם יש להחליף קובץ קיים.

-h --help

הצגת מסך עזרה ועזיבה.

-L --list

עבור כל קובץ דחוס, רשום את השדות הבאים:


גודל דחוס: גודל הקובץ הדחוס
גודל לא דחוס: גודל הקובץ הלא דחוס
יחס: יחס דחיסה (0.0% אם לא ידוע)
uncompressed_name: שם הקובץ לא דחוס

גודל לא דחוס נתון כמו -1 עבור קבצים לא בפורמט gzip, כגון קבצים דחוסים .Z. כדי לקבל את גודל לא דחוס עבור קובץ כזה, אתה יכול להשתמש:


zcat file.Z wc -c

בשילוב עם האפשרות --verbose, מוצגים השדות הבאים:


שיטה: שיטת דחיסה
CRC: CRC של 32 סיביות של הנתונים הלא דחוסים
תאריך & שעה: חותמת זמן עבור הקובץ לא דחוס

שיטות דחיסה הנתמכים כיום הם deflate, לדחוס, lzh (SCO לדחוס -H) ו Pack. את crc ניתנת כמו ffffffff עבור קובץ לא בפורמט gzip.

עם - שם, שם לא דחוס, תאריך ושעה הם אלה המאוחסנים בתוך קובץ דחיסה, אם קיים.

עם --verbose, גודל הסיכומים ואת יחס הדחיסה עבור כל הקבצים מוצג גם, אלא אם כן כמה גדלים אינם ידועים. עם - Quiet, הכותרת ואת סיכומי שורות אינם מוצגים.

-L --license

הצג את רישיון gzip ו צא.

-n - לא שם

בעת דחיסה, אל תשמור את שם הקובץ המקורי ואת חותמת הזמן כברירת מחדל. (השם המקורי נשמר תמיד אם השם היה צריך להיות חתוך.) בעת ביטול דחיסה, לא לשחזר את שם הקובץ המקורי אם קיים (להסיר רק את סיומת gzip מתוך שם הקובץ הדחוס) ולא לשחזר את חותמת הזמן המקורי אם קיים (להעתיק אותו מתוך קובץ דחוס). אפשרות זו היא ברירת המחדל בעת ביטול דחיסה.

-N - שם

בעת דחיסה, תמיד שמור את שם הקובץ המקורי ואת חותמת הזמן; זוהי ברירת המחדל. בעת ביטול דחיסה, שחזר את שם הקובץ המקורי ואת חותמת הזמן אם קיים. אפשרות זו שימושית במערכות שיש להן הגבלה על אורך שם הקובץ או כאשר חותמת הזמן אבדה לאחר העברת קבצים.

-q - שקט

לדכא את כל האזהרות.

-R - recrecive

מסעות את מבנה הספרייה רקורסיבית. אם כל שמות הקבצים שצוין על שורת הפקודה הם ספריות, gzip תרד לתוך הספרייה ו לדחוס את כל הקבצים שהיא מוצאת שם (או לבטל לחץ על אותם במקרה של gunzip ).

-S .fo - seffix .suf

השתמש בסיומת .suf במקום .gz. כל סיומת ניתן לתת, אבל סיומות אחרות מאשר .z ו. Gz יש להימנע כדי למנוע בלבול כאשר קבצים מועברים למערכות אחרות. סיומת null מאלצת את ה- gunzip כדי לנסות לחץ על כל הקבצים הנתפסים ללא קשר לסיומת, כמו:


gunzip -S "" * (*. * עבור MSDOS)

גירסאות קודמות של gzip השתמשו בסיומת .z. זה השתנה כדי למנוע סכסוך עם Pack (1).

-test

מִבְחָן. בדוק את שלמות הקובץ הדחוס.

-v - verbose

מִלוּלִי. הצג את השם ואת הפחתת אחוז עבור כל קובץ דחוס או decompressed.

-V - גרסה

גִרְסָה. הצג את מספר הגירסה ואת אפשרויות ההידור ואז צא.

- # - Fast --best

להסדיר את מהירות דחיסה באמצעות הספרה שצוין # , שבו -1 או - Fast מציין את שיטת דחיסה המהירה (פחות דחיסה) ו -9 או - מציין את שיטת הדחיסה האיטית ביותר (דחיסה הטובה ביותר). רמת דחיסת ברירת המחדל היא -6 (כלומר, מוטה לכיוון דחיסה גבוהה על חשבון מהירות).

שימוש מתקדם

קבצים מרובי דחוס יכול להיות משורשר. במקרה זה, gunzip יהיה לחלץ את כל החברים בבת אחת. לדוגמה:


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

לאחר מכן


gunzip -c foo

שווה ל


הע קבצים

במקרה של נזק לחבר אחד מקובץ .gz, חברים אחרים עדיין יכולים להתאושש (אם החבר הוסר). עם זאת, אתה יכול לקבל דחיסה טובה יותר על ידי דחיסת כל החברים בבת אחת:


עמ 'קוק gtip> foo.gz

דוחס טוב יותר


gzip -c file1 file2> foo.gz

אם אתה רוצה recompress קבצים שרשראות כדי לקבל דחיסה טובה יותר, לעשות:


gzip -cd old.gz | gtip> new.gz

אם קובץ דחוס מורכב ממספר חברים, הגודל הלא דחוס ו- CRC שדווחו על-ידי האפשרות --list חל על החבר האחרון בלבד. אם אתה צריך את גודל לא דחוס עבור כל החברים, אתה יכול להשתמש:


gzip -cd file.gz | wc -c

אם ברצונך ליצור קובץ ארכיון יחיד עם מספר חברים, כך שחברים יוכלו לחלץ מאוחר יותר באופן עצמאי, השתמש בארכיון כגון זפת או מיקוד. גנו זפת תומך באפשרות -z להפעיל gzip שקוף. gzip נועד כמו משלים זפת , לא כתחליף.

ראה גם

לדחוס (1)

פורמט קובץ gzip מצוין ב P. Deutsch, פורמט קובץ GZIP גרסה 4.3, , אינטרנט RFC 1952 (מאי 1996). תבנית דפלציה zip מוגדר ב P. דויטש, DEFLATE נתונים דחוסים בפורמט נתונים מפרט 1.3, , אינטרנט RFC 1951 (מאי 1996).

חשוב: השתמש בפקודת הגבר ( % man ) כדי לראות כיצד נעשה שימוש בפקודה במחשב הספציפי שלך.