Tar: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 12: | Zeile 12: | ||
===Optionen=== | ===Optionen=== | ||
* -v : ausführliche Ausgabe | * -v : ausführliche Ausgabe | ||
* -f dat1 verwendet dat1 als Archiv | * -f dat1 : verwendet dat1 als Archiv | ||
* -z komprimiert im gzip Verfahren (Dateiformat .tar.gz) | * -z : komprimiert im gzip Verfahren (Dateiformat .tar.gz) | ||
* -j komprimiert im bzip2 Verfahren (Dateiformat .bz2) | * -j : komprimiert im bzip2 Verfahren (Dateiformat .bz2) | ||
* -C ver1/ wechselt vor der Ausführung nach ver1/ | * -J : komprimiert im xz Verfahren (Dateiformat .xz) | ||
* - | * -C ver1/ : wechselt vor der Ausführung nach ver1/ | ||
* -I prog : verwendet externes Programm (z. B. unzstd) zur (De-)Kompression | |||
'''Anmerkung:''' | |||
Für gewöhnlich können Optionen von Linuxbefehlen in einer beliebigen Reihenfolge angegeben werden. Jedoch erwartet | Für gewöhnlich können Optionen von Linuxbefehlen in einer beliebigen Reihenfolge angegeben werden. Jedoch erwartet | ||
die Option -f direkt den Dateinamen und sollte daher als letzte Option oder getrennt stehen. | die Option -f direkt den Dateinamen und sollte daher als letzte Option oder getrennt stehen. | ||
Beispiele | ===Beispiele=== | ||
Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc | |||
*tar -czf /tmp/zero_etc_dateien.tar.gz | |||
Anzeigen der Dateien im Archiv zero_etc_dateien.tar.gz | Anzeigen der Dateien im Archiv zero_etc_dateien.tar.gz | ||
*tar -tf /tmp/zero_etc_dateien.tar.gz | |||
oder: | oder: | ||
*tar -t -f /tmp/zero_etc_dateien.tar.gz | |||
Erstellen eines Bzip2-Archivs mit ausgewählten Dateien (telefonbuch, name) | Erstellen eines Bzip2-Archivs mit ausgewählten Dateien (telefonbuch, name) | ||
*tar -cjf kontakte.bz2 telefonbuch name | |||
Ausführliches Entpacken eines Bzip2-Archivs in das aktuelle Verzeichnis | Ausführliches Entpacken eines Bzip2-Archivs in das aktuelle Verzeichnis | ||
*tar -xvjf kontakte.bz2 | |||
telefonbuch | telefonbuch | ||
name | name | ||
Entpacken einer Datei aus einem Bzip2-Archiv in das aktuelle Verzeichnis | Entpacken einer Datei aus einem Bzip2-Archiv in das aktuelle Verzeichnis | ||
*tar -xjvf kontakte.bz2 telefonbuch | |||
telefonbuch | telefonbuch | ||
Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp | Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp | ||
*tar -xjf kontakte.bz2 -C /tmp/ | |||
==Spezielles== | |||
===Spezielles=== | |||
tar schreibt auf STDOUT und liest über die PIPE von STDIN | tar schreibt auf STDOUT und liest über die PIPE von STDIN | ||
*tar -C /bin | *tar -C /bin -z -c -f - . | tar -C /tmp -x -v -z -f - | ||
tar schreibt auf STDOUT über nc zu Rechner chris | |||
*tar -C /bin -z -c -f - . | nc chris 666 | |||
tar liest von nc Port 666 über die PIPE von STDIN | tar liest von nc Port 666 über die PIPE von STDIN | ||
*nc -l -p 666 | *nc -l -p 666 | tar -C /tmp -x -v -z -f - | ||
==Vom Tararchive zum Binary== | ===Vom Tararchive zum Binary=== | ||
Am Beispiel von Squid | Am Beispiel von Squid | ||
*Squid Sourcecode besorgen | *Squid Sourcecode besorgen | ||
*cp /share/squid-2.7.STABLE1.tar.gz . | |||
*Paket entpacken | *Paket entpacken | ||
*tar -xvzf squid-2.7.STABLE1.tar.gz | |||
..... | ..... | ||
* | |||
===zstd=== | |||
Erstellen eines zstd-komprimierten Archivs | |||
*tar -cf - /usr/share | zstd > share.tar.zst | |||
* | |||
Entpacken eines zstd-Archivs (zweistufig) | |||
* | *unzstd share.tar.zst | ||
*tar -xvf share.tar | |||
*tar - | Direkt entpacken mit tar | ||
*tar --use-compress-program=unzstd -xvf share.tar.zst | |||
oder | |||
*tar -I unzstd -xvf share.tar.zst | |||
Aktuelle Version vom 10. Juli 2025, 05:46 Uhr
Was ist das?
Mit tar ist es möglich, mehrere Dateien oder ganze Verzeichnisse in einem Archiv abzulegen bzw. diese wieder aus einem Archiv zu extrahieren.
tar [Kommando][Optionen] Datei(en)
Kommandos
- -c : Erzeugen eines neuen Archives
- -t : Anzeigen des Inhalts eines Archives
- -x : Extrahieren aus einem Archiv
Optionen
- -v : ausführliche Ausgabe
- -f dat1 : verwendet dat1 als Archiv
- -z : komprimiert im gzip Verfahren (Dateiformat .tar.gz)
- -j : komprimiert im bzip2 Verfahren (Dateiformat .bz2)
- -J : komprimiert im xz Verfahren (Dateiformat .xz)
- -C ver1/ : wechselt vor der Ausführung nach ver1/
- -I prog : verwendet externes Programm (z. B. unzstd) zur (De-)Kompression
Anmerkung: Für gewöhnlich können Optionen von Linuxbefehlen in einer beliebigen Reihenfolge angegeben werden. Jedoch erwartet die Option -f direkt den Dateinamen und sollte daher als letzte Option oder getrennt stehen.
Beispiele
Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc
- tar -czf /tmp/zero_etc_dateien.tar.gz
Anzeigen der Dateien im Archiv zero_etc_dateien.tar.gz
- tar -tf /tmp/zero_etc_dateien.tar.gz
oder:
- tar -t -f /tmp/zero_etc_dateien.tar.gz
Erstellen eines Bzip2-Archivs mit ausgewählten Dateien (telefonbuch, name)
- tar -cjf kontakte.bz2 telefonbuch name
Ausführliches Entpacken eines Bzip2-Archivs in das aktuelle Verzeichnis
- tar -xvjf kontakte.bz2
telefonbuch name
Entpacken einer Datei aus einem Bzip2-Archiv in das aktuelle Verzeichnis
- tar -xjvf kontakte.bz2 telefonbuch
telefonbuch
Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp
- tar -xjf kontakte.bz2 -C /tmp/
Spezielles
tar schreibt auf STDOUT und liest über die PIPE von STDIN
- tar -C /bin -z -c -f - . | tar -C /tmp -x -v -z -f -
tar schreibt auf STDOUT über nc zu Rechner chris
- tar -C /bin -z -c -f - . | nc chris 666
tar liest von nc Port 666 über die PIPE von STDIN
- nc -l -p 666 | tar -C /tmp -x -v -z -f -
Vom Tararchive zum Binary
Am Beispiel von Squid
- Squid Sourcecode besorgen
- cp /share/squid-2.7.STABLE1.tar.gz .
- Paket entpacken
- tar -xvzf squid-2.7.STABLE1.tar.gz
.....
zstd
Erstellen eines zstd-komprimierten Archivs
- tar -cf - /usr/share | zstd > share.tar.zst
Entpacken eines zstd-Archivs (zweistufig)
- unzstd share.tar.zst
- tar -xvf share.tar
Direkt entpacken mit tar
- tar --use-compress-program=unzstd -xvf share.tar.zst
oder
- tar -I unzstd -xvf share.tar.zst