כיצד לחלץ קבצים מקובץ .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
קבצים עם תואר טוב של שליטה פרטנית, אנחנו צריכים רק לזכור קומץ של אפשרויות אלה.