Android

Befehl Tar unter Linux (Archive erstellen und extrahieren)

Linux komprimieren archivieren packen entpacken zip tar gz bz2 gzip lzip compress comprez [German]

Linux komprimieren archivieren packen entpacken zip tar gz bz2 gzip lzip compress comprez [German]

Inhaltsverzeichnis:

Anonim

Mit dem Befehl tar Tar-Archive erstellt, indem eine Gruppe von Dateien in ein Archiv konvertiert wird. Es kann auch Tar-Archive extrahieren, eine Liste der im Archiv enthaltenen Dateien anzeigen, zusätzliche Dateien zu einem vorhandenen Archiv hinzufügen sowie verschiedene andere Vorgänge ausführen.

Tar wurde ursprünglich für die Erstellung von Archiven zum Speichern von Dateien auf Magnetband entwickelt, weshalb es den Namen „ T ape AR chive“ trägt.

In diesem Tutorial zeigen wir Ihnen anhand von praktischen Beispielen und detaillierten Erklärungen der gebräuchlichsten tar-Optionen, wie Sie mit dem Befehl tar tar Archive extrahieren, auflisten und erstellen.

Syntax des Tar-Befehls

Es gibt zwei Versionen von Teer, BSD-Teer und GNU-Teer mit einigen funktionalen Unterschieden. Auf den meisten Linux-Systemen ist GNU tar standardmäßig vorinstalliert.

Die allgemeine Syntax für den Befehl tar lautet wie folgt:

tar

  • OPERATION - Es ist nur ein Operationsargument zulässig und erforderlich. Die am häufigsten verwendeten Operationen sind:
    • --create ( -c ) - --create ein neues Tar-Archiv. --extract ( -x ) - Extrahiert das gesamte Archiv oder eine oder mehrere Dateien aus einem Archiv. --list ( -t ) - --list eine Liste der im Archiv enthaltenen Dateien an
    OPTIONS - Die am häufigsten verwendeten Operationen sind:
    • --verbose ( -v ) - Zeigt die Dateien an, die vom Befehl tar verarbeitet werden. --file=archive=name ( -f archive-name ) - Gibt den Namen der Archivdatei an.
    ARCHIVE_NAME - Der Name des Archivs. FILE_NAME(s) - Eine durch Leerzeichen getrennte Liste von Dateinamen, die aus dem Archiv extrahiert werden sollen. Wenn nicht angegeben, wird das gesamte Archiv extrahiert.

Bei der Ausführung von tar-Befehlen können Sie die lange oder die kurze Form der tar Operationen und -Optionen verwenden. Die langen Formulare sind besser lesbar, während die kurzen Formulare schneller geschrieben werden können. Den Optionen für lange Formulare wird ein doppelter Bindestrich ( -- ) vorangestellt. Den Kurzformoptionen wird ein einfacher Bindestrich ( - ) vorangestellt, der weggelassen werden kann.

Tar-Archiv erstellen

Tar unterstützt eine Vielzahl von Komprimierungsprogrammen wie gzip , bzip2 , lzip , lzma , lzop , xz und compress . Beim Erstellen von komprimierten Tar-Archiven ist es üblich, das Kompressorsuffix an den Namen der Archivdatei anzuhängen. Wenn ein Archiv beispielsweise mit gzip , sollte es den Namen archive.tar.gz haben.

Verwenden Sie zum Erstellen eines Tar-Archivs die Option -c gefolgt von -f und dem Namen des Archivs.

Um beispielsweise ein Archiv mit dem Namen archive.tar aus den Dateien mit den Namen file1 , file2 und file3 , führen Sie den folgenden Befehl aus:

tar -cf archive.tar file1 file2 file3

Hier ist der entsprechende Befehl unter Verwendung der Optionen für lange Formulare:

tar --create --file=archive.tar file1 file2 file3

Sie können Archive aus dem Inhalt eines oder mehrerer Verzeichnisse oder Dateien erstellen. Standardmäßig werden Verzeichnisse rekursiv archiviert, sofern nicht die Option --no-recursion angegeben ist.

Im folgenden Beispiel wird ein Archiv mit dem Namen user_backup.tar im Verzeichnis /home/user :

tar -cf backup.tar /home/user

Verwenden Sie die Option -v wenn Sie die Dateien -v möchten, die verarbeitet werden.

Erstellen eines Tar Gz-Archivs

Gzip ist der beliebteste Algorithmus zum Komprimieren von TAR-Dateien. Wenn Sie tar-Archive mit gzip komprimieren, sollte der Archivname entweder mit tar.gz oder tgz .

Die Option -z weist tar an, das Archiv beim gzip mit dem gzip Algorithmus zu komprimieren. Um beispielsweise ein tar.gz-Archiv aus bestimmten Dateien zu erstellen, verwenden Sie den folgenden Befehl:

tar -czf archive.tar.gz file1 file2

Tar Bz2-Archiv erstellen

Ein weiterer beliebter Algorithmus zum Komprimieren von TAR-Dateien ist bzip2. Beim Komprimieren von Tar-Archiven mit bzip2 sollte der Archivname entweder mit tar.bz2 oder tbz tar.bz2 .

Wenn die Option -j angegeben ist, verwendet tar den bzip2 Algorithmus, um das Archiv zu komprimieren. Der folgende Befehl erstellt aus den angegebenen Dateien ein tar.bz2 Archiv:

tar -cjf archive.tar.bz2 file1 file2

Auflistung der Tar-Archive

In Verbindung mit der Option --list ( -t ) listet der Befehl tar den Inhalt eines tar-Archivs auf, ohne ihn zu extrahieren. Der folgende Befehl listet den Inhalt der Datei archive.tar :

tar -tf archive.tar Die Ausgabe listet die Namen aller Dateien im Archiv auf:

file1 file2 file3

Verwenden Sie die Option --verbose ( -v ), um weitere Informationen wie den Dateieigentümer, die Dateigröße und den Zeitstempel --verbose :

tar -tvf archive.tar

-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2 -rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3

Extrahieren des Tar-Archivs

Die meisten archivierten Dateien in Linux werden mit einem tar- oder tar.gz-Format archiviert und komprimiert. Es ist wichtig zu wissen, wie diese Dateien von der Befehlszeile extrahiert werden.

Verwenden --extract zum Extrahieren eines Tar-Archivs die Option --extract ( -x ) gefolgt vom Archivnamen:

tar -xf archive.tar

Es ist auch üblich, die Option -v hinzuzufügen, um die Namen der zu extrahierenden Dateien zu drucken.

tar -xvf archive.tar

Extrahieren des Tar-Archivs in ein anderes Verzeichnis

Standardmäßig extrahiert tar den Archivinhalt im aktuellen Arbeitsverzeichnis. Verwenden Sie das --directory ( -C ), um Archivdateien in einem bestimmten Verzeichnis zu extrahieren:

Um beispielsweise den Archivinhalt in das Verzeichnis /opt/files zu extrahieren, können Sie Folgendes verwenden:

tar -xf archive.tar -C /opt/files

Extrahieren von Tar Gz- und Tar Bz2-Archiven

Beim Extrahieren komprimierter Archive wie tar.gz oder tar.bz2 muss keine Dekomprimierungsoption angegeben werden. Der Befehl ist der gleiche wie beim Extrahieren des tar Archivs:

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

Extrahieren bestimmter Dateien aus einem Tar-Archiv

Manchmal müssen Sie, anstatt das gesamte Archiv zu extrahieren, möglicherweise nur wenige Dateien daraus extrahieren.

Fügen Sie nach dem Archivnamen eine durch Leerzeichen getrennte Liste der zu extrahierenden Dateinamen hinzu, um eine bestimmte (n) Datei (en) aus einem Tar-Archiv zu extrahieren:

tar -xf archive.tar file1 file2

Beim Extrahieren von Dateien müssen Sie deren genauen Namen einschließlich des Pfads --list von --list ( -t ) --list .

Das Extrahieren eines oder mehrerer Verzeichnisse aus einem Archiv entspricht dem Extrahieren von Dateien:

tar -xf archive.tar dir1 dir2

tar -xf archive.tar README

tar: README: Not found in archive tar: Exiting with failure status due to previous errors

Extrahieren von Dateien aus einem Tar-Archiv mit Wildcard

Verwenden Sie den Schalter --wildcards , um Dateien aus einem Archiv zu extrahieren, das auf einem Platzhaltermuster --wildcards , und zitieren Sie das Muster, um zu verhindern, dass die Shell es interpretiert.

Um beispielsweise Dateien zu extrahieren, deren Namen auf .js (Javascript-Dateien) enden, können Sie .js verwenden:

tar -xf archive.tar --wildcards '*.js'

Hinzufügen von Dateien zum vorhandenen Tar-Archiv

Verwenden Sie die Operation --append ( -r ), um Dateien oder Verzeichnisse zu einem vorhandenen Tar-Archiv --append .

Wenn Sie beispielsweise eine Datei mit dem Namen newfile zu archive.tar hinzufügen newfile , führen Sie newfile aus:

tar -rvf archive.tar newfile

Dateien aus einem Tar-Archiv entfernen

Verwenden Sie die Operation --delete , um Dateien aus einem Archiv zu entfernen.

Das folgende Beispiel zeigt, wie Sie die Datei file1 aus archive.tar entfernen:

tar --delete -f archive.tar file1

Fazit

Die gebräuchlichste Verwendung des Befehls tar ist das Erstellen und Extrahieren eines Tar-Archivs. Verwenden Sie zum Extrahieren eines Archivs den Befehl tar -xf gefolgt vom Archivnamen und zum Erstellen eines neuen Archivs den Befehl tar -czf gefolgt vom Archivnamen und den Dateien und Verzeichnissen, die Sie zum Archiv hinzufügen möchten.

Weitere Informationen zum Befehl tar finden Sie auf der Dokumentationsseite zu Gnu tar.

Teerterminal