zip(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
| Rad 1: | Rad 1: | ||
== Namn == | == Namn == | ||
zip – paketera och komprimera filer | zip – paketera och komprimera (arkivera) filer | ||
== Syntax == | == Syntax == | ||
zip [ - | <pre> | ||
zip [ -aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$ ] [ --longoption ... ] | |||
[ -b sökväg ] [ -n suffixer ] [ -t datum ] [ -tt datum ] | |||
[ zipfil [ fil ... ] ] [ -xi lista ] | |||
</pre> | |||
== Beskrivning == | == Beskrivning == | ||
zip | ''zip'' är ett verktyg för komprimering och filpaketering för Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga och Acorn RISC OS. Det motsvarar ungefär en kombination av [[tar(1)]] och [[compress(1)]] och är kompatibelt med PKZIP (Phil Katz’ ZIP för MSDOS). | ||
Ett syskonprogram ([[unzip(1)]]) packar upp zip-arkiv. ''zip'' och ''unzip'' kan arbeta med arkiv skapade av PKZIP (stöd för de flesta funktioner upp till PKZIP 4.6). ''zip'' 3.0 är kompatibelt med PKZIP 2.04 och stöder även Zip64-förlängningarna (PKZIP 4.5) som låter både arkiv och filer överstiga 4 GB/64k poster. ''zip'' kan även använda ''bzip2''-komprimering om biblioteket är länkat vid kompilering (kräver modern unzip). | |||
Se avsnittet '''EXEMPEL''' längst ned för typiska användningsfall. | |||
'''Stora arkiv och Zip64.''' ''zip'' använder Zip64 automatiskt när nödvändigt (t.ex. filer > 4 GB, arkiv > 4 GB, > ~64k poster, eller streamade arkiv när storleken inte är känd i förväg). För att extrahera Zip64 behövs en unzip kompatibel med PKZIP 4.5 (t.ex. ''unzip 6.0'' eller senare). Vissa kombinationer – t.ex. ''streamade'' arkiv, standardkryptering eller split-arkiv med paus – kan använda databeskrivare (data descriptors) som äldre PKZIP inte stöder. | |||
'''Mac OS X.''' Mac OS X stöds via Unix-porten. Hänvisningar till ”MacOS” avser äldre system. Stöd för t.ex. resource forks i Unix-porten förväntas i kommande släpp. | |||
'''Kort hjälp.''' Kör ''zip'' eller ''unzip'' utan argument för en kort hjälpsida. | |||
== Användning == | |||
Programmet används för att paketera filer för distribution, arkivering och utrymmesbesparing. ''zip'' placerar en eller flera komprimerade filer i ett arkiv och sparar filnamn, sökväg, datum/tid för senaste ändring, skydd/attribut samt kontrollinformation för integritetskontroll. Hela katalogträd kan packas i ett kommando. Kompression 2:1–3:1 är vanlig för text. ''zip'' har metoden ''deflate'' samt kan lagra okomprimerat; om ''bzip2'' finns kan den metoden också användas. ''zip'' väljer automatisk bästa av kompression/lagra per fil. | |||
'''Kommandomall''' | |||
<pre> | |||
zip [alternativ] arkiv inpath inpath ... | |||
</pre> | |||
Där ''arkiv'' är nytt eller existerande zip-arkiv och ''inpath'' är fil- eller katalognamn (jokertecken tillåtna). Om arkivet finns ersätts poster med samma relativa namn, nya läggs in. | |||
'''-@ fil-listor.''' ''zip -@ foo'' läser filnamn en per rad från stdin (ej på MacOS). Vanligt med ''find | zip -@''. | |||
'''Streaming in/ut.''' Zipfilnamn ”-” skriver till stdout (t.ex. pipe till band). En indatafil ”-” läses från stdin (t.ex. ''tar cf - . | zip backup -''). Om Zip64 är aktiverat och ''zip'' används som filter skapas Zip64-ström (kräver unzip 4.5+). ''-fz-'' kan tvinga PKZIP-2-kompatibelt om <4 GB, annars fel. | |||
'''Zip-filer.''' Vid ändring av ett befintligt arkiv skrivs ett temporärt arkiv som ersätter det gamla vid lyckad slutföring. Saknas suffix läggs ''.zip'' till; split-arkiv kräver ''.zip'' på sista delen. | |||
'''Skanning.''' Lång filskanning visar ”Scanning files …” med punkter. ''-q'' tystar. ''-sf'' listar filer utan att bearbeta. | |||
'''Kommandolägen.''' ''zip'' har externa lägen (läser från filsystem) och interna (verkar endast på arkivposter): | |||
* '''add''' (standard): uppdatera/addera. | |||
* '''update''' (''-u''): uppdatera ändrade + addera nya. | |||
* '''freshen''' (''-f''): uppdatera ändrade, addera ej nya. | |||
* '''delete''' (''-d''): ta bort valda poster. | |||
* '''copy''' (''-U'' + ''--out''): välj poster i arkivet och skriv nytt arkiv (ursprung lämnas orört). | |||
* '''filesync''' (''-FS''): synka arkiv med filsystem (ersätter där tid/storlek skiljer, adderar nya, raderar poster utan motsvarighet). Kan ta bort – säkerhetskopiera eller använd ''--out''. | |||
Se även ''-DF'' för differensarkiv. | |||
'''Split-arkiv.''' ''zip 3.x'' kan skapa split-arkiv (''ARCHIVE.z01'', ''.z02'', … ''.zip''). Spanned (diskettvolymer) stöds ej direkt. Använd ''-s'' för split-storlek och ''-sp'' för paus mellan delar (byte av media). Uppdatering av split görs via ''--out''. ''-O/--out'' kan konvertera split-storlek eller slå ihop med ''-s 0''. | |||
'''Unicode.''' Zip-standarden definierar ett ”lokalt” teckenset för sökvägar; i praktiken sparas lokalt. Med Unicode-stöd sparar ''zip'' även UTF-8-version av sökvägen för portabilitet. Konsolfönster kan visa fel tecken, men filhanterare visar rätt med rätt typsnitt. ''-UN'' styr beteende vid mismatch. | |||
'''Kommandorad.''' Kortflaggor kan negateras med ”-” efter flaggan, värden kan följa direkt, med ”=” eller som nästa argument. Långflaggor börjar med ”--” och kan kortas till unik prefix; negation med avslutande ”-”. Värden med ”=” eller efterföljande argument. Se ''-sc''. | |||
== Flaggor == | == Flaggor == | ||
| Rad 17: | Rad 59: | ||
! Flagga !! Beskrivning | ! Flagga !! Beskrivning | ||
|- | |- | ||
| -a || | | -a / --ascii || [EBCDIC-system] Översätt text till ASCII vid lagring (textläge). | ||
|- | |- | ||
| -A || | | -A / --adjust-sfx || Justera offsetar i ett självextraherande arkiv (SFX) efter att ett SFX-stub har försatts. På Amiga kan endast Amiga-porten uppdatera SFX; använd -J för att ta bort stub om annat krävs. | ||
|- | |- | ||
| - | | -AC / --archive-clear || [WIN32] Rensa arkivbiten på filer som packats (efter ev. -T-test). Varning: när biten rensats är den borta. Kombinera ev. med -sf och -MM. Se även -DF. | ||
|- | |- | ||
| - | | -AS / --archive-set || [WIN32] Inkludera bara filer med satt arkivbit. Kataloger lagras normalt bara som sökvägar. Kan användas med -AC för inkrementella säkerhetskopior (ej helt tillförlitlig då andra program manipulerar biten). Alternativ: -t (datum) eller -DF (differens). | ||
|- | |- | ||
| - | | -B / --binary || [VM/CMS, MVS] Tvinga binär läsning (standard är text). | ||
|- | |- | ||
| - | | -Bn || [TANDEM] Sätt Edit/Enscribe-formatflaggor: bit0=ingen delimiter, bit1=LF istället för CR/LF, bit2=space-fylla, bit3=trimma spaces, bit8=force 30K read. | ||
|- | |- | ||
| - | | -b PATH / --temp-path PATH || Använd angiven temporär plats för arbetsarkiv. Nyttigt om källfilsystemet saknar utrymme för både gammalt och nytt arkiv samtidigt. | ||
|- | |- | ||
| - | | -c / --entry-comments || Fråga efter enradiga kommentarer för varje fil. Operationen körs först, sedan frågas efter kommentarer. | ||
|- | |- | ||
| - | | -C / --preserve-case || [VMS] Bevara skiftläge (alla) på VMS. ''-C-'' nedkonverterar. | ||
|- | |- | ||
| - | | -C2 / --preserve-case-2 || [VMS] Bevara skiftläge (ODS2). ''-C2-'' nedkonverterar. | ||
|- | |- | ||
| - | | -C5 / --preserve-case-5 || [VMS] Bevara skiftläge (ODS5). ''-C5-'' nedkonverterar. | ||
|- | |- | ||
| - | | -d / --delete || Ta bort poster ur ett arkiv. Mönster matchar arkivets interna vägar. På MSDOS är matchning skiftlägeskänslig (se -ic för att ignorera skiftläge). | ||
|- | |- | ||
| - | | -db / --display-bytes || Visa löpande antal bearbetade byte (zippade och kvar). | ||
|- | |- | ||
| - | | -dc / --display-counts || Visa räknare för poster bearbetade och kvar. | ||
|- | |- | ||
| - | | -dd / --display-dots || Visa ”prickar” medan varje post komprimeras. Standard: en prick per 10 MB. Även -v visar prickar. Prickstorlek styrs av -ds. | ||
|- | |- | ||
| - | | -df / --datafork || [MacOS] Endast data-fork lagras (ej resource fork). Bra för export till andra OS. | ||
|- | |- | ||
| - | | -dg / --display-globaldots || Visa progressprickar för hela arkivet istället för per fil. Kombinera med t.ex. ''zip -qdgds 10m'' för tyst + prickar var 10 MB. | ||
|- | |- | ||
| - | | -ds SIZE / --dot-size SIZE || Sätt intervall för prickar (t.ex. 100k, 10m, 1g). 0 stänger av prickar. Påverkar även -v. Gäller inte ”Scanning files”-prickar. | ||
|- | |- | ||
| - | | -du / --display-usize || Visa okomprimerad storlek per post. | ||
|- | |- | ||
| - | | -dv / --display-volume || Visa volym-/disknummer för läsning/skrivning när arkiv läses/skrivs (t.ex. split). | ||
|- | |- | ||
| - | | -D / --no-dir-entries || Skapa inte separata katalogposter i arkivet (standard är att skapa dem för att spara attribut). Kan sättas som standard via ZIPOPT. | ||
|- | |- | ||
| - | | -DF / --difference-archive || Skapa ett differensarkiv med nya/förändrade filer sedan originalarkivet skapades (jämför storlek och tid). Kör i samma katalog med samma inlista som originalet. Kräver korrekt TZ. | ||
|- | |- | ||
| - | | -e / --encrypt || Kryptera innehåll. Lösenord efterfrågas två gånger (tyst). Standardkryptering är relativt svag – använd starkare kryptering (PGP) för känsligt material. | ||
|- | |- | ||
| - | | -E / --longnames || [OS/2] Använd .LONGNAME-extended attribute som filnamn. | ||
|- | |- | ||
| - | | -f / --freshen || ”Fräscha upp”: ersätt endast filer som redan finns i arkivet och är äldre än källan. Lägger inte till nya filer. Kräver korrekt TZ. | ||
|- | |- | ||
| - | | -F / --fix || Försök reparera arkivet när centralkatalogen finns delvis. Hoppar över inkonsistenta poster; resultatet ska vara giltigt. | ||
|- | |- | ||
| - | | -FF / --fixfix || Hårdare reparation: skanna från början efter signaturer. Krävs om arkivet är kraftigt skadat eller avklippt i slutet. Kan skapa inkonsekvent arkiv – kör därefter -F. | ||
|- | |- | ||
| - | | -FI / --fifo || [Unix] Läs även FIFOs (named pipes). Som standard hoppas FIFOs över (risk för hängning). | ||
|- | |- | ||
| - | | -FS / --filesync || Synkronisera arkivet mot filsystemet: kopiera oförändrade poster, recomprimera ändrade, och TA BORT poster som saknar motsvarighet på disk. Kör i samma rot som vid skapande så relativa sökvägar matchar. Använd ''--out'' om originalet inte får ändras. Kräver korrekt TZ. | ||
|- | |- | ||
| - | | -g / --grow || ”Väx”: lägg till i befintligt arkiv istället för att skapa nytt. Om operationen misslyckas försöker zip återställa. Ignoreras om någon post måste uppdateras/ta bortas. | ||
|- | |- | ||
| - | | -h / -? / --help || Visa hjälp (utan argument visar zip hjälp; med endast -v visas versionsinfo, se -v). | ||
|- | |- | ||
| - | | -h2 / --more-help || Utökad hjälp om kommandorad, mönstermatchning och ovanliga flaggor. | ||
|- | |- | ||
| - | | -i MÖNSTER… / --include MÖNSTER… || Inkludera endast filer som matchar mönstren (matchning sker på arkivets interna vägar). Lista kan avslutas med ett ensamt ”@”. Jokertecken kräver escapning på Unix-skal. | ||
|- | |- | ||
| - | | -I / --no-image || [Acorn RISC OS] Skanna inte igenom ”Image files” (t.ex. DOS-partitioner eller Spark-arkiv); lagra dem som enstaka filer. | ||
|- | |- | ||
| - | | -ic / --ignore-case || [VMS, WIN32] Ignorera skiftläge även vid matchning mot arkivposter (t.ex. -f, -d, -U). Kan orsaka att flera poster matchas. | ||
|- | |- | ||
| - | | -j / --junk-paths || Släng sökvägar: bara filnamn lagras (katalogposter skapas inte). | ||
|- | |- | ||
| - | | -jj / --absolute-path || [MacOS] Lagra full sökväg inkl. volymnamn. Standard är relativ sökväg. | ||
|- | |- | ||
| - | | -J / --junk-sfx || Ta bort ett förprependat SFX-stub (”preamble”) från arkivet. | ||
|- | |- | ||
| - | | -k / --DOS-names || Försök konvertera namn/sökvägar till DOS-kompatibla, spara endast DOS-attribut och markera posten som skapad på MSDOS (för kompatibilitet med äldre PKUNZIP). | ||
|- | |- | ||
| - | | -l / --to-crlf || Översätt Unix LF → MSDOS CRLF (textfiler; använd inte på binärfiler). Läggs till extra CR om filen redan har CRLF för att möjliggöra exakt återställning med ''unzip -a''. | ||
|- | |- | ||
| - | | -la / --log-append || Append till befintlig loggfil (standard är overwrite). | ||
|- | |- | ||
| - | | -lf PATH / --logfile-path PATH || Skriv logg till fil. Med -la appendas. Med -li inkluderas informationsmeddelanden; annars bara varningar/fel samt avslutande status. | ||
|- | |- | ||
| - | | -li / --log-info || Skriv även informationsmeddelanden till loggfilen (filnamn, framsteg m.m.). | ||
|- | |- | ||
| - | | -ll / --from-crlf || Översätt MSDOS CRLF → Unix LF (textfiler; inte på binärfiler). Kontrollerar första bufferten för binärt innehåll och hoppar då över konvertering. Nyare detektering stöder UTF-8 m.fl. | ||
|- | |- | ||
| - | | -L / --license || Visa licens för zip. | ||
|- | |- | ||
| -@ || | | -m / --move || Flytta: lägg till filer i arkivet och radera original efter lyckad arkivering. Rekommenderas tillsammans med -T (testa först). | ||
|- | |||
| -MM / --must-match || Alla in-mönster måste matcha minst en fil och alla hittade filer måste vara läsbara. Annars avbryter ''zip'' direkt med felkod (OPEN/18) och inget arkiv skapas. | |||
|- | |||
| -n SUFFIXER / --suffixes SUFFIXER || Komprimera inte filer med listade suffix (separerade med ”:” eller ”;”), de lagras ”store”. Standardlista inkluderar .Z .zip .zoo .arc .lzh .arj. ''-9'' försöker komprimera alla oavsett suffix. På RISC OS är suffix = filtyper (hex). | |||
|- | |||
| -nw / --no-wild || Ingen intern jokerteckenexpansion (skalet kan dock expandera om inte escapat). Bra vid läsning av färdiga sökvägslistor. | |||
|- | |||
| -N / --notes || [Amiga, MacOS] Spara filnoter som zip-kommentarer (kan återställas med ''unzip -N''). Med -c frågas bara för filer utan filnot. | |||
|- | |||
| -o / --latest-time || Sätt arkivets mtime till den senaste mtime bland posterna. Kan användas fristående. Kräver korrekt TZ för jämförelser. | |||
|- | |||
| -O FIL / --output-file FIL / --out FIL || Skriv förändrat arkiv till ny fil istället för att uppdatera originalet (krävs för att uppdatera split-arkiv). Kan även användas för att konvertera split-storlek (t.ex. ''-s 2g in.zip --out out.zip'') eller slå ihop (''-s 0''). | |||
|- | |||
| -p / --paths || Inkludera relativa sökvägar (standard). ''-j'' slänger sökvägar. | |||
|- | |||
| -P LÖSEN / --password LÖSEN || Använd angivet lösenord (osäkert – synligt i processlistor, loggar m.m.). Föredra interaktiv inmatning eller starkare kryptering. | |||
|- | |||
| -q / --quiet || Tyst läge: inga informationsmeddelanden eller kommentarsfrågor (nyttigt i skript/bakgrund). | |||
|- | |||
| -Qn / --Q-flag n || [QDOS] Lagra QDOS-huvudinfo: bit0=lägg ej till headers, bit1=lägg till för alla, bit2=välj bort ”tryck tangent vid avslut”. | |||
|- | |||
| -r / --recurse-paths || Rekursivt: gå ned i katalogträd och lägg till allt (även filer som börjar med ”.” då expansion inte görs av skalet). Använd -i/-x för att välja subset. | |||
|- | |||
| -R / --recurse-patterns || Rekursiv matchning från nuvarande katalog baserad på mönster (på arkivets interna vägar), t.ex. ''zip -R foo "*.c"''. | |||
|- | |||
| -RE / --regex || [WIN32] Återaktivera [ ]-matchning (regex-liknande) på Windows (avstängd som standard p.g.a. förväxling med filnamn som innehåller [ eller ]). | |||
|- | |||
| -s N / --split-size N || Skapa split-arkiv och sätt delstorlek (heltal + valfri multiplikator k/m/g/t; default m). Skapar ARCHIVE.z01, .z02, …, .zip. ''-s 0'' eller negation slår ihop. Uppdateringar görs via ''--out''. | |||
|- | |||
| -sb / --split-bell || Ring ”bell” vid paus för varje ny split (kräver -sp). | |||
|- | |||
| -sc / --show-command || Visa den tolkade kommandoraden (inkl. ZIPOPT) och avsluta. Hjälper att förstå hur argument permuteras/sammansmälts. | |||
|- | |||
| -sf / --show-files || Visa vilka filer som skulle bearbetas och avsluta. Med ''-sf-'' skrivs endast till öppen loggfil. | |||
|- | |||
| -so / --show-options || Visa alla tillgängliga flaggor på denna byggda binär (avläser intern optionstabell). | |||
|- | |||
| -sp / --split-pause || Split med paus: skriv varje del sekventiellt och pausa för media-byte. Använder streamformat som vissa unzippar kan ha problem med – testa innan produktion. Konvertera till standard med ''--out''. | |||
|- | |||
| -su / --show-unicode || Som -sf men visa även Unicode-versionen av sökvägen om den finns. | |||
|- | |||
| -sU / --show-just-unicode || Visa endast Unicode-sökvägen om den finns, annars standardvarianten. | |||
|- | |||
| -sv / --split-verbose || Extra information vid split (hur uppdelning sker). | |||
|- | |||
| -S / --system-hidden || [MSDOS/OS2/WIN32/ATARI] Inkludera system- och dolda filer. [MacOS] Inkludera ”finder invisible”. | |||
|- | |||
| -t MMDDYYYY / --from-date MMDDYYYY || Bearbeta endast filer ändrade på eller efter datumet. Även ISO 8601 ''YYYY-MM-DD''. Kräver korrekt TZ. | |||
|- | |||
| -tt MMDDYYYY / --before-date MMDDYYYY || Bearbeta endast filer ändrade före datumet. Även ISO 8601 ''YYYY-MM-DD''. Kräver korrekt TZ. | |||
|- | |||
| -T / --test || Testa det nya arkivet. Om testet misslyckas lämnas det gamla arkivet orört och -m tar inte bort källfiler. | |||
|- | |||
| -TT CMD / --unzip-command CMD || Använd kommando ''CMD'' istället för ''unzip -tqq'' vid test (-T). ''{}'' ersätts med temporär arkivfil; annars läggs filnamn sist. | |||
|- | |||
| -u / --update || Uppdatera: ersätt poster som är äldre än källan och lägg till nya. ''-u'' utan argument beter sig som ''-f''. | |||
|- | |||
| -U / --copy-entries || Kopiera utvalda poster från in-arkiv till nytt arkiv (kräver ''--out''). Mönstren matchar ENDAST arkivets poster (filsystemet läses inte). Bra för att ändra split-storlek eller filtrera. Kryptering/dekryptering stöds ej i copy-läge (använd ''zipcloak''). | |||
|- | |||
| -UN v / --unicode v || Styr hur Unicode-sökvägar hanteras vid mismatch mellan lokal och UTF-8: ''q''=avsluta, ''w''=varna (standard), ''i''=ignorera, ''n''=använd ej Unicode, ''e''=escapa icke-ASCII (#Uxxxx/#Lxxxxxx), ''u''=lagra UTF-8 som ”native”. | |||
|- | |||
| -v / --verbose || Verbos: visa prickar (10 MB default, styrs av -ds), rapportera zip-strukturens egenheter. Om -v är enda argumentet skrivs diagnostik/version (kan omdirigeras till fil). | |||
|- | |||
| -V / --VMS-portable || [VMS] Spara VMS-attribut (Stream_LF och rena binärer extraheras normalt på icke-VMS; indexerade/varlängd kan se korrupta ut). | |||
|- | |||
| -VV / --VMS-specific || [VMS] Spara VMS-attribut och alla allokerade block (inkl. data efter EOF). Nästan alla filer ser korrupta ut utanför VMS. | |||
|- | |||
| -w / --VMS-versions || [VMS] Bifoga versionsnummer (flera versioner lagras). Standard: endast senaste. | |||
|- | |||
| -ww / --VMS-dot-versions || [VMS] Bifoga versionsnummer med ''.nnn''-format. | |||
|- | |||
| -ws / --wild-stop-dirs || Jokertecken matchar inte över katalognivåer. Använd ''**'' för att matcha över gränser. Utan -ws matchar ''/foo/bar/*'' både ''/foo/bar/file'' och ''/foo/bar/dir/file''. | |||
|- | |||
| -x MÖNSTER… / --exclude MÖNSTER… || Exkludera mönster (matchning mot interna vägar). Listor kan läsas via ''@fil''. Escapa jokertecken på skal som expanderar. | |||
|- | |||
| -X / --no-extra || Spara inte extra-attribut (EA på OS/2, uid/gid/tider på Unix). Endast Unicode- och Zip64-extra fält sparas. ''-X-'' inkluderar default extra OCH kopierar okända extra-fält. | |||
|- | |||
| -y / --symlinks || [Unix/VMS≥8.3] Lagra symboliska länkar som länkar istället för att följa dem (undviker dubbletter). | |||
|- | |||
| -z / --archive-comment || Arkivkommentar för hela arkivet (multirad; avsluta med en rad med endast ”.”, eller EOF). Kan också läsas från fil: ''zip -z foo < kommentar.txt''. | |||
|- | |||
| -Z METOD / --compression-method METOD || Sätt metod: ''store'' (ingen kompr, motsv. -0), ''deflate'' (standard), ''bzip2'' (om kompilerat in; metod 12 – stöd varierar). ''zip -Z bzip2 foo bar.c''. | |||
|- | |||
| -0 … -9 || Komprimeringsnivå: ''-0''=ingen (store), ''-1''=snabb, … ''-9''=bäst (standard ''-6''). Påverkar främst deflate. | |||
|- | |||
| -! / --use-privileges || [WIN32] Använd tilldelade privilegier för att läsa alla aspekter av NT-säkerhet. | |||
|- | |||
| -@ / --names-stdin || Läs listan av indatafiler från standard in, en fil per rad. | |||
|- | |||
| -$ / --volume-label || [MSDOS/OS2/WIN32] Inkludera volymetikett för enheten där första filen finns. För att endast ta med etiketten eller styra enhet: ange enhetsnamnet som första ”fil” (t.ex. ''zip -$ foo a: c:bar''). | |||
|} | |} | ||
== Exempel == | == Exempel == | ||
Enkelt: | |||
<pre> | |||
zip stuff * | |||
</pre> | |||
Skapar ''stuff.zip'' av alla filer i aktuell katalog (ej ”.”-filer på Unix, använd ''zip stuff .* *'' för att inkludera dem). | |||
Hela en katalog: | |||
<pre> | <pre> | ||
zip | zip -r foo foo | ||
</pre> | </pre> | ||
Utan katalognamnet (”junk paths”): | |||
<pre> | <pre> | ||
zip - | zip -j foo foo/* | ||
</pre> | </pre> | ||
Lite i taget när utrymmet är snålt (och flytta efteråt): | |||
<pre> | <pre> | ||
zip - | zip -rm foo foo/tom | ||
zip -rm foo foo/dick | |||
zip -rm foo foo/harry | |||
</pre> | </pre> | ||
Split-arkiv (t.ex. 2 GB-delar): | |||
<pre> | <pre> | ||
zip - | zip -s 2g -r split.zip foo | ||
</pre> | </pre> | ||
Uppdatera split-arkiv genom att skriva nytt arkiv: | |||
<pre> | <pre> | ||
zip - | zip inarchive.zip foo.c bar.c --out outarchive.zip | ||
</pre> | </pre> | ||
Lista filer via find: | |||
<pre> | <pre> | ||
find . -name "*.[ch]" -print | zip source -@ | |||
</pre> | </pre> | ||
== | Streama via tar: | ||
<pre> | |||
tar cf - . | zip backup - | |||
unzip -p backup | tar xf - | |||
</pre> | |||
== Mönstermatchning (Unix) == | |||
Skal (sh/csh/bash) expanderar normalt ?, *, [] före zip. Escapa med ”\” eller citattecken för att låta ''zip'' matcha mot arkivets interna vägar. Exempel: | |||
<pre> | |||
zip archive "*.[hc]" # matchar .h och .c | |||
zip archive "[a-f]*" # filer som börjar a–f | |||
zip archive "*.[!o]" # allt som inte slutar på .o | |||
</pre> | |||
På WIN32 måste []-matchning aktiveras med ''-RE''. För -i/-x/-R/-d/-U ska jokertecken nästan alltid escapas. | |||
== Miljövariabler == | |||
; ZIPOPT : Standardflaggor som infogas efter ''zip'' i kommandoraden. | |||
; ZIP : (ej RISC OS/VMS) alias för ZIPOPT. | |||
; Zip$Options, Zip$Exts : [RISC OS] standardflaggor respektive extensionhantering. | |||
; ZIP_OPTS : [VMS] som ZIPOPT. | |||
== Diagnostik == | |||
Returvärden (ungefär PKWARE): | |||
; 0 : OK. | |||
; 2 : Oväntat arkivslut. | |||
; 3 : Generiskt zipformatfel (bearbetning kan ändå ha lyckats). | |||
; 4 : Kunde inte allokera minne. | |||
; 5 : Allvarligt zipformatfel (troligen stop). | |||
; 6 : Post för stor (utan Zip64) / för stor för ''zipsplit''. | |||
; 7 : Ogiltigt kommentarsformat. | |||
; 8 : ''zip -T'' misslyckades eller minne slut. | |||
; 9 : Avbruten av användare (Ctrl-C). | |||
; 10 : Fel vid användning av temporärfil. | |||
; 11 : Läs-/sökfel. | |||
; 12 : Inget att göra. | |||
; 13 : Saknat eller tomt zip-arkiv. | |||
; 14 : Skrivfel. | |||
; 15 : Kunde inte skapa fil att skriva till. | |||
; 16 : Felaktiga kommandoradsparametrar. | |||
; 18 : Kunde inte öppna specificerad fil för läsning. | |||
; 19 : Kompilerad med alternativ som inte stöds på detta system. | |||
[VMS] mappar Unix/PC-returvärden till VMS-stil (Facility 1955, Code=2*Unix_status, Severity enligt ziperr.h). | |||
== | == Buggar == | ||
''zip 3.0'' är inte kompatibelt med PKUNZIP 1.10 (använd ''zip 1.1'' om sådan kompatibilitet krävs). Uppdatera inte ''zip 3.0''-arkiv med ''zip 1.1''/PKZIP 1.10 om de innehåller krypterade medlemmar eller har skapats via pipe/oseekbar enhet (felaktigt format). Vissa VMS-format hanteras inte; använd stream-LF eller konvertera. OS/2 har begränsningar i DosFindFirst/Next för tecken som ”!” och ”#”. | |||
== | == Författare == | ||
Copyright © 1990–2008 Info-ZIP (Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush, Paul Kienitz m.fl.). Distribueras under Info-ZIP-licens. Se projektsidan för felrapporter (inkl. ''zip -v''-utskrift, byggflaggor, OS-version m.m.). | |||
== Tack == | |||
Tack till R. P. Byrne (Shrink.Pas), Phil Katz (ZIP-formatet), Steve Burg (deflate-klargöranden), Haruhiko Okumura & Leonid Broukhis (idéer), Keith Petersen, Rich Wales, Hunter Goatley, Mark Adler (lista/ftp) och testare i Info-ZIP-gruppen. Manualsidan omskriven för Unix av R. P. C. Rodgers, uppdaterad av E. Gordon för ''zip 3.0''. | |||
== Se även == | |||
[[compress(1)]], [[shar(1)]], [[tar(1)]], [[unzip(1)]], [[gzip(1)]] | |||
== Refereras av == | |||
[[7z(1)]], [[7za(1)]], [[archivemount(1)]], [[ark(1)]], [[cboard(6)]], [[gzip(1)]], [[libarchive-formats(5)]], [[lrunzip(1)]], [[lrzcat(1)]], [[lrzip(1)]], [[lrztar(1)]], [[lrzuntar(1)]], [[pbzip2(1)]], [[stone(3)]], [[unzipsfx(1)]], [[zipcloak(1)]], [[zipnote(1)]], [[zipsplit(1)]] | |||
= Sidslut = | = Sidslut = | ||
Nuvarande version från 29 augusti 2025 kl. 17.03
Namn
zip – paketera och komprimera (arkivera) filer
Syntax
zip [ -aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$ ] [ --longoption ... ]
[ -b sökväg ] [ -n suffixer ] [ -t datum ] [ -tt datum ]
[ zipfil [ fil ... ] ] [ -xi lista ]
Beskrivning
zip är ett verktyg för komprimering och filpaketering för Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga och Acorn RISC OS. Det motsvarar ungefär en kombination av tar(1) och compress(1) och är kompatibelt med PKZIP (Phil Katz’ ZIP för MSDOS).
Ett syskonprogram (unzip(1)) packar upp zip-arkiv. zip och unzip kan arbeta med arkiv skapade av PKZIP (stöd för de flesta funktioner upp till PKZIP 4.6). zip 3.0 är kompatibelt med PKZIP 2.04 och stöder även Zip64-förlängningarna (PKZIP 4.5) som låter både arkiv och filer överstiga 4 GB/64k poster. zip kan även använda bzip2-komprimering om biblioteket är länkat vid kompilering (kräver modern unzip).
Se avsnittet EXEMPEL längst ned för typiska användningsfall.
Stora arkiv och Zip64. zip använder Zip64 automatiskt när nödvändigt (t.ex. filer > 4 GB, arkiv > 4 GB, > ~64k poster, eller streamade arkiv när storleken inte är känd i förväg). För att extrahera Zip64 behövs en unzip kompatibel med PKZIP 4.5 (t.ex. unzip 6.0 eller senare). Vissa kombinationer – t.ex. streamade arkiv, standardkryptering eller split-arkiv med paus – kan använda databeskrivare (data descriptors) som äldre PKZIP inte stöder.
Mac OS X. Mac OS X stöds via Unix-porten. Hänvisningar till ”MacOS” avser äldre system. Stöd för t.ex. resource forks i Unix-porten förväntas i kommande släpp.
Kort hjälp. Kör zip eller unzip utan argument för en kort hjälpsida.
Användning
Programmet används för att paketera filer för distribution, arkivering och utrymmesbesparing. zip placerar en eller flera komprimerade filer i ett arkiv och sparar filnamn, sökväg, datum/tid för senaste ändring, skydd/attribut samt kontrollinformation för integritetskontroll. Hela katalogträd kan packas i ett kommando. Kompression 2:1–3:1 är vanlig för text. zip har metoden deflate samt kan lagra okomprimerat; om bzip2 finns kan den metoden också användas. zip väljer automatisk bästa av kompression/lagra per fil.
Kommandomall
zip [alternativ] arkiv inpath inpath ...
Där arkiv är nytt eller existerande zip-arkiv och inpath är fil- eller katalognamn (jokertecken tillåtna). Om arkivet finns ersätts poster med samma relativa namn, nya läggs in.
-@ fil-listor. zip -@ foo läser filnamn en per rad från stdin (ej på MacOS). Vanligt med find | zip -@.
Streaming in/ut. Zipfilnamn ”-” skriver till stdout (t.ex. pipe till band). En indatafil ”-” läses från stdin (t.ex. tar cf - . | zip backup -). Om Zip64 är aktiverat och zip används som filter skapas Zip64-ström (kräver unzip 4.5+). -fz- kan tvinga PKZIP-2-kompatibelt om <4 GB, annars fel.
Zip-filer. Vid ändring av ett befintligt arkiv skrivs ett temporärt arkiv som ersätter det gamla vid lyckad slutföring. Saknas suffix läggs .zip till; split-arkiv kräver .zip på sista delen.
Skanning. Lång filskanning visar ”Scanning files …” med punkter. -q tystar. -sf listar filer utan att bearbeta.
Kommandolägen. zip har externa lägen (läser från filsystem) och interna (verkar endast på arkivposter):
- add (standard): uppdatera/addera.
- update (-u): uppdatera ändrade + addera nya.
- freshen (-f): uppdatera ändrade, addera ej nya.
- delete (-d): ta bort valda poster.
- copy (-U + --out): välj poster i arkivet och skriv nytt arkiv (ursprung lämnas orört).
- filesync (-FS): synka arkiv med filsystem (ersätter där tid/storlek skiljer, adderar nya, raderar poster utan motsvarighet). Kan ta bort – säkerhetskopiera eller använd --out.
Se även -DF för differensarkiv.
Split-arkiv. zip 3.x kan skapa split-arkiv (ARCHIVE.z01, .z02, … .zip). Spanned (diskettvolymer) stöds ej direkt. Använd -s för split-storlek och -sp för paus mellan delar (byte av media). Uppdatering av split görs via --out. -O/--out kan konvertera split-storlek eller slå ihop med -s 0.
Unicode. Zip-standarden definierar ett ”lokalt” teckenset för sökvägar; i praktiken sparas lokalt. Med Unicode-stöd sparar zip även UTF-8-version av sökvägen för portabilitet. Konsolfönster kan visa fel tecken, men filhanterare visar rätt med rätt typsnitt. -UN styr beteende vid mismatch.
Kommandorad. Kortflaggor kan negateras med ”-” efter flaggan, värden kan följa direkt, med ”=” eller som nästa argument. Långflaggor börjar med ”--” och kan kortas till unik prefix; negation med avslutande ”-”. Värden med ”=” eller efterföljande argument. Se -sc.
Flaggor
| Flagga | Beskrivning |
|---|---|
| -a / --ascii | [EBCDIC-system] Översätt text till ASCII vid lagring (textläge). |
| -A / --adjust-sfx | Justera offsetar i ett självextraherande arkiv (SFX) efter att ett SFX-stub har försatts. På Amiga kan endast Amiga-porten uppdatera SFX; använd -J för att ta bort stub om annat krävs. |
| -AC / --archive-clear | [WIN32] Rensa arkivbiten på filer som packats (efter ev. -T-test). Varning: när biten rensats är den borta. Kombinera ev. med -sf och -MM. Se även -DF. |
| -AS / --archive-set | [WIN32] Inkludera bara filer med satt arkivbit. Kataloger lagras normalt bara som sökvägar. Kan användas med -AC för inkrementella säkerhetskopior (ej helt tillförlitlig då andra program manipulerar biten). Alternativ: -t (datum) eller -DF (differens). |
| -B / --binary | [VM/CMS, MVS] Tvinga binär läsning (standard är text). |
| -Bn | [TANDEM] Sätt Edit/Enscribe-formatflaggor: bit0=ingen delimiter, bit1=LF istället för CR/LF, bit2=space-fylla, bit3=trimma spaces, bit8=force 30K read. |
| -b PATH / --temp-path PATH | Använd angiven temporär plats för arbetsarkiv. Nyttigt om källfilsystemet saknar utrymme för både gammalt och nytt arkiv samtidigt. |
| -c / --entry-comments | Fråga efter enradiga kommentarer för varje fil. Operationen körs först, sedan frågas efter kommentarer. |
| -C / --preserve-case | [VMS] Bevara skiftläge (alla) på VMS. -C- nedkonverterar. |
| -C2 / --preserve-case-2 | [VMS] Bevara skiftläge (ODS2). -C2- nedkonverterar. |
| -C5 / --preserve-case-5 | [VMS] Bevara skiftläge (ODS5). -C5- nedkonverterar. |
| -d / --delete | Ta bort poster ur ett arkiv. Mönster matchar arkivets interna vägar. På MSDOS är matchning skiftlägeskänslig (se -ic för att ignorera skiftläge). |
| -db / --display-bytes | Visa löpande antal bearbetade byte (zippade och kvar). |
| -dc / --display-counts | Visa räknare för poster bearbetade och kvar. |
| -dd / --display-dots | Visa ”prickar” medan varje post komprimeras. Standard: en prick per 10 MB. Även -v visar prickar. Prickstorlek styrs av -ds. |
| -df / --datafork | [MacOS] Endast data-fork lagras (ej resource fork). Bra för export till andra OS. |
| -dg / --display-globaldots | Visa progressprickar för hela arkivet istället för per fil. Kombinera med t.ex. zip -qdgds 10m för tyst + prickar var 10 MB. |
| -ds SIZE / --dot-size SIZE | Sätt intervall för prickar (t.ex. 100k, 10m, 1g). 0 stänger av prickar. Påverkar även -v. Gäller inte ”Scanning files”-prickar. |
| -du / --display-usize | Visa okomprimerad storlek per post. |
| -dv / --display-volume | Visa volym-/disknummer för läsning/skrivning när arkiv läses/skrivs (t.ex. split). |
| -D / --no-dir-entries | Skapa inte separata katalogposter i arkivet (standard är att skapa dem för att spara attribut). Kan sättas som standard via ZIPOPT. |
| -DF / --difference-archive | Skapa ett differensarkiv med nya/förändrade filer sedan originalarkivet skapades (jämför storlek och tid). Kör i samma katalog med samma inlista som originalet. Kräver korrekt TZ. |
| -e / --encrypt | Kryptera innehåll. Lösenord efterfrågas två gånger (tyst). Standardkryptering är relativt svag – använd starkare kryptering (PGP) för känsligt material. |
| -E / --longnames | [OS/2] Använd .LONGNAME-extended attribute som filnamn. |
| -f / --freshen | ”Fräscha upp”: ersätt endast filer som redan finns i arkivet och är äldre än källan. Lägger inte till nya filer. Kräver korrekt TZ. |
| -F / --fix | Försök reparera arkivet när centralkatalogen finns delvis. Hoppar över inkonsistenta poster; resultatet ska vara giltigt. |
| -FF / --fixfix | Hårdare reparation: skanna från början efter signaturer. Krävs om arkivet är kraftigt skadat eller avklippt i slutet. Kan skapa inkonsekvent arkiv – kör därefter -F. |
| -FI / --fifo | [Unix] Läs även FIFOs (named pipes). Som standard hoppas FIFOs över (risk för hängning). |
| -FS / --filesync | Synkronisera arkivet mot filsystemet: kopiera oförändrade poster, recomprimera ändrade, och TA BORT poster som saknar motsvarighet på disk. Kör i samma rot som vid skapande så relativa sökvägar matchar. Använd --out om originalet inte får ändras. Kräver korrekt TZ. |
| -g / --grow | ”Väx”: lägg till i befintligt arkiv istället för att skapa nytt. Om operationen misslyckas försöker zip återställa. Ignoreras om någon post måste uppdateras/ta bortas. |
| -h / -? / --help | Visa hjälp (utan argument visar zip hjälp; med endast -v visas versionsinfo, se -v). |
| -h2 / --more-help | Utökad hjälp om kommandorad, mönstermatchning och ovanliga flaggor. |
| -i MÖNSTER… / --include MÖNSTER… | Inkludera endast filer som matchar mönstren (matchning sker på arkivets interna vägar). Lista kan avslutas med ett ensamt ”@”. Jokertecken kräver escapning på Unix-skal. |
| -I / --no-image | [Acorn RISC OS] Skanna inte igenom ”Image files” (t.ex. DOS-partitioner eller Spark-arkiv); lagra dem som enstaka filer. |
| -ic / --ignore-case | [VMS, WIN32] Ignorera skiftläge även vid matchning mot arkivposter (t.ex. -f, -d, -U). Kan orsaka att flera poster matchas. |
| -j / --junk-paths | Släng sökvägar: bara filnamn lagras (katalogposter skapas inte). |
| -jj / --absolute-path | [MacOS] Lagra full sökväg inkl. volymnamn. Standard är relativ sökväg. |
| -J / --junk-sfx | Ta bort ett förprependat SFX-stub (”preamble”) från arkivet. |
| -k / --DOS-names | Försök konvertera namn/sökvägar till DOS-kompatibla, spara endast DOS-attribut och markera posten som skapad på MSDOS (för kompatibilitet med äldre PKUNZIP). |
| -l / --to-crlf | Översätt Unix LF → MSDOS CRLF (textfiler; använd inte på binärfiler). Läggs till extra CR om filen redan har CRLF för att möjliggöra exakt återställning med unzip -a. |
| -la / --log-append | Append till befintlig loggfil (standard är overwrite). |
| -lf PATH / --logfile-path PATH | Skriv logg till fil. Med -la appendas. Med -li inkluderas informationsmeddelanden; annars bara varningar/fel samt avslutande status. |
| -li / --log-info | Skriv även informationsmeddelanden till loggfilen (filnamn, framsteg m.m.). |
| -ll / --from-crlf | Översätt MSDOS CRLF → Unix LF (textfiler; inte på binärfiler). Kontrollerar första bufferten för binärt innehåll och hoppar då över konvertering. Nyare detektering stöder UTF-8 m.fl. |
| -L / --license | Visa licens för zip. |
| -m / --move | Flytta: lägg till filer i arkivet och radera original efter lyckad arkivering. Rekommenderas tillsammans med -T (testa först). |
| -MM / --must-match | Alla in-mönster måste matcha minst en fil och alla hittade filer måste vara läsbara. Annars avbryter zip direkt med felkod (OPEN/18) och inget arkiv skapas. |
| -n SUFFIXER / --suffixes SUFFIXER | Komprimera inte filer med listade suffix (separerade med ”:” eller ”;”), de lagras ”store”. Standardlista inkluderar .Z .zip .zoo .arc .lzh .arj. -9 försöker komprimera alla oavsett suffix. På RISC OS är suffix = filtyper (hex). |
| -nw / --no-wild | Ingen intern jokerteckenexpansion (skalet kan dock expandera om inte escapat). Bra vid läsning av färdiga sökvägslistor. |
| -N / --notes | [Amiga, MacOS] Spara filnoter som zip-kommentarer (kan återställas med unzip -N). Med -c frågas bara för filer utan filnot. |
| -o / --latest-time | Sätt arkivets mtime till den senaste mtime bland posterna. Kan användas fristående. Kräver korrekt TZ för jämförelser. |
| -O FIL / --output-file FIL / --out FIL | Skriv förändrat arkiv till ny fil istället för att uppdatera originalet (krävs för att uppdatera split-arkiv). Kan även användas för att konvertera split-storlek (t.ex. -s 2g in.zip --out out.zip) eller slå ihop (-s 0). |
| -p / --paths | Inkludera relativa sökvägar (standard). -j slänger sökvägar. |
| -P LÖSEN / --password LÖSEN | Använd angivet lösenord (osäkert – synligt i processlistor, loggar m.m.). Föredra interaktiv inmatning eller starkare kryptering. |
| -q / --quiet | Tyst läge: inga informationsmeddelanden eller kommentarsfrågor (nyttigt i skript/bakgrund). |
| -Qn / --Q-flag n | [QDOS] Lagra QDOS-huvudinfo: bit0=lägg ej till headers, bit1=lägg till för alla, bit2=välj bort ”tryck tangent vid avslut”. |
| -r / --recurse-paths | Rekursivt: gå ned i katalogträd och lägg till allt (även filer som börjar med ”.” då expansion inte görs av skalet). Använd -i/-x för att välja subset. |
| -R / --recurse-patterns | Rekursiv matchning från nuvarande katalog baserad på mönster (på arkivets interna vägar), t.ex. zip -R foo "*.c". |
| -RE / --regex | [WIN32] Återaktivera [ ]-matchning (regex-liknande) på Windows (avstängd som standard p.g.a. förväxling med filnamn som innehåller [ eller ]). |
| -s N / --split-size N | Skapa split-arkiv och sätt delstorlek (heltal + valfri multiplikator k/m/g/t; default m). Skapar ARCHIVE.z01, .z02, …, .zip. -s 0 eller negation slår ihop. Uppdateringar görs via --out. |
| -sb / --split-bell | Ring ”bell” vid paus för varje ny split (kräver -sp). |
| -sc / --show-command | Visa den tolkade kommandoraden (inkl. ZIPOPT) och avsluta. Hjälper att förstå hur argument permuteras/sammansmälts. |
| -sf / --show-files | Visa vilka filer som skulle bearbetas och avsluta. Med -sf- skrivs endast till öppen loggfil. |
| -so / --show-options | Visa alla tillgängliga flaggor på denna byggda binär (avläser intern optionstabell). |
| -sp / --split-pause | Split med paus: skriv varje del sekventiellt och pausa för media-byte. Använder streamformat som vissa unzippar kan ha problem med – testa innan produktion. Konvertera till standard med --out. |
| -su / --show-unicode | Som -sf men visa även Unicode-versionen av sökvägen om den finns. |
| -sU / --show-just-unicode | Visa endast Unicode-sökvägen om den finns, annars standardvarianten. |
| -sv / --split-verbose | Extra information vid split (hur uppdelning sker). |
| -S / --system-hidden | [MSDOS/OS2/WIN32/ATARI] Inkludera system- och dolda filer. [MacOS] Inkludera ”finder invisible”. |
| -t MMDDYYYY / --from-date MMDDYYYY | Bearbeta endast filer ändrade på eller efter datumet. Även ISO 8601 YYYY-MM-DD. Kräver korrekt TZ. |
| -tt MMDDYYYY / --before-date MMDDYYYY | Bearbeta endast filer ändrade före datumet. Även ISO 8601 YYYY-MM-DD. Kräver korrekt TZ. |
| -T / --test | Testa det nya arkivet. Om testet misslyckas lämnas det gamla arkivet orört och -m tar inte bort källfiler. |
| -TT CMD / --unzip-command CMD | Använd kommando CMD istället för unzip -tqq vid test (-T). {} ersätts med temporär arkivfil; annars läggs filnamn sist. |
| -u / --update | Uppdatera: ersätt poster som är äldre än källan och lägg till nya. -u utan argument beter sig som -f. |
| -U / --copy-entries | Kopiera utvalda poster från in-arkiv till nytt arkiv (kräver --out). Mönstren matchar ENDAST arkivets poster (filsystemet läses inte). Bra för att ändra split-storlek eller filtrera. Kryptering/dekryptering stöds ej i copy-läge (använd zipcloak). |
| -UN v / --unicode v | Styr hur Unicode-sökvägar hanteras vid mismatch mellan lokal och UTF-8: q=avsluta, w=varna (standard), i=ignorera, n=använd ej Unicode, e=escapa icke-ASCII (#Uxxxx/#Lxxxxxx), u=lagra UTF-8 som ”native”. |
| -v / --verbose | Verbos: visa prickar (10 MB default, styrs av -ds), rapportera zip-strukturens egenheter. Om -v är enda argumentet skrivs diagnostik/version (kan omdirigeras till fil). |
| -V / --VMS-portable | [VMS] Spara VMS-attribut (Stream_LF och rena binärer extraheras normalt på icke-VMS; indexerade/varlängd kan se korrupta ut). |
| -VV / --VMS-specific | [VMS] Spara VMS-attribut och alla allokerade block (inkl. data efter EOF). Nästan alla filer ser korrupta ut utanför VMS. |
| -w / --VMS-versions | [VMS] Bifoga versionsnummer (flera versioner lagras). Standard: endast senaste. |
| -ww / --VMS-dot-versions | [VMS] Bifoga versionsnummer med .nnn-format. |
| -ws / --wild-stop-dirs | Jokertecken matchar inte över katalognivåer. Använd ** för att matcha över gränser. Utan -ws matchar /foo/bar/* både /foo/bar/file och /foo/bar/dir/file. |
| -x MÖNSTER… / --exclude MÖNSTER… | Exkludera mönster (matchning mot interna vägar). Listor kan läsas via @fil. Escapa jokertecken på skal som expanderar. |
| -X / --no-extra | Spara inte extra-attribut (EA på OS/2, uid/gid/tider på Unix). Endast Unicode- och Zip64-extra fält sparas. -X- inkluderar default extra OCH kopierar okända extra-fält. |
| -y / --symlinks | [Unix/VMS≥8.3] Lagra symboliska länkar som länkar istället för att följa dem (undviker dubbletter). |
| -z / --archive-comment | Arkivkommentar för hela arkivet (multirad; avsluta med en rad med endast ”.”, eller EOF). Kan också läsas från fil: zip -z foo < kommentar.txt. |
| -Z METOD / --compression-method METOD | Sätt metod: store (ingen kompr, motsv. -0), deflate (standard), bzip2 (om kompilerat in; metod 12 – stöd varierar). zip -Z bzip2 foo bar.c. |
| -0 … -9 | Komprimeringsnivå: -0=ingen (store), -1=snabb, … -9=bäst (standard -6). Påverkar främst deflate. |
| -! / --use-privileges | [WIN32] Använd tilldelade privilegier för att läsa alla aspekter av NT-säkerhet. |
| -@ / --names-stdin | Läs listan av indatafiler från standard in, en fil per rad. |
| -$ / --volume-label | [MSDOS/OS2/WIN32] Inkludera volymetikett för enheten där första filen finns. För att endast ta med etiketten eller styra enhet: ange enhetsnamnet som första ”fil” (t.ex. zip -$ foo a: c:bar). |
Exempel
Enkelt:
zip stuff *
Skapar stuff.zip av alla filer i aktuell katalog (ej ”.”-filer på Unix, använd zip stuff .* * för att inkludera dem).
Hela en katalog:
zip -r foo foo
Utan katalognamnet (”junk paths”):
zip -j foo foo/*
Lite i taget när utrymmet är snålt (och flytta efteråt):
zip -rm foo foo/tom zip -rm foo foo/dick zip -rm foo foo/harry
Split-arkiv (t.ex. 2 GB-delar):
zip -s 2g -r split.zip foo
Uppdatera split-arkiv genom att skriva nytt arkiv:
zip inarchive.zip foo.c bar.c --out outarchive.zip
Lista filer via find:
find . -name "*.[ch]" -print | zip source -@
Streama via tar:
tar cf - . | zip backup - unzip -p backup | tar xf -
Mönstermatchning (Unix)
Skal (sh/csh/bash) expanderar normalt ?, *, [] före zip. Escapa med ”\” eller citattecken för att låta zip matcha mot arkivets interna vägar. Exempel:
zip archive "*.[hc]" # matchar .h och .c zip archive "[a-f]*" # filer som börjar a–f zip archive "*.[!o]" # allt som inte slutar på .o
På WIN32 måste []-matchning aktiveras med -RE. För -i/-x/-R/-d/-U ska jokertecken nästan alltid escapas.
Miljövariabler
- ZIPOPT
- Standardflaggor som infogas efter zip i kommandoraden.
- ZIP
- (ej RISC OS/VMS) alias för ZIPOPT.
- Zip$Options, Zip$Exts
- [RISC OS] standardflaggor respektive extensionhantering.
- ZIP_OPTS
- [VMS] som ZIPOPT.
Diagnostik
Returvärden (ungefär PKWARE):
- 0
- OK.
- 2
- Oväntat arkivslut.
- 3
- Generiskt zipformatfel (bearbetning kan ändå ha lyckats).
- 4
- Kunde inte allokera minne.
- 5
- Allvarligt zipformatfel (troligen stop).
- 6
- Post för stor (utan Zip64) / för stor för zipsplit.
- 7
- Ogiltigt kommentarsformat.
- 8
- zip -T misslyckades eller minne slut.
- 9
- Avbruten av användare (Ctrl-C).
- 10
- Fel vid användning av temporärfil.
- 11
- Läs-/sökfel.
- 12
- Inget att göra.
- 13
- Saknat eller tomt zip-arkiv.
- 14
- Skrivfel.
- 15
- Kunde inte skapa fil att skriva till.
- 16
- Felaktiga kommandoradsparametrar.
- 18
- Kunde inte öppna specificerad fil för läsning.
- 19
- Kompilerad med alternativ som inte stöds på detta system.
[VMS] mappar Unix/PC-returvärden till VMS-stil (Facility 1955, Code=2*Unix_status, Severity enligt ziperr.h).
Buggar
zip 3.0 är inte kompatibelt med PKUNZIP 1.10 (använd zip 1.1 om sådan kompatibilitet krävs). Uppdatera inte zip 3.0-arkiv med zip 1.1/PKZIP 1.10 om de innehåller krypterade medlemmar eller har skapats via pipe/oseekbar enhet (felaktigt format). Vissa VMS-format hanteras inte; använd stream-LF eller konvertera. OS/2 har begränsningar i DosFindFirst/Next för tecken som ”!” och ”#”.
Författare
Copyright © 1990–2008 Info-ZIP (Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush, Paul Kienitz m.fl.). Distribueras under Info-ZIP-licens. Se projektsidan för felrapporter (inkl. zip -v-utskrift, byggflaggor, OS-version m.m.).
Tack
Tack till R. P. Byrne (Shrink.Pas), Phil Katz (ZIP-formatet), Steve Burg (deflate-klargöranden), Haruhiko Okumura & Leonid Broukhis (idéer), Keith Petersen, Rich Wales, Hunter Goatley, Mark Adler (lista/ftp) och testare i Info-ZIP-gruppen. Manualsidan omskriven för Unix av R. P. C. Rodgers, uppdaterad av E. Gordon för zip 3.0.
Se även
compress(1), shar(1), tar(1), unzip(1), gzip(1)
Refereras av
7z(1), 7za(1), archivemount(1), ark(1), cboard(6), gzip(1), libarchive-formats(5), lrunzip(1), lrzcat(1), lrzip(1), lrztar(1), lrzuntar(1), pbzip2(1), stone(3), unzipsfx(1), zipcloak(1), zipnote(1), zipsplit(1)
Sidslut
Orginalhemsidan på Engelska : https://linux.die.net/man/1/zip
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.