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

Komprimieren und Archivieren von Dateien und Verzeichnissen

Einführung Linux-Archivierung und -Komprimierung

Archivierung ist der Vorgang des Kombinierens mehrerer Dateien und Verzeichnisse (gleicher oder unterschiedlicher Größe) in einer Datei. an zweiter Stelle Komprimierung ist der Prozess der Reduzierung der Größe einer Datei oder eines Verzeichnisses.

Ich hoffe, Sie verstehen den Unterschied zwischen Archivierung und Komprimierung. Kommen wir also zum Thema.

Archive und Verzeichnisse

Die gebräuchlichsten Programme zum Archivieren von Dateien und Verzeichnissen sind:

  1. Zip
  2. bZip2
  3. Tar

ZIP-Befehl unter Linux mit Beispielen

ZIP ist ein Komprimierungs- und Dateiverpackungsprogramm für Unix. Außerdem wird jede Datei in einer einzelnen.zip-Datei {.zip-Dateiname} mit der Erweiterung .zip gespeichert .

  • Das Zip-Programm legt eine oder mehrere komprimierte Dateien zusammen mit Informationen über die Dateien (Name, Pfad, Datum und Uhrzeit der letzten Änderung, Schutz und Prüfinformationen zur Überprüfung der Dateiintegrität) in einem einzigen Zip-Archiv ab Verzeichnisstruktur kann mit einem einzigen Befehl in ein Zip-Archiv gepackt werden.
  • Komprimierungsverhältnisse von 2:1 bis 3:1 sind für Textdateien üblich. zip hat eine Komprimierungsmethode (Deflation) und kann Dateien auch ohne Komprimierung speichern. Zusätzlich wählt zip für jede zu komprimierende Datei automatisch das bessere der beiden aus.
    Das Programm ist nicht nur nützlich, um eine Reihe von Dateien für die Verteilung zu packen, sondern auch zum Archivieren von Dateien und zum Sparen von Speicherplatz durch vorübergehendes Komprimieren unbenutzter Dateien oder Verzeichnisse.

Syntax:

zip [options] zipfile files_list

Syntax für ZIP-Datei erstellen:

zip myfile.zip filename.txt

Dateien aus ZIP-Datei extrahieren

Tatsächlich listet, testet oder extrahiert Unzip Dateien aus einem ZIP-Archiv, das häufig auf Unix-Systemen zu finden ist. Das Standardverhalten (ohne Optionen) besteht darin, alle Dateien aus dem angegebenen in das aktuelle Verzeichnis (und Unterverzeichnisse darunter) zu extrahieren ZIP-Archiv.

 unzip myfile.zip 

Optionen :
1. -d-Option:

Entfernt die Datei aus dem Zip-Archiv. Nachdem Sie eine ZIP-Datei erstellt haben, können Sie eine Datei mit der Option -d aus dem Archiv entfernen.
Nehmen Sie also die folgenden Dateien im aktuellen Verzeichnis an:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c
unixcop5.c
unixcop6.c
unixcop7.c
unixcop8.c

Syntax:

zip –d filename.zip file.txt
Command :
zip –d myfile.zip unixcop7.c

Nach dem Entfernen von unixcop7.c aus der Datei myfile.zip können die Dateien auch mit dem Befehl unzip wiederhergestellt werden.

unzip myfile.zip
 ls

2.-u Option:

Aktualisiert die Datei im ZIP-Archiv. Diese Option kann auch verwendet werden, um die angegebene Dateiliste zu aktualisieren oder der vorhandenen ZIP-Datei neue Dateien hinzuzufügen.


Syntax:

zip –u filename.zip file.txt


Angenommen, wir haben diese Dateien in meinem aktuellen Verzeichnis, die unten aufgeführt sind:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –u myfile.zip unixcop5.c

Nach dem Aktualisieren von unixcop5.c aus der Datei myfile.zip können die Dateien auch mit dem Befehl unzip wiederhergestellt werden.

Commands:
unzip myfile.zip
ls 
3. -m Option:

Löscht die Originaldateien nach dem Komprimieren und Sie können die angegebenen Dateien auch tatsächlich in das Zip-Archiv verschieben, dies löscht die Zielverzeichnisse/Dateien nach dem Erstellen des angegebenen Zip-Archivs. Wenn ein Verzeichnis nach dem Entfernen der Dateien leer wird, wird das Verzeichnis ebenfalls entfernt.


Syntax:

zip –m filename.zip file.txt


Wir haben folgende Dateien in meinem aktuellen Verzeichnis, die unten aufgeführt sind:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –m myfile.zip *.c

Als Ergebnis wurde dieser Befehl vom Terminal ausgeführt:

ls 

4.-r Option:

Um ein Verzeichnis rekursiv zu komprimieren, verwenden Sie die Option -r mit dem Befehl zip und es werden die Dateien in einem Verzeichnis rekursiv komprimiert. Diese Option kann Ihnen auch dabei helfen, alle Dateien zu komprimieren, die in dem angegebenen Verzeichnis vorhanden sind.

Syntax:

zip –r filename.zip directory_name

Wir haben auch die Dateien in meinem aktuellen Verzeichnis (docs) sind unten aufgeführt:
unix.pdf
orakel.pdf
linux.pdf

zip –r mydir.zip docs

5. -x-Option:

Ebenso wichtig ist es, die Dateien beim Erstellen der Zip-Datei auszuschließen. Angenommen, Sie packen alle Dateien im aktuellen Verzeichnis und möchten einige unerwünschte Dateien ausschließen. Sie können diese unerwünschten Dateien auch mit der Option -x ausschließen.

Syntax:

zip –x filename.zip file_to_be_excluded


Angenommen, die Dateien im aktuellen Verzeichnis sind unten aufgeführt:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

Command :
zip –x myfile.zip unixcop3.c

Dieser Befehl komprimiert bei Ausführung alle Dateien außer der unixcop3.c-Datei

Command:
ls 
Output :
myfile.zip //compressed file
unixcop3.c   //this file has been excluded while compressing
6.-v Option:

Ausführlicher Modus oder Ausgabe von diagnostischen Versionsinformationen. Normalerweise aktiviert diese Option, wenn sie auf reale Vorgänge angewendet wird, die Anzeige einer Fortschrittsanzeige während der Komprimierung und fordert ausführliche Diagnoseinformationen über Merkwürdigkeiten der Zip-Dateistruktur an.


Wenn -v das einzige Befehlszeilenargument ist und entweder stdin oder stdout nicht in eine Datei umgeleitet wird, wird ein Diagnosebildschirm gedruckt. Neben der Kopfzeile des Hilfebildschirms mit Programmname, Version und Veröffentlichungsdatum werden einige Hinweise auf die Info-ZIP-Homepage und -Vertriebsseiten gegeben. Dann zeigt es Informationen über die Zielumgebung (Compilertyp und -version, Betriebssystemversion, Kompilierungsdatum und die aktivierten optionalen Funktionen, die zum Erstellen der ausführbaren ZIP-Datei verwendet werden.

Syntax:

zip –v filename.zip file1.txt


Wie unten aufgeführt:
unixcop1.c
unixcop2.c
unixcop3.c
unixcop4.c

zip -v file1.zip *.c


bzip2-Befehl unter Linux mit Beispielen

bzip2 Befehl in Linux, der zum Komprimieren und Dekomprimieren der Dateien verwendet wird, dh er hilft beim Binden der Dateien in eine einzelne Datei, die weniger Speicherplatz benötigt als die ursprüngliche Datei. Außerdem hat es eine langsamere Dekomprimierungszeit und eine höhere Speichernutzung. Darüber hinaus kann es auch den Burrows-Wheeler-Blocksortierungs-Textkomprimierungsalgorithmus und die Huffman-Codierung verwenden. Jede Datei wird durch eine komprimierte Version ihrer selbst ersetzt, wobei der Name des ursprünglichen Namens der Datei von der Erweiterung bz2 gefolgt wird.

Syntax zum Komprimieren:

bzip2 [OPTIONS] filenames ...

Syntax des Entpackens :

 bunzip2 [OPTIONS] filenames ...

Optionen:

  1. -z Option : Diese Option erzwingt eine Komprimierung.
bzip2 -z input.txt

Beispiel:

  • Hinweis: Diese Option löscht auch die Originaldatei.

  • 2. -k-Option: Diese Option führt eine Komprimierung durch, löscht jedoch nicht die Originaldatei.
 bzip2 -k input.txt

Beispiel:

3. -d-Option:

folglich wird diese Option zur Dekomprimierung komprimierter Dateien verwendet.

 bzip2 -d input.txt.bz2

Beispiel:

4. -t Option:

Diese Option führt die Integritätsprüfung der Datei durch und dekomprimiert die Datei nicht. Es kann uns auch den Eindruck vermitteln, dass die Datei beschädigt ist oder nicht.

 bzip2 -t input.txt.bz2

Beispiel:

5.-v Option: Der ausführliche Modus zeigt das Komprimierungsverhältnis für jede verarbeitete Datei an.

 bzip2 -v input.txt
Beispiel:
  • -h –help : Um die Hilfemeldung anzuzeigen und zu beenden.
  • -L –Lizenz -V –Version :Es wird verwendet, um die Softwareversion, Lizenzbedingungen und Bedingungen anzuzeigen.
  • -q –leise :Unwesentliche Warnmeldungen werden unterdrückt. Meldungen zu E/A-Fehlern und anderen kritischen Ereignissen werden ebenfalls nicht unterdrückt.
  • -f –force :Es wird das Überschreiben von Ausgabedateien erzwingen.

tar-Befehl unter Linux mit Beispielen

Das Linux-Tar steht für Bandarchiv, das zum Erstellen von Archiven und zum Extrahieren der Archivdateien verwendet wird. Der Befehl tar in Linux ist einer der wichtigsten Befehle, der Archivierungsfunktionen in Linux bereitstellt. Wir können den Linux-Tar-Befehl verwenden, um komprimierte oder unkomprimierte Archivdateien zu erstellen und sie auch zu verwalten und zu ändern.

Syntax:

tar [options] [archive-file] [file or directory to be archived]

Optionen:


-c : Archiv erstellt
-x : Extrahieren Sie das Archiv
-f : Erstellt ein Archiv mit dem angegebenen Dateinamen
-t : zeigt Dateien in archivierten Dateien an oder listet sie auf
-u : archiviert und zu einer bestehenden Archivdatei hinzufügt
-v : Zeigt ausführliche Informationen an
-A : Verkettet die Archivdateien
-z : zip, teilt dem tar-Befehl mit, dass eine tar-Datei mit gzip erstellt wird
-j : Archiv-Tar-Datei mit tbzip filtern
-W : Überprüfen Sie eine Archivdatei
-r : Datei oder Verzeichnis in bereits existierender .tar-Datei aktualisieren oder hinzufügen

Was ist eine Archivdatei?


Eine Archivdatei ist eine Datei, die aus einer oder mehreren Dateien zusammen mit Metadaten besteht. Archivdateien werden verwendet, um mehrere Datendateien in einer einzigen Datei zusammenzufassen, um sie leichter zu transportieren und zu speichern, also einfach Dateien zu komprimieren, um weniger Speicherplatz zu verbrauchen.

Beispiele:


1. Erstellen eines unkomprimierten tar-Archivs mit der Option -cvf :

Dieser Befehl erstellt eine tar-Datei namens file.tar, die das Archiv aller .c-Dateien im aktuellen Verzeichnis ist.

 tar cvf file.tar *.c

2. Extrahieren von Dateien aus dem Archiv mit der Option -xvf :

Dieser Befehl extrahiert Dateien aus Archiven.

 tar xvf file.tar

3. gzip-Komprimierung im tar-Archiv mit der Option -z :

Dieser Befehl erstellt eine Tar-Datei namens file.tar.gz, die das Archiv der .c-Dateien ist.

 tar cvzf file.tar.gz *.c

4. Extrahieren eines gzip-tar-Archivs *.tar.gz mit der Option -xvzf : Dieser Befehl extrahiert auch Dateien aus tar-archivierten file.tar.gz-Dateien.

 tar xvzf file.tar.gz

5. Erstellen einer komprimierten TAR-Archivdatei unter Linux mit der Option -j :

Dieser Befehl komprimiert und erstellt eine Archivdatei, die kleiner als die Größe von gzip ist. Sowohl das Komprimieren als auch das Dekomprimieren dauert länger als gzip .

 tar cvfj file.tar.tbz example.cpp

6. Einzelne Tar-Datei oder angegebenes Verzeichnis unter Linux entpacken: Dieser Befehl entpackt eine Datei im aktuellen Verzeichnis zusätzlich zu einem angegebenen Verzeichnis mit der Option -C.

 tar xvfj file.tar 
or 
 tar xvfj file.tar -C path of file in directoy 

7. Entpacken Sie mehrere .tar-, .tar.gz-, .tar.tbz-Dateien unter Linux

Dieser Befehl extrahiert oder entpackt mehrere Dateien aus den Archivdateien tar, tar.gz und tar.bz2. So extrahiert beispielsweise der obige Befehl „DateiA“ „DateiB“ aus den Archivdateien.

 tar xvf file.tar "fileA" "fileB" 
or 
 tar zxvf file1.tar.gz "fileA" "fileB"
or 
 tar jxvf file2.tar.tbz "fileA" "fileB"

8. Überprüfen Sie die Größe vorhandener tar-, tar.gz- und tar.tbz-Dateien unter Linux

Dieser Befehl zeigt die Größe der Archivdatei in Kilobyte (KB) an.

 tar czf file.tar | wc -c
or 
 tar czf file.tar.gz | wc -c
or 
 tar czf file.tar.tbz | wc -c

9. Vorhandene tar-Datei unter Linux aktualisieren

 tar rvf file.tar *.c

10. Listen Sie den Inhalt auf und geben Sie die Tar-Datei mit der Option -tf an

Dieser Befehl listet die gesamte Liste der archivierten Dateien auf. Wir können sogar bestimmte Inhalte in einer Tar-Datei auflisten

 tar tf file.tar

11. Anwenden von Pipe auf den grep-Befehl’, um zu finden, wonach wir suchen

Dieser Befehl listet nur den erwähnten Text oder das erwähnte Bild in grep aus der archivierten Datei auf.

 tar tvf file.tar | grep "text to find" 
or
 tar tvf file.tar | grep "filename.file extension"
Example:
tar tvf file.tar | grep "unixcop1"

12. Wir können einen Dateinamen als Argument übergeben, um eine Tar-Datei zu durchsuchen

Dieser Befehl zeigt die archivierten Dateien zusammen mit ihren Details an.

 tar tvf file.tar filename
Example:
 tar tvf file.tar unixcop1.c

13. Anzeigen des Archivs mit der Option -tvf

 tar tvf file.tar

Was sind Platzhalter in Linux


Entsprechend als „Platzhalterzeichen“ oder „Platzhalterzeichen“ bezeichnet, ist ein Platzhalter ein Symbol, das verwendet wird, um ein oder mehrere Zeichen zu ersetzen oder darzustellen. Platzhalter sind normalerweise entweder ein Sternchen (*) , das ein oder mehrere Zeichen oder ein Fragezeichen (?) darstellt , was ein einzelnes Zeichen darstellt.

Beispiel:

14. So suchen Sie nach einem Bild im PNG-Format

Dadurch werden nur Dateien mit der Erweiterung .png aus der Archivdatei.tar extrahiert. Die Wildcard-Option weist tar auch an, Wildcards im Namen der zu extrahierenden Dateien zu interpretieren, außer dass der Dateiname (*.png) in einfache Anführungszeichen gesetzt wird, um den Wildcard (*) vor einer falschen Erweiterung durch die Shell zu schützen.

 tar tvf file.tar --wildcards '*.png' 

Hinweis: In den obigen Befehlen wird „*“ anstelle des Dateinamens verwendet, um alle Dateien zu übernehmen, die in diesem bestimmten Verzeichnis vorhanden sind.


Linux
  1. So komprimieren Sie Dateien und Verzeichnisse unter Linux (mit Beispielen)

  2. Finden Sie Dateien und Verzeichnisse in Linux wie ein Profi

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

  4. Finden Sie die größten Dateien und Verzeichnisse in Linux

  5. Festlegen unterschiedlicher ACLs für Verzeichnisse und Dateien

So komprimieren und entpacken Sie Dateien unter Ubuntu

So synchronisieren Sie Dateien und Verzeichnisse mit Zaloha.sh

3 Möglichkeiten, Dateien und Verzeichnisse in Linux zu finden

Sparen Sie Platz, indem Sie Dateien und Ordner unter Linux komprimieren

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

Standarddateien und -verzeichnisse in cPanel