Aanbevolen, 2024

Editor'S Choice

Maken en bewerken van zip-bestanden in Linux met behulp van de terminal

In een vorig artikel hebben we uitgelegd hoe u het tar-commando gebruikt om archieven te maken. Hoewel tar een veelgebruikt compressieschema is voor Linux, is het lang niet zo populair voor Windows- en Mac OS X-gebruikers, die de meeste van hun archieven zullen vinden die met behulp van de zip-indeling zijn gemaakt.

Het is eenvoudig om Zip-bestanden (om te maken) en Unzip (om uit te breiden) te gebruiken in Linux. In feite werken de meeste GUI-archiefbeheersprogramma's (zoals Ark, File Roller en Xarchiver) als een frontend voor vrijwel elk commandoregelarchiefprogramma dat u op uw computer hebt en Zip is hierop geen uitzondering. Natuurlijk kunnen we ook Zip van de Terminal gebruiken. Hier is hoe.

De eerste stap is, zoals u wellicht vermoedt, om de terminal te openen.

Typ vervolgens " sudo apt-get install zip unzip " (zonder de aanhalingstekens), gewoon om ervoor te zorgen dat zip en unzip zijn geïnstalleerd.

Opmerking: als deze twee programma's al zijn geïnstalleerd, ontvangt u een bericht waarin staat dat dit het geval is, zoals hierboven weergegeven.

Eenmaal geïnstalleerd, kunnen we zip gebruiken om archieven te maken (of bestaande te wijzigen) en unzippen om ze uit te breiden naar hun originelen. Voor dit artikel maken we een nieuwe map op ons bureaublad, genaamd Stuff. In de Terminal kunnen we dit doen met een enkele opdracht - mkdir / home / gebruikersnaam / Desktop / Stuff (u zult natuurlijk "gebruikersnaam" vervangen door uw eigen gebruikersnaam, zoals hieronder getoond, en als u al een Stuff-map hebt op je bureaublad, wil je de naam wijzigen).

Nu we een Stuff-map hebben, gebruiken we de opdracht 'cd' om de Stuff-map onze huidige werkdirectory te maken.

cd / home / gebruikersnaam / Desktop / spullen

Typ nu touch doc1.txt doc2.txt doc3.txt && mkdir-bestanden in uw terminal, waarmee een map met de naam Bestanden wordt gemaakt, evenals drie documenten - doc1.txt, doc2.txt en doc3.txt - in de map Stuff .

Nog een commando, om in de zojuist gemaakte map Files (cd-bestanden) te 'cd', omdat we daar nog wat andere documenten in willen hebben.

cd-bestanden

Ten slotte typt u touch doc4.txt doc5.txt doc6.txt om drie nieuwe documenten te maken.

Typ nu cd ../ .. om het bureaublad terug te zetten in de werkdirectory.

Onze voorlaatste stap voordat een zip-bestand wordt gemaakt, is door een paar "extra" documenten op het bureaublad te maken met dezelfde namen als de bestanden die we zojuist hebben gemaakt. Typ dus doc2.txt doc3.txt om ze aan te maken.

Open ten slotte elk van de twee "extra" tekstbestanden en voeg er tekst aan toe. Het hoeft niets zinvol (of lang) te zijn, alleen maar zodat we kunnen zien dat deze documenten inderdaad verschillen van de documenten die al in de mappen Stuff en bestanden zijn gemaakt.

Zodra dat is gebeurd, kunnen we beginnen met het maken van onze zip-bestanden. De eenvoudigste manier om zip te gebruiken is om het de naam te geven van het zip-archief dat je wilt maken, en vervolgens expliciet een naam te geven aan elk bestand dat erin moet gaan. Dus, ervan uitgaande dat onze werkmap het bureaublad is, typen we zip-test Stuff / doc1.txt Stuff / doc2.txt Stuff / doc3.txt om een ​​archief met de naam test.zip te maken (we hoeven het .zip-bestand niet te gebruiken) "Extensie in de opdracht, zoals deze automatisch wordt toegevoegd), die doc1.txt, doc2.txt en doc3.txt zou bevatten zoals gevonden in de map Stuff.

U zult een beetje output zien, die ons informeert dat drie documenten (doc1.txt, doc2.txt en doc3.txt) aan het archief zijn toegevoegd.

We kunnen dit testen door dubbel te klikken op het archief, dat op ons bureaublad zou moeten staan. Dit zou het moeten openen in het standaard archiefprogramma (Ark in KDE, File Roller in GNOME en Xarchiver in Xfce).

Nu, hoe zit het met de map Bestanden? Ervan uitgaande dat we het willen, voeg de documenten erin toe, ook in ons archief, we kunnen dezelfde opdracht gebruiken als hierboven, maar Stuff / Files / * toevoegen aan het einde van de opdracht.

Het sterretje betekent om alles in de map op te nemen. Dus als er een andere map in de map Bestanden was geweest, zou deze ook zijn toegevoegd. Als die map echter items bevat, worden deze niet opgenomen. Om dat te doen, zouden we -r moeten toevoegen (wat staat voor recursief of recursief).

Opgemerkt moet worden dat de bovenstaande twee commando's niet zijn ontworpen om bestanden aan een zip-archief toe te voegen; ze zijn ontworpen om er een te maken. Omdat het archief echter al bestaat, voegt de opdracht eenvoudig nieuwe bestanden toe aan het bestaande archief. Had dit archief in één keer willen maken (in plaats van de drie stappen die we hebben uitgevoerd om er geleidelijk aan bestanden aan toe te voegen voor educatieve doeleinden), hadden we simpelweg zip -r-test Stuff / * kunnen typen en hetzelfde archief hebben gemaakt.

Je zult merken aan de opdracht en de uitvoer dat de drie bestanden in de map Stuff zijn opgenomen, evenals de drie documenten in de map Bestanden, dus alles is voltooid in een mooie, eenvoudige opdracht.

Hoe zit het met die twee "extra" documenten die we op ons bureaublad hebben gemaakt? Nou, de manier waarop zip werkt, is als je probeert een bestand toe te voegen aan een archief dat al in het archief bestaat, zullen de nieuwe bestanden de oude overschrijven. Omdat de documenten die we op ons bureaublad hebben gemaakt (doc2.txt en doc3.txt) dus inhoud bevatten (we hebben "hallo wereld!" Toegevoegd aan doc2.txt en "yay" aan doc3.txt), zouden we in staat moeten zijn om voeg die documenten toe en test deze vervolgens. Eerst slepen we de twee "extra" documenten naar de map Stuff.

U wordt waarschijnlijk gevraagd of u wilt dat de nieuwe documenten de bestaande overschrijven (dit staat in de map, onthoud, niet het zip-archief), dus laat dit gebeuren.

Nu dit is gebeurd, laten we ze toevoegen aan het archief door zip-test te typen. Stuff / doc2.txt Stuff / doc3.txt

Je zult zien dat de bovenstaande opdracht nu toont dat bestanden worden bijgewerkt in plaats van toegevoegd. Als we nu het archief controleren, merken we dat de bestanden hetzelfde lijken, maar wanneer doc2.txt en doc3.txt worden geopend, ziet u dat ze nu inhoud bevatten, in plaats van dat ze leeg zijn als onze oorspronkelijke bestanden waren.

Soms zie je in Linux dat sommige bestanden verborgen zijn door een punt (".") Toe te voegen aan het begin van de bestandsnaam. Dit komt met name vaak voor bij configuratiebestanden die wel moeten bestaan, maar vaak niet zichtbaar zijn (waardoor het overzichtelijker wordt en het minder waarschijnlijk wordt dat een configuratiebestand per ongeluk wordt verwijderd). We kunnen deze gemakkelijk toevoegen aan een zipbestand. Laten we eerst aannemen dat we een zipbestand willen maken met de naam back-up van elk bestand in een map. We kunnen dit doen door zipbackup * in de terminal te typen.

Hiermee worden alle bestanden en mappen toegevoegd, maar alle items in die map worden niet opgenomen. Om ze toe te voegen, zouden we -r opnieuw toevoegen, zodat zip -r backup * de opdracht zou zijn.

Nu zijn we er bijna. Om recursief mappen, bestanden en verborgen bestanden toe te voegen, is de opdracht eigenlijk heel eenvoudig: zip -r-back-up.

Het uitpakken is nu vrij eenvoudig. Voordat we iets doen, moet je echter doorgaan en de documenten op het bureaublad (doc2.txt en doc3.txt) en de map Stuff verwijderen. Zodra ze zijn verdwenen, typt unzip test.zip de inhoud van ons oorspronkelijke gecomprimeerde archief in je huidige map.

Opmerking: als we de documenten niet hadden verwijderd, zouden we proberen de inhoud van ons zipbestand in een bestaand bestand te unzippen, zodat we zouden worden gevraagd of we elk document wilden vervangen.

En dat is het! Zippen en uitpakken is een vrij algemene taak, en hoewel er zeker GUI-opties beschikbaar zijn, is het oefenen met diezelfde taken van de Terminal ook niet erg moeilijk.

Top