כיצד לחלץ קבצים מקובץ .tar.gz או .tar.bz2 ב- Linux

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

מה המשמעות של .tar.gz ו- .tar.bz2?

קבצים שיש להם סיומת .tar.gzאו .tar.bz2סיומת הם קבצי ארכיון דחוסים. קובץ עם .tarסיומת בלבד אינו דחוס, אך אלה יהיו נדירים מאוד.

.tarחלק סיומת הקובץ מייצג t קוף ar עירית, והיא הסיבה ששני סוגי הקבצים הללו נקראים קבצי זפת. קבצי זפת מתוארכים עד 1979 כאשר tarנוצרה הפקודה כדי לאפשר למנהלי מערכות לאחסן קבצים בקלטת. ארבעים שנה אחר כך אנו עדיין משתמשים tarבפקודה לחילוץ קבצי זפת בכוננים הקשיחים שלנו. מישהו איפשהו כנראה עדיין משתמש tarבקלטת.

.gzאו .bz2סיומת הסיומת מציינת כי הארכיון כבר דחוס, תוך שימוש בפורמט gzipאו bzip2אלגוריתם דחיסה. tarפקוד תעבוד בשמחה עם שני הסוגים של קבצים, כך שזה לא משנה באיזו שיטה לדחיסה שמש-וזה צריך להיות זמין בכל מקום יש לך בש פגז. אתה רק צריך להשתמש tar באפשרויות שורת הפקודה המתאימות .

חילוץ קבצים מקבצי זפת

נניח שהורדת שני קבצי מוסיקה. קובץ אחד נקרא ukulele_songs.tar.gz, השני נקרא guitar_songs.tar.bz2. קבצים אלה נמצאים בספריית ההורדות.

בואו נחלץ את שירי האוקוללה:

זפת -xvzf ukulele_songs.tar.gz 

עם חילוץ הקבצים הם מופיעים בחלון המסוף.

אפשרויות שורת הפקודה בהן השתמשנו הן:

  • -x : חלץ, אחזר את הקבצים מקובץ הזפת.
  • -v : מילולית, רשום את הקבצים תוך כדי חילוצם.
  • -z : Gzip, השתמש ב- gzip כדי לדחוס את קובץ הזפת.
  • -f : קובץ, שם קובץ הזפת שאיתו אנו רוצים tarלעבוד. אחריה זו חייבת להופיע שם קובץ הזפת.

רשום את הקבצים בספרייה איתם lsותראה שנוצרה ספרייה בשם Ukulele Songs. הקבצים שחולצו נמצאים בספריה זו. מאיפה הספרייה הזו? הוא היה כלול tarבקובץ, וחולץ יחד עם הקבצים.

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

זפת -xvjf guitar_songs.tar.bz2

שוב, הקבצים רשומים למסוף תוך כדי חילוצם. כדי להיות ברור, אפשרויות שורת הפקודה בהן השתמשנו tarעבור .tar.bz2הקובץ היו:

  • -x : חלץ, אחזר את הקבצים מקובץ הזפת.
  • -v : מילולית, רשום את הקבצים תוך כדי חילוצם.
  • והשינוי : Bzip2, bzip2 שימוש כדי לשחרר לחץ על קובץ tar.
  • -f : קובץ, שם קובץ הזפת שאיתו אנו רוצים שזפת תעבוד.

אם נמנה את הקבצים בספריית ההורדות נראה כי נוצרה ספרייה אחרת בשם גיטרה שירים.

בחירה לאן לחלץ את הקבצים

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

tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Songs /

כשמסתכלים בספריית המסמכים / שירים נראה את ספריית שירי הגיטרה נוצרה.

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

mkdir -p ~ / מסמכים / שירים / הורדו && tar -xvjf guitar_songs.tar.gz -C ~ / מסמכים / שירים / הורדו /

האפשרות -p (הורים) גורמת mkdirליצירת ספריות הורים נדרשות, כדי להבטיח את יצירת ספריית היעד.

מבט בתוך קבצי זפת לפני שחולצים אותם

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

tar -tf ukulele_songs.tar.gz | פָּחוּת

שימו לב שאיננו צריכים להשתמש -zבאפשרות לרשימת הקבצים. עלינו להוסיף את -zהאפשרות רק כאשר אנו מחלצים קבצים .tar.gzמקובץ. כמו כן, איננו זקוקים -jלאפשרות לרשום את הקבצים tar.bz2בקובץ.

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

אנו יכולים לראות שספריית שירי Ukulele מכילה ספריות הנקראות שירים אקראיים, רמונס ואפשרויות.

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

tar -xvzf ukulele_songs.tar.gz "שירי Ukulele / Ramones /"

כדי לחלץ קובץ יחיד, ספק את הנתיב ואת שם הקובץ.

tar -xvzf ukulele_songs.tar.gz "שירי Ukulele / 023 - My Babe.odt"

ניתן לחלץ מבחר קבצים באמצעות תווים כלליים, כאשר *מייצג כל מחרוזת תווים ?ומייצג כל תו בודד. שימוש בתווים כלליים דורש שימוש --wildcardsבאופציה.

tar -xvz --wildcards -f ukulele_songs.tar.gz "שירי Ukulele / Possibles / B *"

חילוץ קבצים ללא חילוץ ספריות

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

אם אנו מציינים --strip-components=1עם קובץ הזפת לדוגמא, הספרייה העליונה ביותר של Ukulele Songs בתוך קובץ הזפת אינה נוצרת בכונן הקשיח. הקבצים והספריות שהיו חולצים לספרייה זו מחולצים בספריית היעד.

tar -xvzf ukulele_songs.tar.gz - סטריפ-רכיבים = 1

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

זפת -xvzf ukulele_songs.tar.gz - סטריפ-רכיבים = 2

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