Tar: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
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)
* -J komprimiert im xzip Verfahren (Dateiformat .xz
* -C ver1/ : wechselt vor der Ausführung nach ver1/
 
* -I prog : verwendet externes Programm (z. B. unzstd) zur (De-)Kompression
'''Anmerkung:'''


'''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
*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
*tar -tf /tmp/zero_etc_dateien.tar.gz
oder:
oder:
*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
*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
*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
*tar -xjf kontakte.bz2 -C /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 -z -c -f - . | tar -C /tmp -x -v -z -f
*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 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 | tar -C /tmp -x -v -z -f -
*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 .
*cp /share/squid-2.7.STABLE1.tar.gz .
*Paket entpacken
*Paket entpacken
*tar -xvzf squid-2.7.STABLE1.tar.gz .
*tar -xvzf squid-2.7.STABLE1.tar.gz
  .....
  .....
=zstd=
 
*tar -c /usr/share | zstd > share.tar.zst
===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