Lynlås filer på Linux de mange variationer, og hvordan man bruger dem

Nogle af os har zippet filer på Unix og Linux-systemer i mange årtier - for at spare noget diskplads og pakkefiler sammen til arkivering. Alligevel er der nogle interessante variationer på lynlåsning, som ikke alle af os har prøvet. Så i dette indlæg skal vi se på standard lynlåsning og udpakning samt nogle andre interessante lynlåsemuligheder.

[To-minutters Linux-tip: Lær hvordan du mestrer en række Linux-kommandoer i disse 2-minutters videotutorials]

Den grundlæggende zip-kommando

Lad os først se på det grundlæggende zip kommando. Den bruger hvad der i det væsentlige er den samme komprimeringsalgoritme som gzip, men der er et par vigtige forskelle. For det første bruges gzip-kommandoen kun til komprimering af en enkelt fil, hvor zip både kan komprimere filer og sammenføje dem i et arkiv. For en anden glider gzip-kommandoen “på plads”. Med andre ord efterlader det en komprimeret fil - ikke den originale fil ved siden af ​​den komprimerede kopi. Her er et eksempel på gzip på arbejdet:

$ gzip onefile $ ls -l -rw-rw-r-- 1 shs shs 10514 15. jan 13:13 onefile.gz 

Og her er lynlås. Bemærk, hvordan denne kommando kræver, at der gives et navn til det zippede arkiv, hvor gzip blot bruger det originale filnavn og tilføjer .gz-udvidelsen.

$ zip twofiles.zip fil * tilføjelse: fil1 (deflateret 82%) tilføjelse: fil2 (deflateret 82%) $ ls -l -rw-rw-r-- 1 shs shs 58021 15. jan 13:25 fil1 -rw-rw- r-- 1 shs shs 58933 15. jan 13:34 file2 -rw-rw-r-- 1 shs shs 21289 15. jan 13:35 twofiles.zip 

Bemærk også, at de originale filer stadig sidder der.

Mængden af ​​diskplads, der gemmes (dvs. den opnåede komprimeringsgrad) afhænger af indholdet af hver fil. Variationen i eksemplet nedenfor er betydelig.

$ zip mybin.zip ~ / bin / * tilføjelse: bin / 1 (deflateret 26%) tilføjelse: bin / append (deflateret 64%) tilføjelse: bin / BoD_meeting (deflateret 18%) tilføjelse: bin / cpuhog1 (deflateret 14%) tilføjelse: bin / cpuhog2 (gemt 0%) tilføjelse: bin / ff (deflateret 32%) tilføjelse: bin / file.0 (deflateret 1%) tilføjelse: bin / loop (deflateret 14%) tilføjelse: bin / notes (deflateret 23 %) tilføjelse: bin / mønstre (gemt 0%) tilføjelse: bin / runme (gemt 0%) tilføjelse: bin / tryme (deflateret 13%) tilføjelse: bin / tt (deflateret 6%) 

Unzip-kommandoen

Det unzip kommandoen gendanner indholdet fra en zip-fil, og som du sandsynligvis formoder, lader zip-filen intakt, mens en lignende pistol-kommando kun vil efterlade den ukomprimerede fil.

$ unzip twofiles.zip Arkiv: twofiles.zip oppustning: file1 oppustning: file2 $ ls -l -rw-rw-r-- 1 shs shs 58021 15. jan 13:25 file1 -rw-rw-r-- 1 shs shs 58933 15. jan 13:34 fil2 -rw-rw-r-- 1 shs shs 21289 15. jan 15 13:35 twofiles.zip 

Zipcloak-kommandoen

Det zipcloak kommandoen krypterer en zip-fil, hvor du bliver bedt om at indtaste en adgangskode to gange (for at sikre, at du ikke "fedt finger" den) og lader filen være på plads. Du kan forvente, at filstørrelsen varierer lidt fra originalen.

$ zipcloak twofiles.zip Indtast adgangskode: Bekræft adgangskode: kryptering: fil1 kryptering: fil2 $ ls -l i alt 204 -rw-rw-r-- 1 shs shs 58021 15. jan 13:25 fil1 -rw-rw-r-- 1 shs shs 58933 15. jan 13:34 file2 -rw-rw-r-- 1 shs shs 21313 15. jan 13:46 twofiles.zip <== slightly larger than unencrypted version 

Husk, at de originale filer stadig sidder der ukrypteret.

Zipdetails-kommandoen

Det zipdetails kommandoen viser dig detaljer - a masse af detaljer om en lynlåset fil, sandsynligvis meget mere end du interesserer dig for at absorbere. Selvom vi ser på en krypteret fil, viser zipdetails filnavne sammen med filændringsdatoer, bruger- og gruppeoplysninger, fillængdedata osv. Husk, at alt dette er "metadata." Vi kan ikke se indholdet af filerne.

$ zipdetails twofiles.zip 0000 LOCAL HEADER # 1 04034B50 0004 Ekstrakt Zip Spec 14 '2.0' 0005 Ekstrakt OS 00 'MS-DOS' 0006 Generelt formål Flag 0001 [Bit 0] 1 'Kryptering' [Bits 1-2] 1 'Maksimum Komprimering '0008 Komprimeringsmetode 0008' Defleret '000A Sidste mod tid 4E2F6B24' Tirs 15. jan 13:25:08 2019 '000E CRC F1B115BD 0012 Komprimeret længde 00002904 0016 Ukomprimeret længde 0000E2A5 001A Filnavn Længde 0005 001C Ekstra længde 001C 001E Filnavn23 fil' 00 Ekstra ID # 0001 5455 'UT: Udvidet tidsstempel' 0025 Længde 0009 0027 Flag '03 mod adgang '0028 Mod Time 5C3E2584' Tir 15. jan 13:25:08 2019 '002C adgangstid 5C3E27BB' ti 15. jan 13:34:35 2019 '0030 Ekstra ID # 0002 7875' ux: Unix Extra Type 3 '0032 Længde 000B 0034 Version 01 0035 UID Størrelse 04 0036 UID 000003E8 003A GID Størrelse 04 003B GID 000003E8 003F BETALING 2943 LOCAL HEADER # 2 04034B50 2947 Extract Zip Spec 14' 2.0 '2948 Extract OS 00' MS-DOS '2949 General Purpose Flag 0001 [Bit 0] 1' Encryption '[Bits 1-2] 1' Maximum Compression '294B C ompression Method 0008 'Deflated' 294D Sidste mod tid 4E2F6C56 'Tirs 15. jan 13:34:44 2019' 2951 CRC EC214569 2955 Komprimeret længde 00002913 2959 Ukomprimeret længde 0000E635 295D Filnavn Længde 0005 295F Ekstra længde 001C 2961 Filnavn 'fil2' 2966 Extra ID # 0001 5455 'UT: Udvidet tidsstempel' 2968 Længde 0009 296A Flag '03 mod adgang '296B Mod Tid 5C3E27C4' Tirs 15 jan 13:34:44 2019 '296F Adgangstid 5C3E27BD' Tirs 15 jan 13:34:37 ​​2019 '2973 Ekstra ID # 0002 7875 'ux: Unix Extra Type 3' 2975 Længde 000B 2977 Version 01 2978 UID Størrelse 04 2979 UID 000003E8 297D GID Størrelse 04 297E GID 000003E8 2982 BETALNING 5295 CENTRAL HEADER # 1 02014B50 5299 Oprettet Zip Spec 1E '3.0' 529A Oprettet OS 03 'Unix' 529B Extract Zip Spec 14 '2.0' 529C Extract OS 00 'MS-DOS' 529D Generelt formål Flag 0001 [Bit 0] 1 'Kryptering' [Bits 1-2] 1 'Maksimal komprimering' 529F Komprimeringsmetode 0008 'Deflateret' 52A1 Sidste mod tid 4E2F6B24 'Tir 15. jan 13:25:08 2019' 52A5 CRC F1B115BD 52A9 komprimeret længde 00002904 52AD Uncompr essed Længde 0000E2A5 52B1 Filnavn Længde 0005 52B3 Ekstra længde 0018 52B5 Kommentar Længde 0000 52B7 Disk Start 0000 52B9 Int Filattributter 0001 [Bit 0] 1 Tekstdata 52BB Ext File Attributter 81B40000 52BF Lokal Header Offset 00000000 52C3 Filnavn 'fil1' 52C8 Extra ID # 0001 5455 'UT: Extended Timestamp' 52CA Length 0005 52CC Flag '03 mod access '52CD Mod Time 5C3E2584' Tir 15 jan 13:25:08 2019 '52D1 Extra ID # 0002 7875' ux: Unix Extra Type 3 '52D3 Length 000B 52D5 version 01 52D6 UID størrelse 04 52D7 UID 000003E8 52DB GID størrelse 04 52DC GID 000003E8 52E0 CENTRAL HEADER # 2 02014B50 52E4 Oprettet Zip Spec 1E '3.0' 52E5 Oprettet OS 03 'Unix' 52E6 Extract Zip Spec 14 '2.0' 52E7 Extract OS 00 'MS-DOS' 52E8 Generelt anvendelsesflag 0001 [Bit 0] 1 'Kryptering' [Bits 1-2] 1 'Maksimal komprimering' 52EA-komprimeringsmetode 0008 'Deflateret' 52EC Sidste mod tid 4E2F6C56 'Tirsdag 15. jan 13:34:44 2019 '52F0 CRC EC214569 52F4 Komprimeret længde 00002913 52F8 Ukomprimeret længde 0000E635 52FC Filnavn Længde 0005 52FE Ekstra længde 0018 5300 Kommentarlængde 0000 5302 Diskstart 0000 5304 Int-filattributter 0001 [Bit 0] 1 Tekstdata 5306 Ext-filattributter 81B40000 530A Lokal headset-offset 00002943 530E Filnavn 'fil2' 5313 Ekstra ID # 0001 5455 'UT: Udvidet tidsstempel' 5315 Længde 0005 5317 Flag '03 mod adgang '5318 Mod Tid 5C3E27C4' Tirs 15. jan 13:34:44 2019 '531C Ekstra ID # 0002 7875' ux: Unix Extra Type 3 '531E Længde 000B 5320 Version 01 5321 UID Størrelse 04 5322 UID 000003E8 5326 GID Størrelse 04 5327 GID 000003E8 532B END CENTRAL HEADER 06054B50 532F Nummer på denne disk 0000 5331 Central Dir Disk nr 0000 5333 Indlæg på denne disk 0002 5335 Samlede poster 0002 5337 Størrelse på Central Dir 00000096 533B Offset til Central Dir 00005295 533F Kommentar Længde 0000 Udført 

Zipgrep-kommandoen

Det zipgrep kommandoen vil bruge en grep-funktion til at lokalisere bestemt indhold i dine zippede filer. Hvis filen er krypteret, skal du indtaste det adgangskode, der er angivet til krypteringen for hver fil, du vil undersøge. Hvis du kun vil kontrollere indholdet af en enkelt fil fra arkivet, skal du tilføje dens navn til slutningen af ​​zipgrep-kommandoen som vist nedenfor.

$ zipgrep fare twofiles.zip file1 [twofiles.zip] file1 adgangskode: Visse pesticider skal forbydes, da de er miljøfarlige. 

Zipinfo-kommandoen

Det zipinfo kommando giver information om indholdet af en zippet fil, uanset om den er krypteret eller ej. Dette inkluderer filnavne, størrelser, datoer og tilladelser.

$ zipinfo twofiles.zip Arkiv: twofiles.zip ZIP-filstørrelse: 21313 bytes, antal poster: 2 -rw-rw-r-- 3.0 unx 58021 Tx defN 19-Jan-15 13:25 fil1 -rw-rw-r - 3.0 unx 58933 Tx defN 19-Jan-15 13:34 fil2 2 filer, 116954 bytes ukomprimeret, 20991 bytes komprimeret: 82,1% 

Zipnote-kommandoen

Det zipnote kommando kan bruges til at udtrække kommentarer fra zip arkiver eller tilføje dem. For at få vist kommentarer skal du bare forordne navnet på arkivet med kommandoen. Hvis der ikke er tilføjet nogen kommentarer tidligere, vil du se noget lignende:

$ zipnote twofiles.zip @ file1 @ (kommentar over denne linje) @ file2 @ (kommentar over denne linje) @ (zip-filkommentar under denne linje) 

Hvis du vil tilføje kommentarer, skal du skrive output fra zipnote-kommandoen til en fil:

$ zipnote twofiles.zip> kommentarer 

Rediger derefter den fil, du lige har oprettet, og indsæt dine kommentarer over (kommentar over denne linje) linjer. Tilføj derefter kommentarerne ved hjælp af en zipnote-kommando som denne:

$ zipnote -w twofiles.zip < comments 

Zipsplit-kommandoen

Det zipsplit kommando kan bruges til at opdele et zip-arkiv i flere zip-arkiver, når den originale fil er for stor - måske fordi du prøver at tilføje en af ​​filerne til et lille tommelfingerdrev. Den nemmeste måde at gøre dette ser ud til at være at specificere den maksimale størrelse for hver af de zippede fildele. Denne størrelse skal være stor nok til at rumme den største inkluderede fil.

$ zipsplit -n 12000 twofiles.zip 2 zip-filer oprettes (100% effektivitet) skabelse: twofile1.zip oprettelse: twofile2.zip $ ls twofile * .zip -rw-rw-r-- 1 shs shs 10697 15. januar 14 : 52 twofile1.zip -rw-rw-r-- 1 shs shs 10702 15. jan 14:52 twofile2.zip -rw-rw-r-- 1 shs shs 21377 15. jan 14:27 twofiles.zip 

Bemærk, hvordan de udpakkede filer sekventielt kaldes "twofile1" og "twofile2".

Wrap-up

Det zip kommando, sammen med nogle af dets lynlåsende landsmænd, giver en masse kontrol over, hvordan du genererer og arbejder med komprimerede filarkiver.

[Se også: Uvurderlige tip og tricks til fejlfinding af Linux] Deltag i Network World-samfundene på Facebook og LinkedIn for at kommentere emner, der er øverste af sindet.