Hoe te zippen of Unzippen van Bestanden Van de Linux Terminal
- Dave McKay
@TheGurkha
- Bijgewerkt op 28 Mei 2019, 5:15 uur EDT
ZIP-bestanden zijn een universeel archief algemeen gebruikt op Windows, macOS, en zelfs Linux-systemen. U kunt een zip-archief maken of bestanden uitpakken van één met een aantal gangbare Linux terminal commando ‘ s.
het zip-gecomprimeerde Archiefbestandsformaat
dankzij de dominantie van het ZIP-formaat in het Windows-rijk zijn ZIP-bestanden waarschijnlijk de meest voorkomende vorm van gecomprimeerd archief in de wereld.
terwijl .teer.gz-en Tar.bz2-bestanden zijn gebruikelijk op Linux, Windows-gebruikers sturen u waarschijnlijk een archief in ZIP-formaat. En als u een aantal bestanden wilt archiveren en naar een Windows-gebruiker wilt verzenden, is het ZIP-formaat de gemakkelijkste, meest compatibele oplossing voor iedereen.
gerelateerd: hoe bestanden uit een .teer.gz or .teer.bz2-bestand op Linux
zip, unzip en Andere hulpprogramma ‘ s
u weet misschien al dat Linux en Unix-achtige besturingssystemen zoals macOS hulpmiddelen hebben waarmee u ZIP-bestanden kunt maken en bestanden daaruit kunt extraheren, genaamd zip
en unzip
. Maar er is een hele familie van gerelateerde hulpprogramma ‘ s zoals zipcloak
zipdetails
zipsplit
, en zipinfo
.
we hebben een aantal Linux distributies gecontroleerd om te zien of ze deze hulpprogramma ‘ s in de standaard installatie hebben opgenomen. Alle hulpprogramma ‘ s waren aanwezig in Ubuntu 19.04, 18.10 en 18.04. Ze waren ook aanwezig in Manjaro 18.04. Fedora 29 bevatte zip
en unzip
, maar geen van de Andere hulpprogramma ‘ s en dat was ook het geval voor CentOS.
om de ontbrekende elementen op Fedora 29 te installeren, gebruik je het volgende commando:
sudo dnf install perl-IO-Compress
Om het installeren van de ontbrekende elementen op CentOS 7, gebruik je het volgende commando:
sudo yum install perl-IO-Compress
Als een van de zip-hulpprogramma ‘ s ontbreken van een Linux-distributie die niet hierboven vermeld, is het gebruik dat van uw Linux-distributie is de package beheer tool te installeren pakket.
hoe een ZIP-bestand te maken met het zip-Commando
om een ZIP-bestand te maken, moet u zip
de naam van het archiefbestand vertellen en welke bestanden erin moeten worden opgenomen. Je hoeft de “niet toe te voegen.zip ” uitbreiding van de Archiefnaam, maar het doet geen kwaad als je dat doet.
om een bestand met de naam source_code.zip
aan te maken dat alle C-broncodebestanden en headerbestanden in de huidige map bevat, gebruikt u dit commando:
zip source_code *.c *.h
elk bestand wordt weergegeven als het is toegevoegd. De naam van het bestand en de hoeveelheid compressie die werd bereikt op dat bestand wordt weergegeven.
Als u naar het nieuwe ZIP-archief kijkt, kunt u zien dat de”.zip “bestandsextensie is automatisch toegevoegd door zip
.
ls -l source_code.zip
Als u de uitvoer van zip
wilt zien als het ZIP-bestand wordt aangemaakt, gebruik dan de optie -q
(quiet).
zip -q source_code *.c *.h
inclusief mappen in ZIP-bestanden
om submappen in het ZIP-bestand op te nemen, gebruik de -r
(recursieve) optie en neem de naam van de submap op het commando lijn. Om een ZIP-bestand aan te maken zoals voorheen en ook de submap archief op te nemen, gebruik je dit commando.
zip -r -q source_code archive/ *.c *.h
om rekening te houden met de persoon die de bestanden zal uitpakken uit het ZIP-bestand dat u aan het maken bent, is het vaak beleefd om ZIP-bestanden te maken met de bestanden in een map. Wanneer de persoon die het ZIP-bestand ontvangt het extraheert, worden alle bestanden netjes in een map op hun computer geplaatst.
in het volgende commando gaan we de work
map en alle submappen archiveren. Merk op dat dit commando wordt uitgegeven vanuit de bovenliggende map van de work
map.
zip -r -q source_code work/
instellen van het compressieniveau
u kunt instellen hoeveel compressie wordt toegepast op de bestanden als ze aan het ZIP-archief worden toegevoegd. Het bereik is van 0 tot 9, waarbij 0 helemaal geen compressie is. Hoe hoger de compressie, hoe langer het duurt om het ZIP-bestand te maken. Voor bescheiden ZIP-bestanden is het tijdsverschil geen significante straf. Maar dan, voor bescheiden formaat ZIP-bestanden, de standaard compressie (niveau 6) is waarschijnlijk toch goed genoeg.
om zip
om een specifiek niveau van compressie te gebruiken, geef het nummer door als een optie op de commandoregel, met een “-“, als volgt:
zip -0 -r -q source_code work/
het standaard compressieniveau is 6. Er is geen noodzaak om de -6
optie op te geven, maar het zal geen kwaad doen als je dat doet.
zip -r -q source_code work/
het maximale compressieniveau is niveau 9.
zip -9 -r -q source_code work/
wanneer de selectie van bestanden en mappen hier wordt gearchiveerd, is het verschil tussen geen compressie (niveau 0) en de standaard compressie (niveau 6) 400K. Het verschil tussen de standaard compressie en het hoogste compressieniveau (niveau 9) is slechts 4K.
dat lijkt misschien niet veel, maar voor archieven die honderden of zelfs duizenden bestanden bevatten, zou de kleine hoeveelheid extra compressie per bestand de moeite waard zijn om ruimte te besparen.
het toevoegen van wachtwoorden aan ZIP-bestanden
het toevoegen van wachtwoorden aan ZIP-bestanden is eenvoudig. Gebruik de -e
(encrypt) optie en u wordt gevraagd om uw wachtwoord in te voeren en opnieuw in te voeren voor verificatie.
zip -e -r -q source_code work/
een ZIP-bestand uitpakken met het unzip-Commando
om de bestanden uit een ZIP-bestand te extraheren, gebruikt u het unzip-commando en geeft u de naam van het ZIP-bestand op. Merk op dat je nodig hebt om de”.zip ” extensie.
unzip source_code.zip
wanneer de bestanden worden geëxtraheerd, worden ze weergegeven in het terminalvenster.
ZIP-bestanden bevatten geen details over het eigendom van bestanden. Alle bestanden die worden uitgepakt hebben de eigenaar ingesteld op de gebruiker die ze extraheert.
net als zip
unzip
heeft een -q
(quiet) optie, zodat u de bestandslijst niet hoeft te zien als de bestanden worden geëxtraheerd.
unzip -q source_code.zip
uitpakken van bestanden naar een doelmap
om de bestanden uit te pakken in een specifieke map, gebruik de -d
(map) optie, en geef het pad naar de map u wilt dat het archief wordt geëxtraheerd in.
unzip -q source_code.zip -d ./development
met wachtwoord beveiligde ZIP-bestanden uitpakken
als een ZIP-bestand is aangemaakt met een wachtwoord, zal unzip
u om het wachtwoord vragen. Als u niet het juiste wachtwoord opgeeft, zal unzip
de bestanden niet uitpakken.
unzip -q source_code.zip
als het u niet interesseert dat uw wachtwoord Door anderen wordt gezien—noch dat het in uw opdrachtgeschiedenis wordt opgeslagen-kunt u het wachtwoord op de opdrachtregel opgeven met -P
(wachtwoord). (Je moet een hoofdletter gebruiken ” P.”)
unzip -P fifty.treacle.cutlass -q source_code.zip
exclusief bestanden
Als u een bepaald bestand of een groep bestanden niet wilt uitpakken, gebruik dan de optie -x
(exclude). In dit voorbeeld willen we alle bestanden extraheren, behalve de bestanden die eindigen op een “.h ” uitbreiding.
unzip -q source_code.zip -x *.h
overschrijven van bestanden
stel dat u een archief hebt uitgepakt maar per ongeluk enkele van de uitgepakte bestanden hebt verwijderd.
een snelle oplossing hiervoor zou zijn om de bestanden opnieuw uit te pakken. Maar als u het ZIP-bestand probeert uit te pakken in dezelfde map als hiervoor, zal unzip
u vragen om een beslissing over het overschrijven van de bestanden. Zij verwacht een van de volgende antwoorden.
behalve de r
(rename) respons, zijn deze reacties hoofdlettergevoelig.
- y: Ja, dit bestand overschrijven
- n: nee, dit bestand niet overschrijven
- A: All, alle bestanden overschrijven
- N: geen, geen bestanden overschrijven
- r: hernoemen, dit bestand uitpakken maar een nieuwe naam geven. U wordt gevraagd om een nieuwe naam.
om unzip
te forceren om bestaande bestanden te overschrijven gebruik de optie -o
(overschrijven).
unzip -o -q source_code.zip
de meest efficiënte manier om de ontbrekende bestanden te vervangen zou zijn om unzip
alleen bestanden in het archief te extraheren die niet in de doelmap staan. Gebruik hiervoor de optie -n
(overschrijf nooit).
unzip -n source_code.zip
kijkend naar een ZIP-bestand
Het is vaak nuttig en leerzaam om een lijst van de bestanden in een ZIP-bestand te zien voordat u het uitpakt. U kunt dit doen met de optie -l
(list archive). Het wordt doorgesluisd door less
om de uitvoer beheersbaar te maken.
unzip -l source_code.zip | less
De uitvoer toont de mappen en bestanden in het ZIP-bestand, hun lengte en de tijd en datum waarop ze aan het archief zijn toegevoegd. Druk op “q”om af te sluiten van less
.
er zijn andere manieren om in een ZIP-bestand te kijken die verschillende soorten informatie geven, zoals we zullen zien.
voeg een wachtwoord toe met het zipcloak Commando
Als u een ZIP-bestand hebt aangemaakt maar vergeten bent een wachtwoord toe te voegen, wat kunt u dan doen? U kunt snel een wachtwoord toevoegen aan het ZIP-bestand met het commando zipcloak
. Geef de naam van het ZIP-bestand op de opdrachtregel. U wordt gevraagd om een wachtwoord. U moet het wachtwoord controleren door het een tweede keer in te voeren.
zipcloak source_code.zip
bekijk bestandsdetails met het commando zipdetails
het commando zipdetails
toont u veel informatie over het ZIP-bestand. De enige verstandige manier om de hoeveelheid uitvoer te verwerken die dit commando kan geven, is door het door te sluizen naar less
.
zipdetails source_code.zip | less
merk op dat de informatie bestandsnamen zal bevatten, zelfs als het ZIP-bestand beveiligd is met een wachtwoord. Dit type informatie wordt opgeslagen in het ZIP-bestand als metagegevens en maakt geen deel uit van de versleutelde gegevens.
zoeken in het bestand met de opdracht zipgrep
met de opdracht zipgrep
kunt u zoeken in de bestanden in een ZIP-bestand. In het volgende voorbeeld willen we weten welke bestanden in het ZIP-bestand de tekst ” keyval.h ” in hen.
zipgrep keyval.h source_code.zip
We kunnen zien dat de bestanden slang.c
en getval.c
de string ” keyval bevatten.H”.We kunnen ook zien dat er TWEE kopieën van elk van deze bestanden in verschillende mappen in het ZIP-bestand.
Bekijk informatie met het commando zipinfo
het commando zipinfo
geeft u nog een andere manier om in een ZIP-bestand te kijken. Net als voorheen wordt de uitvoer doorgestuurd naar less
.
zipinfo source_code.zip | less
van links naar rechts de uitvoer toont:
- De bestandspermissies
- de versie van het gereedschap dat wordt gebruikt om het ZIP-bestand aan te maken
- de oorspronkelijke Bestandsgrootte
- een bestandsdescriptor (hieronder beschreven)
- de methode van compressie (deflatie, in dit geval)
- de gegevens en tijdstempel
- de naam van het bestand en elke map
De bestandsdescriptor bestaat uit twee tekens. Het eerste teken zal een ” t “of een” b ” zijn om een tekst of binair bestand aan te geven. Als het een hoofdletter is, wordt het bestand versleuteld. Het tweede karakter kan een van de vier karakters zijn. Dit teken geeft aan welk type metagegevens er in dit bestand zit: geen, een uitgebreide lokale header, een “extra veld”, of beide.
- -: als geen van beide bestaat, wordt het teken een koppelteken
- l: als er een uitgebreide lokale header is maar geen extra veld
- x: als er geen uitgebreide lokale header is maar er een extra veld
- X: als er een uitgebreide lokale header is en er een extra veld is
het bestand splitsen met het zipsplit-Commando
Als u het ZIP-bestand naar iemand anders moet verzenden, maar er zijn groottebeperkingen of problemen met de overdracht van het bestand, kunt u zipsplit
commando om het originele zip-bestand op te splitsen in een set kleinere Zip-bestanden.
met de optie -n
(size) kunt u een maximale grootte instellen voor elk van de nieuwe ZIP-bestanden. In dit voorbeeld splitsen we het source_code.zip
bestand. We willen niet dat een van de nieuwe ZIP-bestanden groter is dan 100 KB (102400 bytes).
zipsplit -n 102400 source_code.zip
De grootte die u kiest kan niet kleiner zijn dan de grootte van een van de bestanden in het ZIP-bestand.
Met deze commando ‘ s kunt u uw eigen ZIP-bestanden maken, ZIP-bestanden uitpakken die u ontvangt en diverse andere bewerkingen uitvoeren zonder ooit de Linux terminal te verlaten.Dave McKay gebruikte voor het eerst computers toen geponste papieren tape in de mode was, en sindsdien is hij aan het programmeren. Na meer dan 30 jaar in de IT-industrie, is hij nu een fulltime technologie journalist. Tijdens zijn carrière werkte hij als freelance programmeur, manager van een internationaal softwareontwikkelingsteam, IT-serviceprojectmanager en recentelijk als functionaris voor gegevensbescherming. Dave is een Linux evangelist en open source advocaat.Volledige Bio lezen ”
Leave a Reply