Der er en række forskellige måder at komprimere filer ved hjælp af Linux-kommandolinjen. Denne artikel indeholder praktiske eksempler, der viser, hvordan du bruger zip-kommandoen til at komprimere og organisere filer i dit filsystem.
Zippede filer bruges, når du skal spare plads og kopiere store filer fra et sted til et andet.
Hvis du har 10 filer, der alle er 100 megabyte, og du skal overføre dem til en ftp-side, kan overførslen tage lang tid afhængigt af processorhastigheden.
Hvis du komprimerer alle 10 filer til et enkelt zip-arkiv, og komprimeringen reducerer filstørrelsen til 50 MB pr. Fil, skal du kun overføre halvdelen af så mange data.
Sådan oprettes et arkiv af alle filer i en mappe
Forestil dig at du har en mappe med sange med følgende MP3-filer i den:
Night Prowler.mp3 |
Elsker sulten mand.mp3 |
Få det varmt.mp3 |
Gå hele dig over .mp3 |
Highway to hell.mp3 |
Hvis du vil have blod, har du det.mp3 |
Vis ned i flammer.mp3 |
Tryk for meget.mp3 |
Slår rundt om bushen.mp3 |
Piger fik Rhythm.mp3 |
Denne enkle Linux-kommando, der illustrerer, hvordan du opretter et arkiv af alle filerne i den aktuelle mappe kaldet ACDC_Highway_to_Hell.zip:
zip ACDC_Highway_to_Hell *
Tekst ruller op på skærmen, der viser filerne, som de bliver tilføjet.
Sådan inkluderes skjulte filer i et arkiv
Den foregående kommando er god til arkivering af alle filerne i en mappe, men det omfatter kun filer, der ikke er skjulte.
Det er ikke altid så enkelt. Forestil dig at du ville zip din hjemmemappe, så du kan sikkerhedskopiere den til et USB-drev eller en ekstern harddisk. Din hjemmemappe indeholder skjulte filer.
For at komprimere alle filer, herunder de skjulte filer i en mappe, skal du køre følgende kommando:
zip hjem *. *
Dette skaber en fil kaldet home.zip med alle filerne i hjemmemappen.
(Du skal være i hjemmemappen, for at dette kan fungere). Problemet med denne kommando er, at det kun indeholder filerne i hjemmemappen og ikke mapperne, hvilket bringer os til det næste eksempel.
Sådan arkiveres alle filer og undermapper i en zip-fil
Hvis du vil inkludere alle filer og undermapper i et arkiv, skal du køre følgende kommando:
zip -r hjem.
Sådan tilføjes nye filer til et eksisterende zip-arkiv
Hvis du vil tilføje nye filer til et eksisterende arkiv eller opdatere filerne i et arkiv, skal du bruge samme navn til arkivfilen, når du kører zip-kommandoen.
Forestil dig for eksempel, at du har en musikmappe med fire albums i den, og du opretter et arkiv kaldet music.zip for at blive som backup. Forestil dig nu en uge senere, downloader du to nye album. For at tilføje de nye album til zip-filen, skal du bare køre den samme zip-kommando som i foregående uge.
For at oprette det originale musikarkiv, kør følgende kode:
zip -r musik / hjem / din navn / musik /
For at tilføje nye filer til arkivet, kør den samme kommando igen.
Hvis zip-filen har en liste over filer i den, og en af filerne på disken er ændret, opdateres den ændrede fil i zip-filen.
Sådan opdateres eksisterende filer i et zip-arkiv
Hvis du har en zip-fil, der skal indeholde de samme filnavne hver gang, og du vil opdatere den fil med eventuelle ændringer, der er blevet foretaget til disse filer, så -f switch hjælper dig med at gøre dette.
For eksempel forestil dig, at du har en zip-fil med følgende filer:
/ Home / ditnavn / dokumenter / file1 |
/ Home / ditnavn / dokumenter / fil2 |
/ Home / ditnavn / dokumenter / fil3 |
/ Home / ditnavn / dokumenter / fil4 |
/ Home / ditnavn / dokumenter / file5 |
/ Home / ditnavn / dokumenter / file6 |
Forestil dig nu, at du i løbet af ugen tilføjede to nye filer og ændrede to filer, så mappen / hjemmet / din navn / dokumenter nu ser sådan ud:
/ Home / ditnavn / dokumenter / file1 |
/ Home / ditnavn / dokumenter / fil2 |
/ Home / ditnavn / dokumenter / fil3 |
/ home / yourname / documents / file4 (updated) |
/ home / yourname / documents / file5 (updated) |
/ Home / ditnavn / dokumenter / file6 |
/ Home / ditnavn / dokumenter / file7 |
/ Home / ditnavn / dokumenter / file8 |
Når du kører følgende kommando, vil zip-filen indeholde de opdaterede filer (file4 og file5), men filen7 og filen8 vil ikke blive tilføjet.
zip zipfilnavn -f -r / home / yourname / documents
Sådan slettes filer fra et zip-arkiv
Så du har skabt en massiv zip-fil med hundredvis af filer og nu indser, at der er fire eller fem filer i zip-filen, som du ikke behøver der. Uden at zip alle disse filer igen, kan du bare køre zip-kommandoen med -d skift som følger:
zip zipfilename -d navn på fil i arkiv
Hvis du f.eks. Har en fil i arkivet med navnet hjem / dokumenter / test.txt, sletter du det med denne kommando:
zip zipfilename -d hjem / dokumenter / test.txt
Sådan kopieres filer fra en zip-fil til en anden
Hvis du har filer i en zip-fil, og du vil kopiere dem til en anden zip-fil uden at udvinde dem først og rezipere dem, skal du bruge -u kontakt.
Antag at du har en zip-fil kaldet "variousmusic.zip" med musik fra forskellige kunstnere, hvoraf den ene er AC / DC. Du kan kopiere AC / DC-sange ud af filen variousmusic.zip til din ACDC.zip-fil ved hjælp af følgende kommando:
zip differentmusic.zip -U - out ACDC.zip "Back_In_Black.mp3"
Kommandoen ovenfor kopierer filen "Back_In_Black.mp3" fra variousmusic.zip til ACDC.zip.Hvis den zip-fil, du kopierer til, ikke findes, oprettes den.
Sådan bruges mønster matching og piping til at oprette et arkiv
Den næste switch er en virkelig nyttig, fordi den lader dig bruge output fra andre kommandoer til at indsætte filer i din zip-fil. Antag, at du vil oprette en fil kaldet lovesongs.zip, som indeholder hver sang, der har ordet kærlighed i titlen.
For at finde filerne med kærlighed i titlen kan du bruge følgende kommando:
find / home / yourname / musiknavn * kærlighed *
Ovennævnte kommando er ikke 100 procent perfekt, fordi den også optager ord som "kløver", men du får ideen. For at tilføje alle de returnerede resultater fra ovenstående kommando til en zip-fil kaldet lovesongs.zip, kør denne kommando:
find / home / yourname / musiknavn * kærlighed * | zip lovesongs.zip - @
Sådan opretter du et delt arkiv
Hvis du sikkerhedskopierer din computer, men det eneste medie, du har til rådighed til sikkerhedskopiering til, er et sæt tomme dvd'er, har du valg. Du kan fortsætte med at zippe filer, indtil zip-filen er 4,8 gigabyte og brænde dvd'en, eller du kan oprette noget, der hedder et delt arkiv, som holder op med at oprette nye arkiver i et sæt, når det når grænsen, du angiver.
For eksempel:
zip mymusic.zip -r / home / myfolder / musik -s 670m
Sådan tilpasses fremskridtsrapporten for Zipping-processen
Der er forskellige måder at tilpasse den udgang, der vises, mens zipping er i gang.
De tilgængelige omskiftere er som følger:
- -db = viser, hvor mange byte der er blevet zippet og hvor mange der skal tilbage
- -dc = viser et antal filer zippet og hvor mange der skal tilbage
- -dd = viser prikker for hver 10MB fil, der har lynet
- -ds = angiver hvor ofte prikker vises
- -du = viser den ukomprimerede størrelse af hver fil
For eksempel:
zip myzipfilename.zip -dc -r / home / music
Sådan repareres en zip-fil
Hvis du har et zip-arkiv, der er brudt, kan du prøve at rette det ved hjælp af -F kommando, og hvis det fejler, FF kommando.
Dette er nyttigt, hvis du har oprettet et delt arkiv ved hjælp af -s skifte, og du mistede en af arkiverne.
Forsøg eksempelvis først denne:
zip -F myfilename.zip - ud myfixedfilename.zip
og så
zip -FF myfilename.zip - ud myfixedfilename.zip
Sådan krypteres et arkiv
Hvis du har følsomme oplysninger, som du vil gemme i en zip-fil, skal du bruge -e kommando til at kryptere den. Du bliver bedt om at indtaste et kodeord og gentage adgangskoden.
For eksempel:
zip myfilename.zip -r / home / wikileaks -e
Sådan viser du, hvad der bliver pakket
Hvis du ved, at du skal oprette et stort arkiv, skal du sørge for, at de rigtige filer skal tilføjes til zip-filen. Du kan se de forventede resultater af en zip-kommando ved at angive -sf kontakt.
For eksempel:
zip myfilename.zip -r / home / music / -sf
Sådan testes et arkiv
Efter sikkerhedskopiering af filer til en zip-fil er det fristende at spare diskplads ved at slette de oprindelige filer. Før du gør det, er det en god idé at teste zip-filen fungerer korrekt.
Du kan bruge -T Skift for at teste, at zip-filen er gyldig.
For eksempel:
zip myfilename.zip -T
Output fra denne kommando, når et arkiv er ugyldigt, kan se lidt ud:
- lynlås advarsel: manglende ende signatur - sandsynligvis ikke en zip-fil
Husk, at du kan prøve kommandoen -F til at fastsætte brudte zip-filer.
Det er værd at bemærke, at -T kan producere falske positiver, fordi det siger, at en zip-fil er korrupt, selvom når du åbner den, kan du udtrække alle filerne.
Sådan udelades filer
Nogle gange vil du udelukke bestemte filer fra en zip-fil. Hvis du for eksempel kopierer filerne fra din telefon eller digitalkamera, har du en blanding af videoer og billeder. Du ønsker måske at zip-up billederne til photos.zip og videoer til videos.zip.
Her er en måde at udelukke videoerne, når du opretter photos.zip
zip photos.zip -r / home / photos / -x * .mp4
Sådan specificeres komprimeringsniveau
Når du komprimerer filer til en zip-fil, beslutter systemet, om du vil komprimere filen eller bare gemme den. MP3-filer, for eksempel, er allerede komprimeret, så der er ikke noget punkt i at komprimere dem yderligere; de gemmes som regel inden for en zip-fil.
Du kan dog angive et komprimeringsniveau mellem 0 og 9 for at komprimere en fil yderligere. Dette tager længere tid at gøre, men det kan medføre betydelige pladsbesparelser.
zip myfiles.zip -r / home -5