Tar: Unterschied zwischen den Versionen
| (2 dazwischenliegende Versionen desselben Benutzers werden 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 | |
| + | |||
| + | 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