Tar: Unterschied zwischen den Versionen
| Zeile 26: | Zeile 26: | ||
Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc | 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) | ||
root@zero:~# tar -cjf kontakte.bz2 telefonbuch name | root@zero:~# 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 | ||
| Zeile 54: | Zeile 54: | ||
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= | =zstd= | ||
*tar -c /usr/share | zstd > share.tar.zst | *tar -c /usr/share | zstd > share.tar.zst | ||
Version vom 10. Juli 2025, 05:44 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)
- -C ver1/ wechselt vor der Ausführung nach ver1/
- -J komprimiert im xzip Verfahren (Dateiformat .xz
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)
root@zero:~# 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
- tar -c /usr/share | zstd > share.tar.zst