logo

פקודת Tar ב-Linux/Unix עם דוגמאות

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

Tar היא כלי עזר של תוכנת מחשב לאיסוף מספר קבצים לקובץ ארכיון יחיד במחשוב. לעתים קרובות, זה ידוע כ-tarball למטרות גיבוי והפצה. הכותרת נרכשת מ'ארכיון קלטות' מכיוון שהוא פותח למעשה כדי לציין נתונים על התקני קלט/פלט עוקבים שאינם משתמשים באף אחת ממערכות הקבצים שלהם. קבוצות הנתונים בארכיון שנוצרו על ידי tar כוללות פרמטרים רבים של מערכת הקבצים כמו ארגון ספריות, הרשאת גישה לקבצים, בעלות, חותמות זמן ושם. לטובת pax, זפת נטושה POSIX, זפת עדיין רואה שימוש נרחב.

ראשית, הוא הוכרז בגרסה 7 Unix בינואר 1979, במקום תוכנית tp. כדי לאחסן את הנתונים, מבנה הקבצים תוקן ב-POSIX.1-1988 ומאוחר יותר POSIX.1-2001 והפך לתבנית שנתמכת כמעט על ידי כל מערכות ארכיון הקבצים המודרניות. מערכות הפעלה דמויות יוניקס מכילות בדרך כלל כלים לתמיכה בקבצי tar וכלי עזר המשמשים לדחיסתם, כמו bzip2 ו-gzip.
מאז עדכון Microsoft 10 באפריל 2018, BSD-tar נכלל ב-Microsoft Windows, ויש שני כלים או יותר של צד שלישי לקריאה ולכתיבה של תבניות אלה ב-Windows.

פורמטים של קבצים של tar

ישנם פורמטים רבים של קבצי tar זמינים, כולל אלה נוכחיים והיסטוריים. שני פורמטים של tar כתובים ב-POSIX: pax ו-ustar.

כּוֹתֶרֶת

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

מספר שדות מוזכרים בטבלה הבאה, המוגדרים על ידי פורמט זפת Unix בפועל. טבלת סוג קובץ הקישור/אינדיקטור מכילה כמה הרחבות מודרניות. שדה מלא בבתים NUL שונים אם הוא אינו בשימוש.

מרובה

כותרת זפת לפני POSIX.1-1988:

שדה גודל שדה היסט שדה
שם קובץ 100 0
מצב קובץ 8 100
מזהה משתמש מספרי של הבעלים 8 108
מזהה משתמש מספרי של הקבוצה 8 116
גודל קובץ בייט 12 124
זמן שינוי אחרון בצורה של זמן יוניקס מספרי 12 136
סכום בדיקה עבור רשומת הכותרת 8 148
מחוון קישור 1 156
שם קובץ מקושר 100 157

פורמט Ustart

בפורמט Ustar, כמעט כל תוכנת tar מודרנית כותבת וקוראת ארכיונים, שהוכרזה על ידי תקן POSIX IEEE P1003.1 משנת 1988. היא הציגה שדות כותרת נוספים. תוכניות tar קודמות ימנעו את המידע הנוסף, אך תוכניות חדשות יבדקו את נוכחות המחרוזת 'Ustar' כדי להחליט אם הפורמט החדש יותר נמצא בשימוש.

שדה גודל שדה היסט שדה
שדות רבים, כמו בפורמט הקודם 156 0
הקלד דגל 1 156
שדה דומה כמו בפורמט הקודם 100 157
'אוסטר' מחוון Ustar, ולאחר מכן NUL 6 257
'00' גרסת Ustar 2 263
שם המשתמש של הבעלים 32 265
שם הקבוצה של הבעלים 32 297
מספר עיקרי של המכשיר 8 329
מספר מינורי של המכשיר 8 337
קידומת שם קובץ 155 3. 4. 5

POSIX.1-2001/pak

Sun הציעה טכניקה להוספת הרחבות לפורמט tar בשנת 1997. מאוחר יותר, היא אושרה לתקן POSIX.1-2001. הפורמט נקרא pax format או extended tar format. חלק מהתגים מצוינים בתקן POSIX, כולל mtime, atime, linkpath, gname, uname, sizes, gid, uid והגדרת ערכת תווים עבור שמות קבוצות/משתמשים ושמות נתיבים.

יישומים מרכזיים של זפת

יישומי המפתח מוזכרים בסדר המקור:

    זפת סולאריס מגיע כברירת מחדל במערכת ההפעלה Solaris, בהתבסס על ה-Unix V7 בפועל. גנו זפת הוא ברירת מחדל כמעט בכל הפצת לינוקס. זה מבוסס על יישום pdtar בתחום הציבורי שהחל ב-1987. מהדורות אחרונות יכולות להשתמש בפורמטים רבים, כגון GNU, pax, v7 ו-ustar. זפת FreeBSD הפך ל-tar ברירת מחדל כמעט בכל מערכת הפעלה מבוססת הפצת תוכנות של Berkeley, כגון Mac OS X. זפת שילי הוא חשוב מבחינה היסטורית מכיוון שכמה מהרחבות שלו היו מפורסמות. הוא שוחרר לראשונה באפריל 1997. תעריף פייתון תומך בשני פורמטי tar או יותר, כגון gnu, pax ו-ustar; הוא יכול לקרוא אך לא להפוך את הפורמטים של SunOS tar מורחב ו-V7; pax הוא פורמט ברירת מחדל ליצירת ארכיון. זה זמין למשתמשים מאז 2003.

בנוסף, רוב יישומי cpio ו-pax יכולים ליצור ולקרוא שני סוגי קבצי tar או יותר.

תחביר של פקודת tar:

 tar [options] [archive-file] [directory or file to be archived] 

אפשרויות בפקודה tar

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

    -ג:אפשרות זו משמשת ליצירת הארכיון.-f:אפשרות זו משמשת ליצירת ארכיון יחד עם השם המסופק של הקובץ.-איקס:אפשרות זו משמשת לחילוץ ארכיונים.-ב:ניתן להשתמש בו להוספת ארכיון לקובץ הארכיון הקיים.-t:הוא משמש להצגת או רישום קבצים בתוך הקובץ הארכיון.-א:אפשרות זו משמשת לשרשור קבצי הארכיון.-ב:ניתן להשתמש בו כדי להציג מידע מילולי.-j:הוא משמש לסינון קבצי tar בארכיון בעזרת tbzip.-עם:זה קובץ zip ומודיע לפקודת tar שעושה קובץ tar בעזרת gzip.-r:אפשרות זו משמשת לעדכון והוספת ספרייה או קובץ בקובץ .tar קיים.-IN:אפשרות זו משמשת לאימות קובץ הארכיון.

מבוא לקובץ ארכיון

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

דוגמאות לפקודת tar

כמה מהדוגמאות החשובות שנמצאות בשימוש נרחב בפקודת tar הן כדלקמן:

1. יצירת ארכיון tar לא דחוס עם אפשרות -cvf

אפשרות זו הופכת קובץ tar למכונה file.tar . זהו הארכיון של כל קובץ txt בפנים mydir מַדרִיך.

הפקודה היא כדלקמן:

 $ tar cvf file.tar *.txt 

פקודת Tar בלינוקס

2. חילוץ קבצים דרך הארכיון עם אפשרות -xvf

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

הפקודה היא כדלקמן:

 $ tar xvf file.tar 

פקודת Tar בלינוקס

3. דחיסת gzip על ארכיון tar עם אפשרות -z

אפשרות זו הופכת קובץ tar למכונה file.tar.gz. זהו הארכיון של כל קובץ txt.

הפקודה היא כדלקמן:

 $ tar cvzf file.tar.gz *.txt 

פקודת Tar בלינוקס

4. חילוץ ארכיון gzip tar עם אפשרות -xvzf

אפשרות זו יכולה לחלץ את הקבצים דרך file.tar.gz tar קבצים בארכיון.

הפקודה היא כדלקמן:

 $ tar xvzf file.tar.gz 

פקודת Tar בלינוקס

5. יצירת קבצי tar דחוסים עם האפשרות -j

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

הפקודה היא כדלקמן:

 $ tar cvfj file.tar.tbz hello1.txt 

פקודת Tar בלינוקס

6. בטל סימון של ספרייה או קובץ אחד שצוין בלינוקס

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

הפקודה היא כדלקמן:

if statement java
 $ tar -xvf file.tar -C file's path in the directory 

פקודת Tar בלינוקס

אוֹ,

 $ tar -xvf file.tar 

פקודת Tar בלינוקס

7. הסר קובצי .tar.tbz, .tar.gz, .tar מרובים בלינוקס

אפשרות זו תעזור לנו התפשטות או לחלץ יותר מקובץ אחד מ-tar.bz2, tar.gz וקובץ ארכיון tar.

הדוגמה של אפשרות זו היא כדלקמן:

 $ tar -jxvf file.tar.tbz 'hello1.txt' 

פקודת Tar בלינוקס

אוֹ,

 $ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt' 

פקודת Tar בלינוקס

אוֹ,

 $ tar -xvf file.tar 'hello1.txt' 'hello2.txt' 

פקודת Tar בלינוקס

8. בדוק את גודל הקובץ tar.tbz, tar.gz, tar

הפקודה תעזור לנו להציג את גודל קובץ הארכיון בקילו-בייט (KB) המוזכר לעיל.

הפקודה היא כדלקמן:

 $ tar -czf - file2.tar.tbz | wc -c 

אוֹ,

 $ tar -czf - file1.tar.gz | wc -c 

אוֹ,

 $ tar -czf - file.tar | wc -c 

פקודת Tar בלינוקס

9. עדכן את קובץ tar הקיים

בלינוקס, הפקודה לעדכון קובץ tar קיים היא כדלקמן:

 $ tar rvf file.tar *.txt 

10. רשימת תוכן ותאר את קובץ tar עם אפשרות tf

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

הפקודה היא כדלקמן:

 $ tar tf file.tar 

פקודת Tar בלינוקס

11. הצג את הארכיון עם האפשרות -tvf

בלינוקס, אנו יכולים להשתמש באפשרות -tvf כדי להציג את הארכיון.

הפקודה היא כדלקמן:

 $ tar -tvf file.tar 

פקודת Tar בלינוקס

12. העבר את שם הקובץ כארגומנט כדי למצוא קובץ tar

אפשרות זו יכולה להציג את הקבצים בארכיון עם המידע שלהם.

הפקודה היא כדלקמן:

 $ tar tvf file.tar filename 

פקודת Tar בלינוקס

13. שימוש ב-pipe לזריקת 'פקודה grep' כדי לחפש את מה שאנחנו מחפשים

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

הפקודה היא כדלקמן:

 $ tar tvf file.tar | grep 'filename.file' 

אוֹ,

 $ tar tvf file.tar | grep 'text to search' 

פקודת Tar בלינוקס

מבוא לתווים כלליים

לחלופין, תווים כלליים נקראים תו כללי או תו פראי בלינוקס. זהו סמל המשמש לייצוג או החלפה של מספר תווים.

מה זה svn checkout

בדרך כלל, תווים כלליים הם סימן שאלה (?) הממחיש תו בודד או כוכבית (*) הממחישה מספר תווים.

דוגמא-

14. מצא תמונה בפורמט .webp

זה יעזור לנו לחלץ רק קבצים יחד עם סיומת .webp מארכיון file.tar. האפשרות -wildcards מודיעה ל-tar לפירוש תווים כלליים בשם הקובץ שיש לחלץ.

שם הקובץ (*.webp) מוקף בתוך המירכאות הבודדות להגנה על התו הכללי (*) באמצעות הרחבה שגויה על ידי כל מעטפת.

הפקודה היא כדלקמן:

 $ tar tvf file.tar --wildcards '*.webp' 

פקודת Tar בלינוקס

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

15. מחק קבצים מארכיון tar

אנו יכולים להשתמש באפשרות --delete להסרת קבצים וארכיון tar.

הפקודה היא כדלקמן:

 $ tar --delete -f archive.tar file_name 

דוגמא:

 tar -delete -f file.tar hello1.txt 

תְפוּקָה:

פקודת Tar בלינוקס

hello1.txt הקובץ הוסר מארכיון file.tar:

פקודת Tar בלינוקס