Tar: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „ 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…“
 
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
===Was ist das?===
Mit tar ist es möglich, mehrere Dateien oder ganze Verzeichnisse in einem Archiv
Mit tar ist es möglich, mehrere Dateien oder ganze Verzeichnisse in einem Archiv
abzulegen bzw. diese wieder aus einem Archiv zu extrahieren.
abzulegen bzw. diese wieder aus einem Archiv zu extrahieren.
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/
'''Anmerkung:'''
* -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


Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc
root@zero:/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
root@zero:~# tar -tf /tmp/zero_etc_dateien.tar.gz
*tar -tf /tmp/zero_etc_dateien.tar.gz
oder:
oder:
root@zero:~# tar -t -f /tmp/zero_etc_dateien.tar.gz
*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
*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
root@zero:~# tar -xvjf kontakte.bz2
*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
root@zero:~# tar -xjvf kontakte.bz2 telefonbuch
*tar -xjvf kontakte.bz2 telefonbuch
  telefonbuch
  telefonbuch
Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp
Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp
root@zero:~# tar -xjf kontakte.bz2 -C /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

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