Hjemmeside » hvordan » Sådan komprimeres og udtages filer ved hjælp af tjærekommandoen på Linux

    Sådan komprimeres og udtages filer ved hjælp af tjærekommandoen på Linux

    Tjærekommandoen på Linux bruges ofte til at oprette .tar.gz eller .tgz arkivfiler, også kaldet "tarballs". Denne kommando har et stort antal muligheder, men du skal bare huske et par bogstaver for hurtigt at oprette arkiver med tjære . Tar-kommandoen kan også uddrage de resulterende arkiver.

    GNU-tar-kommandoen med Linux-distributioner har integreret komprimering. Det kan oprette et .tar arkiv og derefter komprimere det med gzip eller bzip2 kompression i en enkelt kommando. Derfor er den resulterende fil en .tar.gz fil eller .tar.bz2 fil.

    Komprimer en hel mappe eller en enkelt fil

    Brug følgende kommando til at komprimere en hel mappe eller en enkelt fil på Linux. Det komprimerer også alle andre mapper inde i en mappe, du angiver - med andre ord fungerer den rekursivt.

    tar -czvf name-of-archive.tar.gz / path / to / directory-or-file

    Her er hvad disse switche faktisk betyder:

    • -c: Create et arkiv.
    • -z: Komprimer arkivet med gzip.
    • -v: Vis fremskridt i terminalen, mens du opretter arkivet, også kendt som "verbose "-modus. V er altid valgfri i disse kommandoer, men det er nyttigt.
    • -f: Giver dig mulighed for at angive fArkivets navn.

    Lad os sige, at du har en mappe med navnet "stuff" i den nuværende mappe, og du vil gemme den til en fil ved navn archive.tar.gz. Du vil køre følgende kommando:

    tar -czvf archive.tar.gz ting

    Eller lad os sige, at der er en mappe på / usr / local / something på det nuværende system, og du vil komprimere det til en fil ved navn archive.tar.gz. Du vil køre følgende kommando:

    tar -czvf archive.tar.gz / usr / local / something

    Komprimer flere mapper eller filer på en gang

    Mens tjære ofte bruges til at komprimere en enkelt mappe, kan du også bruge den til at komprimere flere mapper, flere individuelle filer eller begge dele. Giv blot en liste over filer eller mapper i stedet for en enkelt. Lad os f.eks. Sige, at du vil komprimere mappen / home / ubuntu / Downloads, mappen / usr / local / stuff og filen /home/ubuntu/Documents/notes.txt. Du vil bare køre følgende kommando:

    tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

    Du skal blot liste så mange mapper eller filer, som du vil sikkerhedskopiere.

    Ekskluder mapper og filer

    I nogle tilfælde kan du ønske at komprimere en hel mappe, men ikke med visse filer og mapper. Du kan gøre det ved at tilføje en --udelukke skift til hver mappe eller fil, du vil ekskludere.

    Lad os sige at du vil komprimere / home / ubuntu, men du vil ikke komprimere / home / ubuntu / Downloads og /home/ubuntu/.cache-mapper. Sådan gør du det:

    tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads - eksclude = / home / ubuntu / .cache

    Det --udelukke switch er meget kraftfuld. Det tager ikke navne på mapper og filer - det accepterer faktisk mønstre. Der er meget mere, du kan gøre med det. For eksempel kan du arkivere en hel mappe og ekskludere alle .mp4 filer med følgende kommando:

    tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

    Brug bzip2 kompression i stedet

    Mens gzip-komprimering oftest bruges til at oprette .tar.gz eller .tgz-filer, understøtter tjære også bzip2-komprimering. Dette giver dig mulighed for at oprette bzip2-komprimerede filer, ofte kaldet .tar.bz2, .tar.bz eller .tbz filer. For at gøre det skal du bare erstatte -z for gzip i kommandoerne her med a -j for bzip2.

    Gzip er hurtigere, men det komprimerer generelt lidt mindre, så du får en noget større fil. Bzip2 er langsommere, men det komprimerer lidt mere, så du får en noget mindre fil. Gzip er også mere almindeligt, med nogle nedslidte Linux-systemer, herunder gzip-support som standard, men ikke bzip2-support. Generelt er gzip og bzip2 imidlertid næsten det samme, og begge vil fungere på samme måde.

    For eksempel, i stedet for det første eksempel, vi lagde til komprimering af tingmappen, ville du køre følgende kommando:

    tjære-cjvf archive.tar.bz2 ting

    Uddrag et arkiv

    Når du har et arkiv, kan du ekstrahere det med tjære kommandoen. Følgende kommando udtræk indholdet af archive.tar.gz til den aktuelle mappe.

    tjære -xzvf archive.tar.gz

    Det er det samme som den arkivkommandokommando, vi brugte ovenfor, undtagen -x switch erstatter -c kontakt. Dette angiver, at du vil exTrakt et arkiv i stedet for at oprette en.

    Du kan eventuelt udtrække arkivets indhold til en bestemt mappe. Du kan gøre det ved at tilføje -C skift til slutningen af ​​kommandoen. For eksempel vil den følgende kommando udtrække indholdet af filen archive.tar.gz til / tmp-biblioteket.

    tjære -xzvf archive.tar.gz -C / tmp

    Hvis filen er en bzip2-komprimeret fil, skal du erstatte "z" i ovennævnte kommandoer med en "j".


    Dette er den enkleste mulige anvendelse af tjære kommandoen. Kommandoen indeholder et stort antal ekstra muligheder, så vi kan muligvis ikke liste dem alle her. For mere information. køre info tjære kommandoen på skallen for at se tjærekommandos detaljerede informationsside. Tryk på q nøgle til at afslutte informationssiden, når du er færdig. Du kan også læse tjærehåndbog online.

    Hvis du bruger et grafisk Linux-skrivebord, kan du også bruge filkomprimeringsværktøjet eller filhåndteringen, der fulgte med skrivebordet, til at oprette eller udtrække .tar-filer. På Windows kan du udtrække og oprette .tar arkiver med gratis 7-Zip-hjælpeprogrammet.