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

17 Nützlicher Tar-Befehl mit praktischen Beispielen in Linux

Tar ist der am häufigsten verwendete Befehl in Unix- und Linux-ähnlichen Betriebssystemen zum Erstellen von Archiven aus mehreren Dateien und Ordnern in einer einzigen Archivdatei, und diese Archivdatei kann mit  gzip und bzip2 Techniken. Mit anderen Worten, wir können sagen, dass der tar-Befehl verwendet wird, um ein Backup zu erstellen, indem mehrere Dateien und Verzeichnisse in einer einzigen tar- oder Archivdatei archiviert werden und später Dateien und Verzeichnisse aus der tar-komprimierten Datei extrahiert werden können.

In diesem Artikel werden wir den Linux-Tar-Befehl anhand von 17 nützlichen Beispielen besprechen

Syntax des tar-Befehls:

# tar

Einige der häufig verwendeten Optionen im tar-Befehl sind unten aufgeführt:

Hinweis: Bindestrich ( – ) in den tar-Befehlsoptionen sind optional.

Beispiel 1) Erstellen Sie eine tar-Archivdatei

Lassen Sie uns eine tar-Datei aus dem Verzeichnis /etc und der Datei „/root/anaconda-ks.cfg“ erstellen.

[[email protected] ~]# tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg

Der obige Befehl erstellt eine TAR-Datei mit dem Namen „myarchive “ im aktuellen Ordner. Tar-Datei enthält alle Dateien und Verzeichnisse von /etc Ordner und anaconda-ks.cfg Datei.

Im tar-Befehl ‘-c ‘ Option angeben, um eine TAR-Datei zu erstellen, ‘-v’ wird für die ausführliche Ausgabe und ‘-f’ verwendet Option wird verwendet, um den Namen der Archivdatei anzugeben.

[[email protected] ~]# ls -l myarchive.tar
-rw-r--r--. 1 root root 22947840 Sep 7 00:24 myarchive.tar
[[email protected] ~]#

Beispiel 2) Inhalt der Archivdatei auflisten

Mit ‘–t ‘-Option im tar-Befehl können wir den Inhalt von tar-Dateien anzeigen, ohne ihn zu extrahieren.

[[email protected] ~]# tar -tvf myarchive.tar

Auflisten einer bestimmten Datei oder eines bestimmten Verzeichnisses aus der Tar-Datei. Im folgenden Beispiel versuche ich zu sehen, ob die Datei „anaconda-ks.cfg“ in der tar-Datei vorhanden ist oder nicht.

[[email protected] ~]# tar -tvf myarchive.tar root/anaconda-ks.cfg
-rw------- root/root 953 2016-08-24 01:33 root/anaconda-ks.cfg
[[email protected] ~]#

Beispiel 3)  Dateien am Ende des Archivs anhängen oder hinzufügen

-r ‘-Option im tar-Befehl wird verwendet, um eine Datei an eine vorhandene tar-Datei anzuhängen oder hinzuzufügen. Lassen Sie uns die Datei /etc/fstab in ‚data.tar hinzufügen ‘

[[email protected] ~]# tar -rvf data.tar /etc/fstab

Hinweis: In der komprimierten TAR-Datei können wir keine Datei oder kein Verzeichnis anhängen.

Beispiel 4)  Dateien und Verzeichnisse aus Archivdatei extrahieren

-x ‘ Option wird verwendet, um die Dateien und Verzeichnisse aus der tar-Archivdatei zu extrahieren. Lassen Sie uns den Inhalt der oben erstellten Tar-Datei extrahieren.

[[email protected] ~]# tar -xvf myarchive.tar

Der obige Befehl extrahiert alle Dateien und Verzeichnisse der myarchive tar-Datei im aktuellen Arbeitsverzeichnis.

Beispiel 5) Tar-Archivdatei in einen bestimmten Ordner extrahieren

Falls Sie die Tar-Datei in einen bestimmten Ordner oder ein bestimmtes Verzeichnis extrahieren möchten, verwenden Sie „-C ‘ Option gefolgt vom Pfad eines Ordners. Beispiel ist unten gezeigt

[[email protected] ~]# tar -xvf myarchive.tar -C /tmp/

Beispiel 6)  Extrahieren Sie eine bestimmte Datei oder ein bestimmtes Verzeichnis aus der Tar-Datei

Nehmen wir an, Sie möchten nur die Datei anaconda-ks.cfg aus der tar-Datei im Ordner /tmp extrahieren.

Syntax:

# tar –xvf {tar-Datei} {zu extrahierende Datei} -C {Pfad, wohin extrahiert werden soll}

[[email protected] tmp]# tar -xvf /root/myarchive.tar root/anaconda-ks.cfg -C /tmp/
root/anaconda-ks.cfg
[[email protected] tmp]# ls -l /tmp/root/anaconda-ks.cfg
-rw-------. 1 root root 953 Aug 24 01:33 /tmp/root/anaconda-ks.cfg
[[email protected] tmp]#

Beispiel 7) Archivdatei erstellen und komprimieren (gzip)

Nehmen wir an, wir möchten eine tar-Datei mit den Ordnern /etc und /opt erstellen und diese auch mit dem gzip-Tool komprimieren. Dies kann mit ‘-z erreicht werden ‘-Option im tar-Befehl. Erweiterungen solcher tar-Dateien sind entweder tar.gz oder .tgz

[[email protected] ~]# tar -zcpvf myarchive.tar.gz /etc/ /opt/
Or
[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/

Beispiel 8) Archivdatei erstellen und komprimieren (bzip2)

Nehmen wir an, wir möchten eine komprimierte (bzip2) tar-Datei aus den Ordnern /etc und /opt erstellen. Dies kann mit der Option ( -j erreicht werden ) im tar-Befehl. Die Erweiterungen solcher tar-Dateien sind entweder tar.bz2 oder .tbz

[[email protected] ~]# tar -jcpvf myarchive.tar.bz2 /etc/ /opt/
Or
[[email protected] ~]# tar -jcpvf myarchive.tbz2 /etc/ /opt/

Beispiel 9)  Ausschließen bestimmter Dateien oder Typen beim Erstellen einer TAR-Datei

Mit „–ausschließen ”-Option im tar-Befehl können wir die bestimmte Datei oder den Dateityp beim Erstellen der tar-Datei ausschließen. Nehmen wir an, wir möchten den Dateityp HTML ausschließen, während wir die komprimierte TAR-Datei erstellen.

[[email protected] ~]# tar -zcpvf myarchive.tgz /etc/ /opt/ --exclude=*.html

Beispiel 10) Listen Sie den Inhalt der tar.gz- oder .tgz-Datei auf

Der Inhalt der tar-Datei mit den Erweiterungen tar.gz oder .tgz wird mit der Option „-t angezeigt ’. Beispiel ist unten gezeigt:

[[email protected] ~]# tar -tvf myarchive.tgz  | more 
............................................. 
drwxr-xr-x root/root         0 2016-09-07 08:41 etc/ 
-rw-r--r-- root/root       541 2016-08-24 01:23 etc/fstab 
-rw------- root/root         0 2016-08-24 01:23 etc/crypttab 
lrwxrwxrwx root/root         0 2016-08-24 01:23 etc/mtab -> /proc/self/mounts 
-rw-r--r-- root/root       149 2016-09-07 08:41 etc/resolv.conf 
drwxr-xr-x root/root         0 2016-09-06 03:55 etc/pki/ 
drwxr-xr-x root/root         0 2016-09-06 03:15 etc/pki/rpm-gpg/ 
..........................................................

Beispiel 11)  Den Inhalt der tar.bz2- oder .tbz2-Datei auflisten

Der Inhalt der tar-Datei mit den Erweiterungen .bz2 oder .tbz2 wird mit der Option „-t“ angezeigt. Beispiel ist unten gezeigt:

[[email protected] ~]# tar -tvf myarchive.tbz2  | more 
........................................................ 
rwxr-xr-x root/root         0 2016-08-24 01:25 etc/pki/java/ 
drwxr-xr-x root/root         0 2016-09-06 02:54 etc/pki/nssdb/ 
-rw-r--r-- root/root     65536 2010-01-12 15:09 etc/pki/nssdb/cert8.db 
-rw-r--r-- root/root      9216 2016-09-06 02:54 etc/pki/nssdb/cert9.db 
-rw-r--r-- root/root     16384 2010-01-12 16:21 etc/pki/nssdb/key3.db 
-rw-r--r-- root/root     11264 2016-09-06 02:54 etc/pki/nssdb/key4.db 
-rw-r--r-- root/root       451 2015-10-21 09:42 etc/pki/nssdb/pkcs11.txt 
-rw-r--r-- root/root     16384 2010-01-12 15:45 etc/pki/nssdb/secmod.db 
drwxr-xr-x root/root         0 2016-08-24 01:26 etc/pki/CA/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/certs/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/crl/ 
drwxr-xr-x root/root         0 2015-06-29 08:48 etc/pki/CA/newcerts/ 
drwx------ root/root         0 2015-06-29 08:48 etc/pki/CA/private/ 
drwx------ root/root         0 2015-11-20 06:34 etc/pki/rsyslog/ 
drwxr-xr-x root/root         0 2016-09-06 03:44 etc/pki/pulp/ 
..............................................................

Beispiel 12)  Komprimierte Archivdatei extrahieren (tar.gz oder .tgz)

tar-Dateien mit der Erweiterung tar.gz oder .tgz werden mit der Option ‚-x extrahiert oder entpackt “ und „-z ’. Beispiel ist unten gezeigt:

[[email protected] ~]# tar -zxpvf myarchive.tgz -C /tmp/

Der obige Befehl extrahiert die Tar-Datei im /tmp-Ordner.

Hinweis: Jetzt kümmert sich ein Tage-Tar-Befehl beim Extrahieren automatisch um die Komprimierungsdateitypen. Dies bedeutet, dass es für uns optional ist, den Komprimierungstyp im TAR-Befehl anzugeben. Beispiel ist unten gezeigt:

[[email protected] ~]# tar -xpvf myarchive.tgz -C /tmp/

Beispiel 13) Extrahieren oder entpacken Sie tar.bz2- oder .tbz2-Dateien

tar-Dateien mit der Erweiterung tar.bz2 oder .tbz2 werden mit der Option „-j extrahiert “ und „-x ’. Beispiel ist unten gezeigt:

[[email protected] ~]# tar -jxpvf myarchive.tbz2 -C /tmp/

Oder

[[email protected] ~]# tar xpvf myarchive.tbz2 -C /tmp/

Beispiel 14)  Sicherung mit dem tar-Befehl planen

Es gibt einige Echtzeit-Szenarien, in denen wir täglich Tar-Dateien bestimmter Dateien und Verzeichnisse zu Sicherungszwecken erstellen müssen. Nehmen wir an, wir müssen täglich ein Backup des gesamten /opt-Ordners erstellen, dies kann durch Erstellen eines Cron-Jobs des tar-Befehls erreicht werden. Beispiel ist unten gezeigt:

[[email protected] ~]# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/

Erstellen Sie einen Cron-Job für den obigen Befehl.

Beispiel 15) Erstellen und komprimierte Archivdatei mit Option -T und -X

Es gibt einige Echtzeitszenarien, in denen wir möchten, dass der tar-Befehl Eingaben aus einer Datei entgegennimmt, und diese Datei besteht aus Pfaden von Dateien und Verzeichnissen, die archiviert und komprimiert werden sollen. Möglicherweise möchten wir einige Dateien aus dem Archiv ausschließen werden in der Eingabedatei erwähnt.

In der tar-Befehlseingabedatei wird nach ‘-T angegeben ’ Option und Datei, die aus der Ausschlussliste besteht, wird nach ’-X angegeben ’-Option.

Nehmen wir an, wir möchten Verzeichnisse wie /etc archivieren und komprimieren , /opt und /home und die Datei „/etc/sysconfig/kdump“ ausschließen möchten und ‘/etc/sysconfig/foreman ‘, Erstellen Sie eine Textdatei ‘/root/tar-include “ und „/root/tar-exclude ’ und fügen Sie den folgenden Inhalt in die jeweilige Datei ein.

[[email protected] ~]# cat /root/tar-include
/etc
/opt
/home
[[email protected] ~]#
[[email protected] ~]# cat /root/tar-exclude
/etc/sysconfig/kdump
/etc/sysconfig/foreman
[[email protected] ~]#

Führen Sie nun den folgenden Befehl aus, um die Archivdatei zu erstellen und zu komprimieren.

# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude

Beispiel 16) Anzeigen der Größe von .tar-, .tgz- und .tbz2-Dateien

Verwenden Sie die folgenden Befehle, um die Größe von tar- und komprimierten tar-Dateien anzuzeigen.

[[email protected] ~]# tar -czf - data.tar | wc -c
427
[[email protected] ~]# tar -czf - mybackup-2016-09-09.tgz | wc -c
37956009
[[email protected] ~]# tar -czf - myarchive.tbz2 | wc -c
30835317
[[email protected] ~]#

Beispiel 17) Große Tar-Datei in kleinere Dateien aufteilen

In Linux-ähnlichen Betriebssystemen werden große Dateien mit dem Split-Befehl in kleinere Dateien geteilt oder aufgeteilt. Eine große Tar-Datei kann auch mit dem Split-Befehl in kleinere Teile geteilt werden.

Nehmen wir an, wir wollen „mybackup-2016-09-09.tgz aufteilen ‘Datei in kleinere Teile von jeweils 6 MB.

Syntax: split -b . „Präfixname“

[[email protected] ~]# split -b 6M mybackup-2016-09-09.tgz mybackup-parts

Der obige Befehl teilt die mybackup-komprimierte TAR-Datei in kleinere Dateien mit einer Größe von jeweils 6 MB im aktuellen Arbeitsverzeichnis auf, und die aufgeteilten Dateinamen beginnen bei mybackup-partsaa … mybackup-partsag. Falls Sie Zahlen anstelle von Buchstaben anhängen möchten, verwenden Sie die Option „-d“ im obigen Split-Befehl.

[[email protected] ~]# ls -l mybackup-parts*
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaa
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsab
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsac
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsad
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsae
-rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaf
-rw-r--r--. 1 root root 637219  Sep 10 03:05 mybackup-partsag
[[email protected] ~]#

Jetzt können wir diese Dateien über das Netzwerk auf einen anderen Server verschieben und dann alle Dateien mit dem unten genannten Befehl zu einer einzigen tar-komprimierten Datei zusammenführen.

[[email protected] ~]# cat mybackup-partsa* > mybackup-2016-09-09.tgz
[[email protected] ~]#

Das ist alles, ich hoffe, Ihnen gefallen verschiedene Beispiele für den tar-Befehl. Bitte teilen Sie uns Ihr Feedback und Ihre Kommentare mit.

Auch lesenAutomatisieren von Aufgaben in Linux mit Crontab

Lesen Sie auch: 9 „diff“-Befehlsbeispiele in Linux


Linux
  1. wc Linux-Befehl mit Beispielen

  2. 25 Nützliche praktische Beispiele für find-Befehle unter Linux

  3. Sortierbefehl in Linux mit Beispielen

  4. 5 praktische Beispiele für Head-Befehle unter Linux

  5. 14 Nützliche „cat“-Befehlsbeispiele in Linux

Linux-WC-Befehl mit Beispielen

9 Nützliche Beispiele für Touch-Befehle unter Linux

Verwendung des Linux-mv-Befehls mit Beispielen

Linux-Mount-Befehl mit Beispielen

gawk Linux-Befehl mit Beispielen

Linux-make-Befehl mit Beispielen