כיצד zip או לפתוח קבצים ממסוף לינוקס

קבצי ZIP הם ארכיון אוניברסלי הנפוץ במערכות Windows, macOS ואפילו לינוקס. אתה יכול ליצור ארכיון zip או לפתוח קבצים מאחד עם כמה פקודות מסוף לינוקס נפוצות.
פורמט קובץ ארכיון דחוס ZIP
הודות לדומיננטיות של פורמט ה- ZIP בתחום Windows, קבצי ZIP הם ככל הנראה הצורה הנפוצה ביותר של ארכיון דחוס בעולם.
בעוד שקבצי .tar.gz ו- tar.bz2 נפוצים ב- Linux, משתמשי Windows כנראה ישלחו לך ארכיון בפורמט ZIP. ואם אתה רוצה לאחסן קבצים מסוימים ולשלוח אותם למשתמש Windows, פורמט ה- ZIP יהיה הפיתרון הקל ביותר והתואם ביותר לכולם.
קשורים: כיצד לחלץ קבצים מקובץ .tar.gz או .tar.bz2 ב- Linux
zip, unzip, וכלים אחרים
ייתכן שכבר ידוע כי למערכות הפעלה של לינוקס ומערכות הפעלה כמו יוניקס יש כלים המאפשרים לך ליצור קבצי ZIP ולחלץ מהם קבצים, הנקראים zip
ו- unzip
. אבל יש משפחה שלמה של שירותים נלווים כגון zipcloak
, zipdetails
, zipsplit
, ו zipinfo
.
בדקנו כמה הפצות לינוקס כדי לראות אם הן כוללות כלי עזר אלה בהתקנה הסטנדרטית. כל כלי השירות היו קיימים באובונטו 19.04, 18.10 ו- 18.04. הם נכחו גם במנג'רו 18.04. פדורה 29 כלל zip
ו unzip
, אבל אף אחד מהשירותים הציבוריים האחרים וכי גם היה במקרה של CentOS.
כדי להתקין את האלמנטים החסרים ב- Fedora 29, השתמש בפקודה הבאה:
sudo dnf להתקין את perl-IO-Compress
כדי להתקין את האלמנטים החסרים ב- CentOS 7, השתמש בפקודה הבאה:
sudo yum להתקין perl-IO-Compress
אם אחד מתוכנות ה- zip חסר להפצה של לינוקס שלא הוזכרה לעיל, השתמש בכלי ניהול החבילות של הפצת לינוקס להתקנת החבילה הנדרשת.
כיצד ליצור קובץ ZIP עם פקודת zip
כדי ליצור קובץ ZIP, עליך לספר zip
את שם קובץ הארכיון ואילו קבצים לכלול בו. אינך צריך להוסיף את הסיומת ".zip" לשם הארכיון, אך אם לא תזיק.
כדי ליצור קובץ שנקרא source_code.zip
המכיל את כל קבצי קוד המקור C וקבצי הכותרת בספריה הנוכחית, השתמש בפקודה זו:
קוד מקור מיקוד * .c * .h
כל קובץ מופיע כשהוא מתווסף. מוצג שם הקובץ וכמות הדחיסה שהושגה בקובץ זה.
אם תסתכל בארכיון ה- ZIP החדש, תוכל לראות כי סיומת הקובץ ".zip" נוספה באופן אוטומטי על ידי zip
.
ls -l source_code.zip
אם אינך מעוניין לראות את הפלט ממנו zip
נוצר קובץ ה- ZIP, השתמש באפשרות -q
(שקטה).
zip -q source_code * .c * .h
כולל ספריות בקבצי ZIP
כדי לכלול ספריות משנה בקובץ ה- ZIP, השתמש באפשרות -r
(רקורסיבית) וכלל את שם ספריה המשנה בשורת הפקודה. כדי ליצור קובץ ZIP כבעבר ולכלול את ספריה המשנה לארכיון, השתמש בפקודה זו.
zip -r -q ארכיון קוד קוד / * .c * .h
כדי להתחשב באדם שיחלץ את הקבצים מקובץ ה- ZIP שאתה יוצר, לעתים קרובות מנומס ליצור קבצי ZIP עם הקבצים שבתוכו הכלולים בספריה. כאשר האדם שמקבל את קובץ ה- ZIP מחלץ אותו, כל הקבצים ממוקמים בצורה מסודרת בתוך ספריה במחשב שלהם.
בפקודה הבאה אנו הולכים לארכיב את work
הספריה ואת כל ספריות המשנה. שים לב שפקודה זו מונפקת מספריית האב של work
התיקיה.
zip -r -q source_code work /
הגדרת רמת הדחיסה
ניתן להגדיר כמה דחיסה מוחלת על הקבצים כשהם מתווספים לארכיון ה- ZIP. הטווח הוא בין 0 ל -9, כאשר 0 אינו דחיסה כלל. ככל שהדחיסה גבוהה יותר, כך לוקח יותר זמן ליצור את קובץ ה- ZIP. עבור קבצי ZIP בגודל צנוע, הפרש הזמן אינו קנס משמעותי. אבל אז, עבור קבצי ZIP בגודל צנוע, דחיסת ברירת המחדל (רמה 6) ככל הנראה טובה מספיק בכל מקרה.
כדי zip
להשתמש ברמת דחיסה מסוימת, העבר את המספר כאופציה בשורת הפקודה, עם "-", כך:
zip -0 -r -q source_code work /
רמת הדחיסה המוגדרת כברירת מחדל היא 6. אין צורך לספק את -6
האפשרות, אך אם לא תזיק.
zip -r -q source_code work /
רמת הדחיסה המקסימלית היא רמה 9.
zip -9 -r -q source_code work /
עם בחירת הקבצים והספריות בארכיון כאן, ההבדל בין אין דחיסה (רמה 0) לדחיסת ברירת המחדל (רמה 6) הוא 400K. ההבדל בין דחיסת ברירת המחדל לרמת הדחיסה הגבוהה ביותר (רמה 9) הוא 4K בלבד.
זה אולי לא נראה הרבה, אבל בארכיונים המכילים מאות או אפילו אלפי קבצים, כמות הדחיסה הנוספת לכל קובץ תביא לחיסכון במקום כדאי.
הוספת סיסמאות לקבצי ZIP
הוספת סיסמאות לקבצי ZIP היא קלה. השתמש באפשרות -e
(הצפן) ותתבקש להזין את הסיסמה שלך ולהזין אותה מחדש לאימות.
zip -e -r -q source_code work /
כיצד לפתוח קובץ ZIP באמצעות פקודת ה- zip
כדי לחלץ את הקבצים מקובץ ZIP, השתמש בפקודה unzip וספק את שם קובץ ה- ZIP. שים לב שאתה עושה הצורך לספק את הסיומת ".zip".
unzip source_code.zip
עם חילוץ הקבצים הם מופיעים בחלון המסוף.
קבצי ZIP אינם כוללים פרטים על בעלות על קבצים. על כל הקבצים שחולצו הבעלים מוגדר למשתמש שחולץ אותם.
בדיוק כמו zip
, unzip
יש אפשרות -q
(שקטה), כך שלא תצטרכו לראות את רישום הקבצים עם חילוץ הקבצים.
unzip -q source_code.zip
חילוץ קבצים לספריית יעד
כדי לחלץ את הקבצים בספרייה ספציפית, השתמש באפשרות -d
(ספריה) וספק את הנתיב לספריה שאליה תרצה לחלץ את הארכיון.
unzip -q source_code.zip -d ./development
חלץ קבצי ZIP מוגנים באמצעות סיסמה
אם נוצר קובץ ZIP עם סיסמה, unzip
תבקש ממך את הסיסמה. אם לא תספק את הסיסמה הנכונה, unzip
לא תחלץ את הקבצים.
unzip -q source_code.zip
אם לא אכפת לך שהסיסמה שלך תוצג על ידי אחרים - וגם לא שתשמור אותה בהיסטוריית הפקודות שלך - תוכל לספק את הסיסמה בשורת הפקודה עם האפשרות -P
(סיסמה). (עליך להשתמש באותיות רישיות "P.")
unzip -P fifty.treacle.cutlass -q source_code.zip
לא כולל קבצים
אם אינך רוצה לחלץ קובץ או קבוצת קבצים מסוימים, השתמש באפשרות -x
(אל תכלול). בדוגמה זו, אנו רוצים לחלץ את כל הקבצים מלבד אלה שמסתיימים בסיומת ".h".
unzip -q source_code.zip -x * .h
החלפת קבצים
נניח שחילצת ארכיון אך מחקת כמה מהקבצים שחולצו בטעות.
פתרון מהיר לכך יהיה לחלץ את הקבצים שוב. אך אם תנסה לחלץ את קובץ ה- ZIP באותה ספרייה כמו בעבר, unzip
תבקש ממך החלטה בנוגע להחלפת הקבצים. היא תצפה לאחת התגובות הבאות.
מלבד r
התגובה (שנה שם), התגובות הללו תלויות רישיות.
- y: כן, החלף את הקובץ הזה
- n: לא, אל תחליף את הקובץ הזה
- ת: הכל, החלף את כל הקבצים
- N: אף אחד, לא להחליף אף אחד מהקבצים
- r: שנה שם, חלץ את הקובץ הזה אבל תן לו שם חדש. תתבקש להזין שם חדש.
כדי לאלץ unzip
להחליף קבצים קיימים השתמש באפשרות -o
(להחליף).
unzip -o -q source_code.zip
הדרך היעילה ביותר להחליף את הקבצים החסרים תהיה unzip
לחלץ רק קבצים בארכיון שאינם בספריית היעד. לשם כך השתמש באפשרות -n
(לעולם אל תחליף).
unzip -n source_code.zip
מסתכל בתוך קובץ ZIP
לעתים קרובות מועיל ומלמד לראות רשימה של קבצים בתוך קובץ ZIP לפני שתחלץ אותה. אתה יכול לעשות זאת באמצעות האפשרות -l
(ארכיון רשימה). זה מנוהל דרך less
כדי להפוך את הפלט לניהול.
unzip -l source_code.zip | פָּחוּת
הפלט מציג את הספריות והקבצים בתוך קובץ ה- ZIP, אורכם והשעה והתאריך שבו נוספו לארכיון. לחץ על "q" כדי לצאת מ- less
.
ישנן דרכים אחרות להציץ בתוך קובץ ZIP שנותנות סוגים שונים של מידע, כפי שנראה.
הוסף סיסמה באמצעות פקודת zipcloak
אם יצרת קובץ ZIP אך שכחת להוסיף סיסמה, מה אתה יכול לעשות? באפשרותך להוסיף סיסמה במהירות לקובץ ZIP באמצעות zipcloak
הפקודה. העבירו את שם קובץ ה- ZIP בשורת הפקודה. תתבקש להזין סיסמה. עליך לאמת את הסיסמה על ידי הזנתה בפעם השנייה.
zipcloak source_code.zip
הצג פרטי קובץ באמצעות פקודת zipdetails
zipdetails
פקוד תיראה לך הרבה מידע לגבי קובץ ZIP. הדרך ההגיונית היחידה לטפל בכמות התפוקה שפקודה זו יכולה לתת היא לצינור אותה less
.
zipdetails source_code.zip | פָּחוּת
שים לב שהמידע יכלול שמות קבצים גם אם קובץ ה- ZIP מוגן בסיסמה. סוג מידע זה נשמר בתוך קובץ ה- ZIP כמטא-נתונים ואינו חלק מהנתונים המוצפנים.
חפש בתוך הקובץ באמצעות הפקודה zipgrep
zipgrep
הפקודה מאפשרת לך לחפש בתוך קבצים בתוך קובץ ZIP. בדוגמה הבאה, אנו רוצים לדעת אילו קבצים בתוך קובץ ה- ZIP מכילים את הטקסט "keyval.h".
zipgrep keyval.h source_code.zip
אנו יכולים לראות כי קבצים slang.c
ו getval.c
להכיל את המחרוזת "keyval.h" אנו יכולים גם לראות כי ישנם שני עותקים של כל אחד מהקבצים האלו ספריות שונות בקובץ ZIP.
צפה במידע באמצעות פקודת zipinfo
zipinfo
הפקודה נותן לך עוד דרך להסתכל בתוך קובץ ZIP. כמו בעבר, אנו מצנרים את התפוקה less
.
zipinfo source_code.zip | פָּחוּת
משמאל לימין הפלט מראה:
- הרשאות הקובץ
- גרסת הכלי המשמשת ליצירת קובץ ה- ZIP
- גודל הקובץ המקורי
- מתאר קבצים (מתואר להלן)
- שיטת הדחיסה (דפלציה, במקרה זה)
- הנתונים וחותמת הזמן
- שם הקובץ וכל ספריה
מתאר הקבצים מורכב משתי תווים. התו הראשון יהיה "t" או "b" כדי לציין קובץ טקסט או בינארי. אם מדובר באות גדולה, הקובץ מוצפן. הדמות השנייה עשויה להיות אחת מארבע דמויות. תו זה מייצג את סוג המטא-נתונים הכלול עבור קובץ זה: אף אחד, כותרת מקומית מורחבת, "שדה נוסף" או שניהם.
- -: אם אף אחד מהם לא קיים, הדמות תהיה מקף
- l: אם יש כותרת מקומית מורחבת אך אין שדה נוסף
- x: אם אין כותרת מקומית מורחבת אך יש שדה נוסף
- X: אם יש כותרת מקומית מורחבת ויש שדה נוסף
פצל את הקובץ באמצעות הפקודה zipsplit
אם אתה צריך לשלוח את קובץ ה- ZIP למישהו אחר, אך קיימות מגבלות גודל או בעיות בהעברת הקובץ, תוכל להשתמש zipsplit
בפקודה כדי לפצל את קובץ ה- ZIP המקורי לקבוצה של קבצי ZIP קטנים יותר.
האפשרות -n
(גודל) מאפשרת לך להגדיר גודל מרבי לכל אחד מקבצי ה- ZIP החדשים. בדוגמה זו אנו מפצלים את source_code.zip
הקובץ. איננו רוצים שאף אחד מקבצי ה- ZIP החדשים יהיה גדול מ- 100 KB (102400 בתים).
zipsplit -n 102400 source_code.zip
הגודל שתבחר לא יכול להיות קטן מגודל הקבצים בקובץ ה- ZIP.
באמצעות פקודות אלה, תוכל ליצור קבצי ZIP משלך, לפתוח קבצי ZIP שקיבלת ולבצע בהם פעולות שונות אחרות מבלי לעזוב את מסוף לינוקס.