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

15 Verwendung des Tar-Befehls unter Linux mit Beispielen

Tar ist ein großartiges Dienstprogramm, das zum Sammeln mehrerer Dateien in einem einzigen Archiv verwendet wird. Diese Datei wird oft als „Tarball.“ bezeichnet Heute werden wir Ihnen etwas über die verschiedenen Dinge erzählen, die Sie mit Tarballs machen können mit dem tar Befehl, mit praktischen Beispielen.

Tar wird hauptsächlich zum Packen von Anwendungen und ihren Binärdateien für die Rohinstallation verwendet, die auf jedem System funktionieren würden, anstatt spezifische Formate wie DEB-, RPM- oder AUR-Pakete zu verwenden. Ansonsten tar ist auch ein recht effizientes Format zum Erstellen von Backups.

HINWEIS: Alle -f Tags, die überall verwendet werden, sind immer dann notwendig, wenn mit irgendwelchen „Dateien“ interagiert wird, was fast immer der Fall ist.

Verwendung des Tar-Befehls unter Linux

1. –Liste

Dieses Flag wird verwendet, um die Dateien in einem Tarball aufzulisten. Das erforderliche Argument ist nur der Name des Tarballs und (wie erwähnt) das -f Flagge. Die Standard-Syntax sieht so aus:

tar --list -f <Tarball name>

In Kurzform:

tar tf <Tarball name>

2. –erstellen

Das Flag –create wird verwendet, um einen neuen Tarball zu erstellen. Die erforderlichen Argumente sind der Name des (zukünftigen) Tarballs und die einzuschließenden Dateien. Auch die Namen von Verzeichnissen sind als Argument zulässig. Das Standardformat ist:

tar --create -f <Required tarball name> <File names>

Dies kann in Kurzform folgendermaßen verwendet werden:

tar cf <Required tarball name> <File names>

Andere Archivformate erstellen

Es gibt verschiedene Archivierungsformate, die in tar enthalten sind und zur Komprimierung verwendet werden. Die Formate, die wir zeigen werden, sind .tar.xz und .tar.gz Formate.

Erstellen eines XZ (.tar.xz ) Archiv

tar cfJ <Required tarball name> <File names>

Erstellen einer GZip-Datei (.tar.gz ) Archiv

tar cfz <Required tarball name> <File names>

Erstellen eines bzip2 (.tar.bz2)-Archivs

tar cfj <Required tarball name> <File names>

3. –anhängen

Das Flag –append wird verwendet, um Dateien zu einem bereits bestehenden Tarball hinzuzufügen. Die Syntax ist ziemlich einfach, das heißt:

tar --append -f <Tarball name> <Names of files to be added>

Kürzer:

tar rf <Tarball name> <Names of files to be added>

4. –löschen

Dies wird verwendet, um Dateien aus einem Tarball zu löschen. Die Syntax erfordert den Namen des Tarballs und den Namen der Datei in der folgenden Reihenfolge:

tar --delete -f <Name of tarball> <Names of files>

5. –diff

Der –diff flag findet die Unterschiede zwischen einem Tarball und bestimmten Dateien, die der Benutzer angeben muss. Wie bereits erwähnt, wird tar beispielsweise häufig zum Erstellen von Backups verwendet. Wenn es also einen bestehenden Tarball gibt und Sie überprüfen möchten, ob es Unterschiede zwischen dem aktuellen Status der Dateien und denen gibt, die sich bereits im Tarball befinden, können Sie –diff .

Beispiel:

In diesem Fall wird die Datei test im Tarball test.tar ist leer, aber die außerhalb des Tarballs hat den Inhalt wie gezeigt. Beachten Sie die Unterschiede, die tar demonstriert .

Wie Sie hier sehen können, wird der Fehler zwischen dem leeren test angezeigt und der nicht leere Test ist „Größe unterscheidet sich,“ aber selbst wenn die Größe gleich ist, wird ein Fehler ausgegeben:

Abschließend kann die allgemeine Syntax wie folgt dargestellt werden:

tar --diff -f <Name of tarball> <Names of files to be compared>

6. –aktualisieren

Dieses Flag kann verwendet werden, um eine bestimmte Datei im Tarball zu aktualisieren. Wenn in diesem Befehl eine gleichnamige Datei platziert wird, wird die Datei mit dem neuen Inhalt an das Ende der Datei angehängt, anstatt die alte durch die neueste Version zu ersetzen. Der folgende Screenshot beschreibt dies:

Auch dies kann im Fall von Backups verwendet werden. Die allgemeine Syntax lautet:

tar --update -f <Tarball name> <Names of files to be updated>

Kürzeres Format:

tar uf <Tarball name> <Names of files to be updated>

7. –extrahieren

Dies ist wahrscheinlich das am häufigsten verwendete Flag des tar-Befehls. Es wird verwendet, um Dateien aus einem Tarball zu extrahieren, und da es so verwendet wird, hat es auch viele Konfigurationen. Zur Abwechslung sind die Argumente außer dem Tarball-Namen optional. Falls nicht angegeben, tar entpackt alle Dateien im Tarball. Die Syntax zum Extrahieren bestimmter Dateien lautet also:

tar --extract -f <Tarball name> <File names>

Zum Extrahieren aller Dateien:

tar --extract -f <Tarball name>

Oder ein kürzeres Format:

tar xf <Tarball name> <Optional file names>

Extrahieren von GZip (.tar.gz ) Archiv

tar zxf <Tarball name> <Optional file names>

Extrahieren von XZ (.tar.xz ) tar-Archive

tar xf <Tarball name> <Optional file names>

Extrahieren von bzip2 (.tar.bz2)-Archiven

tar xjf <Tarball name> <Optional file names>

Nachdem wir uns nun mit den Grundlagen befasst haben, können wir auf einige tiefere Funktionen von tar eingehen .

8. Steuerung überschreiben

Es kann vorkommen, dass die Namen einer oder mehrerer Dateien, die aus einem Tarball extrahiert werden, mit den Namen von Dateien übereinstimmen, die bereits im Arbeitsverzeichnis vorhanden sind. Es können einige Maßnahmen ergriffen werden, um zu tun, was Sie wünschen, wenn dies geschieht. Verschiedene Szenarien:

Um die Dateien zu überschreiben

Der erste Fall ist, dass Sie die im Verzeichnis vorhandenen Dateien ersetzen möchten. Um sicherzustellen, dass dies geschieht, geben Sie den Befehl wie folgt ein:

tar --extract -f <Tarball name> <Optional file names> --overwrite

Dateien nicht überschreiben

Dadurch werden die Dateien nicht überschrieben, da die Dateien bereits vorhanden sind. Der Befehl kann folgendermaßen abgesetzt werden:

tar --extract -f <Tarball name> <Optional file names> -keep-old-files

Um nur ältere Dateien zu überschreiben

Dies ist besonders nützlich, da nur die Dateien geschützt werden, die im Vergleich zu den Dateien im Archiv neuer sind. Hier zum Beispiel test2 innerhalb des Archivs enthält Inhalte, die im Vergleich zu test2 geändert wurden im Verzeichnis:

Wie Sie sehen können, steht dort „… ist neuer oder gleich alt ‘ für den Rest der Dateien, aber nicht test2 , was test2 bedeutet wurde ersetzt. Daher ist die Struktur des Befehls:

tar --extract -f <Tarball Name> <Optional file names> --keep-newer-files

9. –remove-files

Dieses Flag kann als Shortcut verwendet werden, um Dateien direkt nach dem Archivieren aus dem Verzeichnis zu entfernen. Es ist ein ziemlich einfacher Befehl, die Syntax folgt:

tar --create -f < Required tarball name> <File names> --remove-files

10. –ausschließen

Das Flag –exclude kann verwendet werden, um bestimmte Dateien von der Archivierung auszuschließen. Das Muster muss vor allem anderen und in Anführungszeichen angegeben werden, wie es im folgenden Befehl verwendet wird:

tar --exclude='PATTERN' --create -f <Tarball name required> <File names>

Beispielverwendung:

11. –to-command=’BEFEHL’

Der tar-Befehl hat seine Eigenschaft, die Ausgabe als Eingabe für einen anderen Befehl zu verwenden, das ist der –to-Befehl Flagge. Zum Beispiel möchte ich die Namen der Dateien aus test2.tar verwenden und ein Verzeichnis mit dem gleichen Namen wie das der Dateien im Archiv erstellen. Dies kann folgendermaßen erfolgen:

tar xf test2.tar --to-command='mkdir $TAR_REALNAME'

Das ist ziemlich fortgeschritten. Das ‘$ ‘ ist notwendig, um auf eine beliebige Systemvariable zu verweisen, während Sie Bash verwenden. Der Name „TAR_REALNAME ‘ ist die Variable, die verwendet wird, um auf den Namen einer einzelnen Datei zu verweisen, während der –to-Befehl verwendet wird Flagge in tar . Es gibt mehrere solcher Variablen, die im man zu finden sind Seiten von tar , sowie auf dieser Webseite.

12. Eigentum an Dateien

Der Besitz von Dateien im Archiv kann auf verschiedene Weise konfiguriert werden. Um zunächst ein Archiv zu erstellen, in dem die Dateien einem bestimmten Eigentümer zugeordnet sind, ist das Flag –owner erforderlich kann verwendet werden. Beispielverwendung:

Wie Sie sehen, entspricht Benutzer 0 und Gruppe 0 dem Benutzer root . Root (wie Sie wahrscheinlich wissen) ist der Oberherr des Systems. Sie können die UID (Benutzer-ID) und GID (Gruppen-ID) anderer Benutzer mithilfe des id-Befehls auf folgende Weise finden:

id <username>

Jetzt extrahieren Sie die Dateien unter Beibehaltung der Besitzer der Datei:

tar xf <Tarball name> --same-owner

13. Komplette Backup-Lösung

Wie ich schon ein paar Mal erwähnt habe, tar ist ein ziemlich gutes Backup-Programm. Ich werde Ihnen von einigen weiteren Flaggen erzählen, die es noch besser machen. Zuallererst gibt es Dinge, die wir beim Erstellen von Backups einschließen/ausschließen möchten. Schließen Sie die Dateien ein, auf die Links (symbolische Links) verweisen. Schließen Sie frühere Sicherungsdateien und VCS-Verzeichnisse aus (meistens nur nützlich für Programmierer). Es ist auch wichtig, sich von den Verzeichnissen fernzuhalten, von denen Sie eine Sicherungskopie erstellen.

Sie befinden sich beispielsweise im /home Verzeichnis, und Sie möchten eine Sicherungskopie des Benutzers testuser. erstellen Der Befehl würde wie folgt aussehen:

sudo tar --exclude-backups --exclude-vcs --dereference --create -f backup.tar ./testuser
  • ‘sudo’ aus zwei Gründen:Erstens, dass Sie Dinge im /home-Verzeichnis tun, was Privilegien erfordert. Zweitens, wenn Symlinks auf Dateien außerhalb der üblichen Privilegien des Benutzers verweisen, führt dies zu einem Fehler.
  • –Backups ausschließen und –exclude-vcs Sicherungs- bzw. VCS-Dateien ausschließen.
  • –dereferenzieren macht tar Folgen Sie den symbolischen Links zu den Daten, auf die sie verweisen.

14. Geänderte Uhrzeit

Es gibt eine Menge Dinge, die mit der Änderungszeit einer Datei gemacht werden können. Um das Änderungsdatum zu ändern, während eine Datei archiviert wird, können wir zunächst –mtime verwenden Flagge. Grundsyntax:

tar --create -f <Required tarball name> <File names> --mtime=YYYY-MM-DD

Als Gegenmittel dazu kann das Flag -m verwendet werden, um das unveränderte, geänderte Datum zu erhalten. Um dies zu verwenden:

tar xf <Tarball name> -m

Nur auf Dateien reagieren, die nach einem bestimmten Datum geändert wurden

Diese Form des Befehls kann verwendet werden, um auf Dateien zu reagieren, die nach einem bestimmten Datum geändert wurden. Der Befehl sieht folgendermaßen aus:

tar xf <Tarball name> --newer-mtime=YYYY-MM-DD

Die Beispielnutzung ist unten gezeigt.

15. Berechtigungen

Schließlich lassen sich bei tar recht gut Berechtigungen konfigurieren Dateien. Es gibt zwei wesentliche Variationen:

Beibehalten der ursprünglichen Berechtigungen

Dies kann verwendet werden, um die Berechtigungen für die Datei, wie im Archiv erwähnt, nach dem Extrahieren beizubehalten. Dies wird durch einen solchen Befehl erreicht:

tar xf <Tarball name> --preserve-permissions

Berechtigung ändern als Standardwert

Zweitens können die Berechtigungen als Standard umask geändert werden Werte. Der Standardwert variiert je nach System. Geben Sie dazu den folgenden Befehl ein:

tar xf <Tarball name> --no-same-permissions

Schlussfolgerung

Der tar-Befehl ist viel mehr als es scheint. Es hat ein breites Anwendungsspektrum, von der Paketierung von Anwendungen über die Erstellung von Backups bis hin zur Speicherung sogar ganzer Betriebssysteme. Wir hoffen, das Tutorial hat Ihnen dabei geholfen, etwas Neues und Spannendes über tar zu lernen . Bei Fragen können Sie gerne den Kommentarbereich verwenden.


Linux
  1. wc Linux-Befehl mit Beispielen

  2. Linux Tee-Befehl mit Beispielen

  3. Linux-Kopfbefehl mit Beispielen

  4. JQ-Befehl in Linux mit Beispielen

  5. tar-Befehlsbeispiele unter Linux

Linux-IP-Befehl mit Beispielen

Tr-Befehl in Linux mit Beispielen

15 Linux-PS-Befehl mit Beispielen

Linux-CD-Befehl mit Beispielen

Linux-Uhrbefehl mit Beispielen

Linux-IP-Befehl mit Beispielen