GNU/Linux >> LINUX-Kenntnisse >  >> Linux

16 Tar-Befehle zum Komprimieren und Extrahieren von Dateien unter Linux

Tar ist ein Befehlszeilentool zum Erstellen und Bearbeiten von Archivdateien in Linux- und Unix-Systemen. Der Tar-Befehl erstellt eine .tar-Archivdatei und komprimiert sie dann mit gzip oder bzip2.

Sie können eine einzelne archivierte komprimierte Datei mit einem Befehl erstellen, um .tar.gz-Dateien oder .tar.bz2-Dateien abzurufen. Der Tar-Befehl kann auch verwendet werden, um archivierte Dateien zu extrahieren.

Sehen wir uns den tar-Befehl anhand einiger praktischer Beispiele in Aktion an.

1) .tar-Archivdatei erstellen

Um ein unkomprimiertes tar (.tar) zu erstellen, verwenden Sie die Option -c mit dem tar-Befehl wie folgt:

$ tar -cvf /path/to/foo.tar /path/to/foo/

Wobei '/path/to/foo.tar' ist der Speicherort der resultierenden TAR-Datei, und '/path/to/foo' ist der Speicherort der Datei oder des Verzeichnisses, das als Eingabe verwendet werden soll.

Beispiel

$ tar -cvf powerlog.tar powerlog
a powerlog
$ ls
powerlog powerlog.tar

Sie können einen absoluten Pfad anstelle eines relativen verwenden, wie im Beispiel gezeigt.

2) Erstellen Sie ein .gz-Archiv mit tar

Die Befehlssyntax zum Erstellen einer .gz Archiv mit tar ist:

$ tar -czvf /path/to/foo.tgz /path/to/foo/

Wobei „/path/to/foo.tgz“ die komprimierte Zieldatei ist und „/path/to/foo /' ist das Quellverzeichnis oder die zu komprimierende Datei.

3) Erstellen Sie ein .bz2-Archiv

Die Option -j wird verwendet, um mit .bz2-Archiven zu arbeiten.

$ tar -cjvf /path/to/foo.tgz /path/to/foo/

4) Erstellen Sie ein .gz-Archiv und schließen Sie es aus

Wir verwenden --exclude tar-Option, um eine bestimmte Erweiterung oder eine Liste von Dateierweiterungen auszuschließen. Die Syntax ist ähnlich wie unten:

$ tar -czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/.

5) Verwenden Sie tar ohne absoluten Pfad auf compress

Wenn Sie tar zum Komprimieren von Dateien verwenden und einen absoluten Pfad angeben, hat eine komprimierte Datei einen vollständigen Pfad in ihren Metadaten. Wenn Sie also den Inhalt extrahieren, befindet er sich in Verzeichnissen, die dem übergebenen absoluten Pfad ähneln. Um dies zu vermeiden, fügen Sie ein hinzu. am Ende des Befehls.

$ tar -zcvf /path/to/foo.tgz -C/path/to/foo .

6) Tarieren Sie alle Dateien, die mit einem bestimmten Buchstaben beginnen

Erstellt ein tar-Archiv von allem im aktuellen Verzeichnis, beginnend mit einem 'i'.

# tar -cvf fullbackup.tar i*
install.log
install.log.syslog

7) Neue Datei an bestehendes tar-Archiv anhängen

Hängen Sie eine Datei an oder fügen Sie eine neue Datei zu einem bestehenden Tar-Archiv hinzu.

# tar --append --file=backup.tar anaconda-ks.cfg

Der obige Befehl fügt eine anaconda-ks.cfg-Datei in das backup.tar-Archiv

ein

8) Hinzufügen von zwei Archivdateien mit Verkettungsoption

# tar --concatenate --file=backup.tar fullbackup.tar

Der obige Befehl fügt den Inhalt der Datei fullbackup.tar zum Archiv backup.tar hinzu.

9) Extrahieren Sie die .tar-Archivdatei

Zum Extrahieren eines unkomprimierten Archivs, das häufig die Erweiterung .tar hat , lautet die Befehlssyntax:

$ tar -xvf /path/to/foo.tar

Wobei /path/to/foo.tar der absolute/relative Pfad zum Speicherort einer tar-Datei ist. Z. B.

$ tar -xvf powerlog.tar 
x powerlog/

10) Extrahieren Sie ein .gz-Archiv

Um eine .gz zu extrahieren Archiv verwenden wir die Befehlssyntax:

$ tar -xzvf /path/to/foo.tgz

Wobei '/path/to/foo.tgz' der absolute oder relative Pfad zur komprimierten Datei ist.

11) Extrahieren Sie ein .bz2-Archiv

Die Befehlssyntax zum Extrahieren einer .bz2 Archiv ist

$ tar -xjvf /path/to/foo.bz2

Beachten Sie, dass Sie eine .tgz-Datei übergeben können, solange sie mit einem -j komprimiert wurde Möglichkeit. Tar erkennt das Format automatisch und dekomprimiert es.

12) Extrahieren Sie eine .tar-Datei im angegebenen Verzeichnis

Um ein tar-Archiv in ein bestimmtes Verzeichnis zu extrahieren, verwenden Sie -C Option zum Bereitstellen des Zielverzeichnisses.

$ tar -xvf /path/to/foo.tar -C /path/to/destination/

13) Datei aus tar-Archiv extrahieren

Der folgende Befehl extrahiert die Datei „anaconda-ks.cfg“ im Archiv „backup.tar“.

# tar --extract -vv --occurrence --file=./backup.tar anaconda-ks.cfg
-rw-r--r-- root/root 766 2008-04-12 06:52:42 anaconda-ks.cfg

14) Inhalt des .gz-Archivs auflisten

Angenommen, Sie möchten nur den Inhalt einer .tgz anzeigen Datei, ohne sie zu extrahieren, verwenden Sie die Befehlssyntax:

$ tar -ztvf /path/to/foo.tgz

Ersetzen Sie einfach '/path/to/foo.tgz' durch den korrekten Pfad Ihrer .tgz Datei

15) Inhalt der .bz2-Archivdatei auflisten

Wenn Sie nur den Inhalt von .bz2 sehen möchten archivieren, ohne zu extrahieren, verwenden Sie den Befehl:

$ tar -jtvf /path/to/foo.tgz

16) Erhalten Sie symbolische Links mit dem tar-Befehl

Verwenden Sie tar -cvhf um meine symbolischen Links beim Generieren eines Tar-Archivs zu erhalten (benutzen Sie dafür die Option „h“).

Schlussfolgerung

Es ist schwer, sich alle Optionen des tar-Befehls zu merken. Nachfolgend finden Sie eine Liste häufig verwendeter Tar-Optionen.

- j :Wird verwendet, um das Archiv durch bzip2 zu filtern.
- v :Führen Sie den Befehl im ausführlichen Modus aus, um den Fortschritt der Archivdatei anzuzeigen.
- f :Archivdateinamen angeben.
- W :Wird verwendet, um eine Archivdatei zu überprüfen.
- z :Filtern Sie ein Archiv mit dem gzip-Tool.
- t :Dies wird verwendet, um den Inhalt der Archivdatei anzuzeigen.
-c :Erstellen Sie ein neues Archiv, das die angegebenen Elemente enthält.
-r :Wird zum Anhängen oder Aktualisieren bestehender Archive mit Dateien oder Verzeichnissen verwendet
-t :Inhalte eines Archivs auf stdout auflisten.
-u :Wie -r, aber neue Einträge werden nur hinzugefügt, wenn sie ein Änderungsdatum haben, das neuer ist als der entsprechende Eintrag im Archiv.
-x :Archivdatei auf Festplatte extrahieren.

Bei allen tar-Operationen wird das Dienstprogramm mit einem 0 beendet bei Erfolg und >0 wenn ein Fehler auftritt. Es ist wichtig, dies zu verstehen, wenn Sie tar mit einem Skript verwenden.

Ich hoffe, Ihnen hat das Lesen dieses Tutorials zum tar-Befehl gefallen. Bitte hinterlassen Sie Ihre Vorschläge im Kommentarbereich unten.

Lesen Sie auch:

  • So behalten Sie symbolische Links im Tar-Befehl bei

Linux
  1. So archivieren Sie Dateien und Verzeichnisse unter Linux [Teil 2]

  2. So archivieren Sie Dateien und Verzeichnisse unter Linux [Teil 1]

  3. Erstellen und extrahieren Sie tar.gz- und tar.bz2-Dateien unter Ubuntu Linux

  4. Linux-cpio-Beispiele:So erstellen und extrahieren Sie cpio-Archive (und tar-Archive)

  5. So komprimieren und extrahieren Sie Dateien und Verzeichnisse unter Linux mit gzip und bzip2

Tar-Befehl unter Linux (Archive erstellen und extrahieren)

Pigz – Dateien parallel unter Linux komprimieren und dekomprimieren

So komprimieren und extrahieren Sie Dateien mit dem Befehl Tar, Zip unter Linux

Linux-tar-Befehl – ​​So komprimieren Sie Dateien unter Linux

Linux- und Unix-TAR-Befehl

Linux-tar-Befehl zum Komprimieren und Extrahieren von Dateien