Linux-opdrachten

Zip- en Unzip-opdrachten in Linux

Zip- en Unzip-opdrachten in Linux

Zip is een populaire platformonafhankelijke opdracht die wordt gebruikt voor het comprimeren en archiveren van gegevens. Compressie bespaart ruimte door de grootte van gegevens te verkleinen, terwijl archivering de overdracht van gegevens vergemakkelijkt door meerdere bestanden of mappen in één bestand te combineren. Overweeg, als we 5 bestanden via internet moeten overbrengen, elk met een grootte van 50 megabyte; het één voor één overzetten van alle bestanden kan lang duren. Door de bestanden te comprimeren om de grootte te verkleinen tot 25 MB, en ze vervolgens allemaal in één bestand te archiveren, zullen de bestanden veel sneller worden overgedragen dan wanneer ze niet zijn gecomprimeerd. Zip is het meest gebruikte hulpprogramma voor het archiveren en comprimeren van bestanden, terwijl unzip wordt gebruikt voor het uitpakken en decomprimeren van de gecomprimeerde bestanden.

In dit artikel zullen we kijken naar de zip- en unzip-opdrachten in Linux, samen met hun opdrachtregelopties en voorbeelden.

Vereisten

Opmerking: De opdrachten die in dit artikel worden genoemd, zijn getest op Ubuntu 20.04 LTS (Focal Fossa). Dezelfde commando's zijn ook van toepassing op Debian-distributie.

Zip en Unzip installeren

Standaard zijn zip- en unzip-pakketten geïnstalleerd in Ubuntu-systemen. Als deze ontbreken op uw systeem, kunt u ze eenvoudig installeren. Start de Terminal met behulp van het Ctrl+Alt+T-toetsenbord. Om zip vervolgens te installeren, voert u het volgende uit in Terminal:

$ sudo apt install zip

Voer de onderstaande opdracht uit in Terminal om unzip te installeren:

$ sudo apt install unzip

Er zijn enkele scenario's waarin u mogelijk bestanden moet zippen:

ZIP-opdracht in Linux

Om een ​​zip-bestand te maken, moet u de naam van het gecomprimeerde archief en de bestanden die in de zip moeten worden opgenomen, opgeven.

$ zip-opties zip_file file1 file2…

Zip enkel bestand

Een enkel bestand met de naam . zippen testbestand.tekst; naar een zipbestand met de naam test.zip, het commando zou zijn:

$ zip-test.zip-testbestand.tekst


De bovenstaande opdracht comprimeert het opgegeven bestand in de huidige map terwijl het originele bestand achterblijft.

Om te bevestigen of het zip-bestand is aangemaakt, geef je de opdracht in de Terminal hieronder:

$ ls -l

Meerdere bestanden zippen

Je kunt ook meerdere bestanden zippen met de opdracht zip. Laten we enkele bestanden maken met de naam testbestand1.teksttestbestand2.teksttestbestand3.tekst, en testbestand4.tekst met behulp van de volgende opdracht in de Terminal:

$ sudo touch testbestand1.txt-testbestand2.txt-testbestand3.txt-testbestand4.tekst

Om deze bestanden nu in een enkel bestand te zippen, genaamd bestanden.zip, geef de volgende opdracht in de Terminal:

$ zip-bestanden.zip-testbestand1.txt-testbestand2.txt-testbestand3.txt-testbestand4.tekst

U kunt het jokerteken ook gebruiken om meerdere bestanden met dezelfde extensie op te geven. Om bijvoorbeeld alle bestanden te zippen die eindigen op .txt-extensie in een zipbestand, genaamd files1.zip, geef het volgende commando in de Terminal:

$ zip-bestanden1.zip *.tekst

Zip een bestand naar een andere map

Als u een bestand naar een andere map dan de huidige map moet zippen, gebruikt u de volgende syntaxis:

$ zip /pad/naar/map.zip_file bestandsnaam

Om bijvoorbeeld te zip testbestand.tekst bestand naar Documents/docs/ directory met de naam als test.zip, het commando zou zijn:

$ zip Documenten/docs/test.zip-testbestand.tekst

Bestand toevoegen aan een bestaande zip

U kunt ook een bestand toevoegen aan een reeds bestaand zipbestand. Gebruik hiervoor de volgende syntaxis:

$ zip -u zip_file bestandsnaam

Laten we zeggen dat je een zip-bestand hebt (bestanden1.zip), en u wilt nog een bestand opnemen (testbestand4.tekst) daarin zou de opdracht in dit geval zijn:

$ zip -u bestanden1.zip-testbestand4.tekst

Een bestand uit een zipbestand verwijderen

Op dezelfde manier kunt u ook een bestand verwijderen uit een reeds bestaand zipbestand. Gebruik hiervoor de volgende syntaxis:

$ zip -d zip_file bestandsnaam

Laten we zeggen dat je een zip-bestand hebt (bestanden1.zip), en u wilt een bestand verwijderen (testbestand1.tekst) vanuit zou de opdracht in dit geval zijn:

$ zip -d bestanden1.zip-testbestand1.tekst

Zip-bestanden in stille modus

Als u de uitvoer van het zip-commando niet wilt weergeven, gebruikt u als volgt de optie -q (stil) met het zip-commando:

$ zip -q zip_file bestandsnaam

Bijvoorbeeld tijdens het zippen van testbestand.txt, kunt u de uitvoer onderdrukken met het volgende commando:

$ zip -q test.zip-testbestand.tekst

In de volgende schermafbeelding ziet u de uitvoer van de zip-opdracht die niet is weergegeven op de Terminal.

Originele bestanden verwijderen na zippen

Standaard bewaart zip het originele bestand samen met het gecomprimeerde bestand. Echter, met behulp van de -m optie met het zip-commando, u kunt de originele bestanden verwijderen nadat u hun gecomprimeerde bestand hebt gemaakt.

$ zip -m zip_file bestandsnaam

De volgende opdracht verwijdert bijvoorbeeld de testbestand.tekst na het maken van het gecomprimeerde bestand, test.zip.

$ zip -m test.zip-testbestand.tekst

Zip-mappen

Om mappen in uw Linux-systeem te zippen, gebruikt u de -r (recursieve) optie met het zip-commando. De -r optie zal de mappen recursief zippen, i.e., inclusief inhoud van submappen.

$ zip -r zip_file directorynaam

Om bijvoorbeeld de . te zippen Documenten map recursief naar de test.zip bestand, zou de opdracht zijn:

$ zip -r test.zip-documenten/

Met deze opdracht wordt de map Documenten gecomprimeerd, samen met alle submappen en de bestanden die erin zijn opgenomen.

Het compressieniveau instellen

U kunt ook het compressieniveau instellen dat moet worden toegepast op de bestanden die worden gecomprimeerd. Het compressieniveau varieert van 0 tot 9, waarbij 6 de standaardwaarde is, 0 de laagste waarde en 9 de hoogste compressiewaarde.

Om bijvoorbeeld alle tekstbestanden te zippen naar bestanden1.zip met de hoogste compressiewaarde zou de opdracht zijn:

$ zip -9 bestanden1.zip *.tekst


Evenzo, om alle tekstbestanden te zippen naar: bestanden2.zip de laagste compressiewaarde gebruiken -0, het commando zou zijn:

$ zip -0 bestanden2.zip *.tekst


Het volgende is de uitvoer van de ls commando na het maken van de zip-bestanden. Als we de grootte van beide zip-bestanden vergelijken, kunt u bestanden zien1.zip, dat is gecomprimeerd met compressieniveau 9, heeft minder grootte in vergelijking met bestanden.zip, die is gecomprimeerd met compressieniveau 0.

Maak een met een wachtwoord beveiligd zip-bestand

U kunt ook met een wachtwoord beveiligde zip-bestanden maken met de -e optie met het zip-commando als volgt:

$ zip -e zip_file bestandsnaam

De volgende opdracht zal bijvoorbeeld alle tekstbestanden inpakken: bestanden3.zip, vraag dan om een ​​wachtwoord. Stel een wachtwoord in en druk op Enter. Verifieer vervolgens dit wachtwoord door het opnieuw te typen en op Enter te drukken.

$ zip -e bestanden3.zip *.tekst

Wachtwoorden toevoegen aan zip-bestanden met de zipcloak

In het vorige voorbeeld hebben we een met een wachtwoord beveiligd zipbestand gemaakt. Maar wat als u een zip-bestand hebt gemaakt en bent vergeten het wachtwoord in te stellen?. Met de opdracht zipcloak kunt u op elk moment een wachtwoord voor een zipbestand instellen.

$ zipcloak zip_file

Om bijvoorbeeld een wachtwoord in te stellen voor een reeds gemaakt zipbestand met de naam bestanden.zip, het commando zou zijn:

$ zipcloak-bestanden.zip

Er wordt om een ​​wachtwoord gevraagd. Typ een wachtwoord en druk op password Enter. Verifieer vervolgens dit wachtwoord door het opnieuw te typen en op te drukken Enter.

Bekijk bestandsdetails met de opdracht zipdetails

De opdracht Zipdetails toont gedetailleerde informatie over het gecomprimeerde bestand. De informatie die wordt weergegeven, gaat over de recordstructuur in plaats van over de gecomprimeerde gegevens. Voor gedetailleerde informatie over het gezipte bestand typt u zipdetails gevolgd door de naam van het gezipte bestand, zoals hieronder weergegeven:

$ zipdetails zip_file

Om bijvoorbeeld gedetailleerde informatie over een gecomprimeerd bestand te vinden, test.zip, het commando zou zijn:

$ zipdetails-test.zip

In de uitvoer ziet u veel informatie over uw gecomprimeerde bestand.

Zoek in het bestand met de opdracht zipgrep

Met de opdracht zipgrep kunnen we zoeken naar een bepaalde tekst in bestanden in het gecomprimeerde bestand zonder het uit te pakken. Als een zipbestand met een wachtwoord is beveiligd, moet u eerst het wachtwoord ervoor invoeren enter. Gebruik de volgende syntaxis om naar tekst in het zipbestand te zoeken:

$ zipgrep-uitdrukking zip_file

Om bijvoorbeeld te zoeken naar welke bestanden in het zipbestand test.zip bevat het woord poort, het commando zou zijn:

$ zipgrep gateway-test.zip

De uitvoer is als volgt:. U kunt twee bestanden zien iplijst.tekst en iplijst binnen in de test.zip bevat het woord gateway.


Om te zoeken naar een tekst uit een specifiek bestand in het zipbestand, kunt u deze ook toevoegen:

$ zipgrep expressie zip_file bestandsnaam

Het volgende commando zoekt bijvoorbeeld naar het woord poort van alleen een specifiek bestand iplijst in het zip-bestand test.zip:

$ zipgrep gateway-test.zip Document/docs/iplist

Bekijk informatie met de opdracht zipinfo

De opdracht zipinfo in Linux geeft een overzicht van de bestanden in een zipbestand, samen met hun machtigingen, compressietype, oorspronkelijke grootte, datum en tijdstempel. Als u informatie over een specifiek zipbestand wilt bekijken, typt u zipinfo gevolgd door de bestandsnaam, zoals hieronder weergegeven:

$ zipinfo bestandsnaam

De volgende opdracht geeft informatie over het zipbestand weer: bestanden1.zip:

$ zipinfo-bestanden1.zip

Splits het bestand met de opdracht zipsplit

Soms is de grootte van het zip-bestand te groot dat u het niet kunt uploaden of als bijlage kunt verzenden vanwege de groottebeperkingen. Met de opdracht zipsplit kun je de zip-bestanden opsplitsen in kleinere bestanden die gemakkelijker over te zetten zijn. Om een ​​zip-bestand te splitsen in kleinere bestanden, met een maximale grootte dan , de syntaxis zou zijn:

$ zipsplit -n Zip bestand

De  is de maximale grootte voor de gesplitste bestanden.

Het onderstaande commando zal bijvoorbeeld splitsen test.zip in kleinere bestanden met een grootte van niet meer dan 104857600 bytes (104 MB).

$ zipsplit -n 104857600 test.zip

Hier is de uitvoer van de bovenstaande opdracht:. De test.zip bestand wordt opgesplitst in drie bestanden, die achtereenvolgens worden genoemd als test1.ziptest2.zip, en test3.zip, respectievelijk.

Als u de ls commando, ziet u alle drie de gesplitste zip-bestanden, samen met het originele zip-bestand.

Opmerkingen toevoegen of bekijken in een zipbestand met zipnote

Met de opdracht zipnote kunt u de opmerkingen in uw zipbestand toevoegen, bekijken en bewerken. Gebruik de volgende opdracht om opmerkingen te bekijken:

$ zipnote zip_file

Vervang de zip het dossier met uw werkelijke zip-bestandsnaam.

Als er geen opmerkingen zijn, ziet u de volgende standaardweergave:


Om opmerkingen toe te voegen, moet u eerst de uitvoer van . omleiden zipnote naar het opmerkingenbestand. Gebruik hiervoor de volgende opdracht:

$ zipnote zip_file > opmerkingen

Om bijvoorbeeld opmerkingen toe te voegen aan bestanden1.zip, het commando zou zijn:

$ zipnote-bestanden1.zip > opmerkingen

Bewerk nu de opmerkingen bestand met de volgende opdracht:

$ sudo nano reacties

Voeg voor elk bestand uw opmerkingen toe boven de regels die zeggen: @ (commentaar boven deze regel),sla het bestand op en sluit het af. We hebben twee opmerkingen toegevoegd aan het opmerkingenbestand, zoals te zien is in de onderstaande schermafbeelding.


Schrijf nu de opmerkingen naar uw zip-bestand met de volgende opdracht:

$ zipnote -w zip_file < comments

In ons geval zou het commando zijn;

$ zipnote -w bestanden1.zip < comments

Nu kunt u controleren of de opmerkingen zijn toegevoegd door de volgende opdracht in Terminal uit te voeren:

$ zipnote zip_file

Help bekijken

Gebruik de volgende opdracht om hulp te zien met betrekking tot de zip-opdracht:

$ zip --help

U kunt ook de man-pagina van het zip-hulpprogramma bezoeken met de volgende opdracht:

$ man zip

Opdracht uitpakken in Linux

Met de unzip-opdracht kunt u eenvoudig inhoud uit een zipbestand extraheren. Gebruik de volgende syntaxis om een ​​bestand uit te pakken:

$ unzip-opties zip_file

Enkele zip-bestanden uitpakken

Laten we zeggen test . om één zipbestand uit te pakken.zip, zou het commando zijn:

$ unzip-test.zip

Het zal het bestand in de huidige map uitpakken.

Pak een bestand uit naar een andere map

U kunt een bestand ook uitpakken naar een andere map in plaats van de huidige map met de optie -d als volgt:

$ unzip zip_file -d /path/to/directory

Een zipbestand uitpakken, test.zip naar Documenten, directory, zou het commando zijn:

$ unzip-test.zip -d Documenten/

Meerdere bestanden uitpakken

Bedenk dat er meerdere zip-bestanden in een huidige map zijn die u wilt uitpakken. U kunt ze allemaal als volgt uitpakken met een enkele opdracht:

$ uitpakken '*.zip'

Deze opdracht zal alle zip-bestanden uitpakken die zich in uw huidige map bevinden.

Uitvoer onderdrukken bij gebruik van unzip

Net als bij het zip-commando, kunt u de uitvoer van het unzip-commando ook verbergen met de -q optie als volgt:

$ unzip -q zip_file

Sluit bestanden uit met unzip

Als u een zip-bestand wilt uitpakken maar niet een specifiek bestand wilt uitpakken, gebruikt u de -X optie hieronder:

$ unzip zip_file -x bestandsnaam

We hebben bijvoorbeeld een zip bestandstest.zip met daarin drie bestanden. De volgende opdracht zal alle bestanden uitpakken behalve het ene bestand: verslag doen van.tekst:

$ unzip-test.zip -x rapport.tekst

Met wachtwoord beveiligde zip-bestanden uitpakken

Om een ​​met een wachtwoord beveiligd zip-bestand uit te pakken zonder te vragen, gebruik je -P optie, gevolgd door het wachtwoord voor het bestand:

$ uitpakken -P Zip bestand

We hebben bijvoorbeeld een zip-bestand, test.zip, die wordt beschermd door het wachtwoord “blik”. Om dit bestand uit te pakken, zou de opdracht zijn:

$ unzip -P tin test.zip

Zip-bestanden overschrijven

Als u een bestand uitpakt naar een locatie waar de uitgepakte bestanden al bestonden, wordt u gevraagd om: het huidige bestand te overschrijven, het uitpakken van het huidige bestand over te slaan, alle bestanden te overschrijven, het uitpakken van alle bestanden over te slaan of de naam van het bestand te wijzigen.


Om alle bestaande bestanden te overschrijven zonder te vragen, gebruik je de -O optie als volgt:

$ unzip -o zip_file

Lijst van de inhoud van een zip

De ... gebruiken -ik optie met het unzip-commando, kunt u de inhoud van een zipbestand weergeven zonder het uit te pakken.

$ unzip -l zip_file

Voorbeeld:

$ unzip -l test.zip

Het volgende is de uitvoer van de bovenstaande opdracht die de bestanden in het zipbestand weergeeft: test.zip, samen met hun namen, oorspronkelijke bestandsgrootte, datum en tijdstempels.

Uitgebreide informatie bekijken

Als u uitgebreide informatie wilt bekijken zonder het zipbestand uit te pakken, gebruikt u de optie -v als volgt:

$ unzip -v zip_file

Voorbeeld:

$ unzip -v test.zip

Het volgende is de uitvoer van de bovenstaande opdracht die de bestanden vermeldt die zich in de test.zip, samen met hun namen, oorspronkelijke bestandsgrootte, gecomprimeerde grootte, compressiemethode, compressieverhouding, datum en tijdstempels.

Controleren op fouten in een archief

Met de optie -t in het unzip-commando kun je controleren of een zip-bestand geldig is en geen fouten bevat.

$ unzip -t test1.zip

Voorbeeld:

$ unzip -t test1.zip

De bovenstaande opdracht controleert op fouten in de test1.zip bestand en geeft resultaten weer. De volgende uitvoer laat zien dat er geen fout is in het gecomprimeerde bestand:.

Help bekijken

Gebruik de volgende opdracht om hulp te zien met betrekking tot de opdracht unzip:

$ uitpakken --help

U kunt ook de man-pagina van het unzip-hulpprogramma bezoeken met de volgende opdracht:

$ man uitpakken

Conclusie

Dat is alles wat u moet weten om zip- en unzip-commando's in Linux onder de knie te krijgen. In dit artikel hebben we het gebruik van zip- en unzip-opdrachten in Linux in detail besproken, samen met verschillende opdrachtregelopties en voorbeelden.

Strijd om Wesnoth 1.13.6 Ontwikkeling vrijgegeven
Strijd om Wesnoth 1.13.6 die vorige maand werd uitgebracht, is de zesde ontwikkelingsrelease in de 1.13.x-serie en het levert een aantal verbeteringen...
Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...