Hyppää sisältöön

Pakkaus- ja pakkaustyökalut

Kun suuria aineistoja tallennetaan CSC:llä tai siirretään internetin yli, on yleensä järkevää arkistoida (eli pakata useita tiedostoja yhdeksi tiedostoksi) ja pakata (eli pienentää sen kokoa ilman datan menetystä) data. Arkistointi helpottaa tiedostojen siirtämistä, ja pakatut tiedostot vaativat vähemmän tallennustilaa ja ovat siksi nopeampia siirtää järjestelmästä toiseen. Tässä luvussa esittelemme Zstandard-, tar-, gzip-, bzip2-, zip- ja 7zip-työkalut, joita käytetään usein arkistointiin ja pakkaukseen. Näistä Zstandard (zstd) on suositeltu oletus useimpiin käyttötapauksiin. Se on huomattavasti nopeampi kuin gzip/bzip2/zip ja saavuttaa samalla vastaavan tai paremman pakkaussuhteen.

Type Extension
Zstandardilla pakattu tiedosto .zst
zip-arkisto .zip, .ZIP, or .Z
gzip-pakattu tiedosto .gz
bzip2-pakattu tiedosto .bz2, or .bz
tar-arkisto .tar
gzip-pakattu tar-arkisto .tar.gz, or .tgz
bzip2-pakattu tar-arkisto .tar.bz2, .tar.bz, .tbz, or .tbz2
7zip-pakattu tiedosto .7z

tar: useiden tiedostojen pakkaaminen yhdeksi tiedostoksi

tar on ohjelmistotyökalu, jolla kerätään useita tiedostoja yhteen arkistotiedostoon, jota kutsutaan usein nimellä tarball, jakelua tai varmuuskopiointia varten. Nimi tulee sanoista tape archive, koska se kehitettiin alun perin kirjoittamaan dataa peräkkäisiin I/O-laitteisiin, joilla ei ollut omaa tiedostojärjestelmää. Nykyään taria – ja sen GNU-versiota gtar – käytetään kuitenkin pääasiassa datan arkistointiin tavallisessa levyympäristössä. Tarin luomat arkistotiedostot sisältävät erilaisia tiedostojärjestelmän parametreja, kuten nimen, aikaleimat, omistajuuden, tiedostojen käyttöoikeudet ja hakemistorakenteet, mikä helpottaa suurten tiedostojoukkojen siirtämistä ja tallentamista verrattuna erillisten tiedostojen hallintaan.

Oletuksena tar ei pakkaa dataa. Tämä tarkoittaa, että tar-arkistotiedoston koko on sama kuin pakattujen tiedostojen kokojen summa, lisättynä pienellä määrällä metatietoa. Jos datan pakkausta tarvitaan, voit käyttää tarin kanssa pakkaustyökaluja kuten gzip tai bzip2.

tar ja gtar ovat yhteensopivia keskenään; jos arkistoit datan tarilla, voit purkaa sen gtarilla ja päinvastoin. Normaalisti tar ja/tai gtar löytyvät mistä tahansa Unix-, Linux- tai macOS- järjestelmästä. Windows-järjestelmissä voit käyttää esimerkiksi 7zip- ohjelmaa tar-arkistotiedostojen käsittelyyn.

tar-komennon syntaksi on:

tar options tar_archive file ...

Esimerkiksi meillä voi olla hakemisto nimeltä project_3, joka sisältää yhdeksän tiedostoa nimeltä sample1.txt, sample2.txt, ..., sample9.txt. Hakemiston sisällön listaamiseen voisimme käyttää komentoa ls -lh:

$ ls -lh project_3
total 53M
-rw-r--r--+ 1 testuser csc  16M Nov  9 10:41 sample1.txt
-rw-r--r--+ 1 testuser csc  16M Nov  9 10:41 sample2.txt
-rw-r--r--+ 1 testuser csc 1.3M Nov  9 10:41 sample3.txt
-rw-r--r--+ 1 testuser csc 1.9M Nov  9 10:41 sample4.txt
-rw-r--r--+ 1 testuser csc 1.9M Nov  9 10:41 sample5.txt
-rw-r--r--+ 1 testuser csc 3.7M Nov  9 10:42 sample6.txt
-rw-r--r--+ 1 testuser csc 4.0M Nov  9 10:42 sample7.txt
-rw-r--r--+ 1 testuser csc 3.9M Nov  9 10:42 sample8.txt
-rw-r--r--+ 1 testuser csc 3.9M Nov  9 10:42 sample9.txt

Voimme arkistoida kaikki project_3-hakemiston tiedostot tar-arkistoon nimeltä project_3.tar tarin create (c) -komennolla:

tar cvf project_3.tar project_3

Yllä oleva komento luo uuden tar-arkistotiedoston project_3.tar, joka sisältää hakemiston project_3 ja kaikki sen tiedostot. Huomaa, että komento ei muuta eikä poista alkuperäisiä tiedostoja lähdehakemistosta:

$ ls -lh
drwxr-xr-x+ 2 testuser csc   11 Nov  9 10:44 project_3
-rw-r--r--+ 1 testuser csc  52M Nov  9 10:46 project_3.tar

tar-komento ei edellytä, että annat arkistotiedostoille tietyn päätteen, kuten .tar. Yleisesti käytettyjen tiedostopäätteiden käyttäminen auttaa kuitenkin sinua ja muita käyttäjiä valitsemaan oikeat komennot tiedoston myöhempää käsittelyä varten. Vastaluotu tar-arkistotiedosto voidaan nyt helposti siirtää toiseen hakemistoon tai järjestelmään ja purkaa extract (x) -komennolla:

tar xvf project_3.tar

Tämä komento luo hakemiston nimeltä project_3, joka sisältää kaikki samat tiedostot kuin alkuperäinen hakemisto. Huomaa, että jos purkukomento kohtaa tiedoston, joka on jo olemassa tiedostojärjestelmässä, olemassa oleva tiedosto ylikirjoitetaan puretulla tiedostolla. Tästä aiheutuu mahdollinen vaara: mahdollisesti uudempi versio tiedostosta menetetään, jos purettavassa tar-arkistossa on vanhempi versio samasta tiedostosta (tai vain tiedosto, jolla on sama nimi)!

Command Operation
A Lisää tar-tiedostoja arkistoon (eli ketjuttaa arkistotiedostoja)
c Luo uuden tar-arkiston
d Etsi erot arkiston ja tiedostojärjestelmän välillä
r Lisää tiedostoja arkiston loppuun
t Listaa arkiston sisällön
u Lisää vain tiedostot, jotka ovat uudempia kuin arkistossa jo olevat
x Pura tiedostoja arkistosta
--delete Poista tiedostoja arkistosta

Yllä olevien komentojen lisäksi valitsinta f (file) käytetään lähes aina, koska se määrittää sen tar-tiedoston nimen, josta luetaan tai johon kirjoitetaan. Tiedostonimen on tultava heti valitsimen jälkeen, joten se on yleensä viimeinen annettu valitsin. Alla on joitakin usein käytettyjä tar-valitsimia.

Option Function
f Käytä annettua tiedostonimeä lähde- tai kohdearkistona
v Tulosta käsiteltävät tiedostot näytölle käsittelyn aikana
z Käytä gzip-pakkausta/-purkua arkistoa luotaessa tai purettaessa
j Käytä bzip2-pakkausta/-purkua arkistoa luotaessa tai purettaessa
--zstd Käytä Zstandard-pakkausta/-purkua arkistoa luotaessa tai purettaessa

Valitsimella --zstd voit ohjata arkiston zstd:n läpi, jolloin arkisto pakataan tai puretaan lennossa. Koska Zstandard on suositeltu oletus, tämä on yleensä paras vaihtoehto:

tar --zstd cvf project_3.tar.zst project_3

Valitsimilla z (zip) tai j (ei erityistä merkitystä; se valittiin, koska mielekästä kirjainta ei ollut saatavilla) voit vastaavasti ohjata arkiston gzip:n tai bzip2:n läpi:

tar cvzf project_3.tar.gz project_3

Tässä esimerkkitapauksessa pakkaamattoman arkistotiedoston koko on 52 MB, mutta pakatun tiedoston koko on vain 15 MB.

$ ls -lh
drwxr-xr-x+ 2 testuser csc   11 Nov  9 10:44 project_3
-rw-r--r--+ 1 testuser csc  52M Nov  9 10:46 project_3.tar
-rw-r--r--+ 1 testuser csc  15M Nov  9 10:56 project_3.tar.gz

Tar-arkistotiedoston sisällön listaaminen onnistuu komennolla t (list):

$ tar tf project_3.tar
project_3/
project_3/sample3.txt
project_3/sample4.txt
project_3/sample5.txt
project_3/sample2.txt
project_3/sample1.txt
project_3/sample6.txt
project_3/sample8.txt
project_3/sample9.txt
project_3/sample7.txt

Voit myös hakea arkistosta vain yhden tiedoston määrittämällä täydellisen tiedostonimen datan purkukomennolle. Esimerkiksi jos haluamme purkaa vain tiedoston sample2.txt pakatusta arkistosta project_3.tar.gz, voimme käyttää komentoa:

tar xvzf project_3.tar.gz project_3/sample2.txt

Tiedostojen pakkaaminen

Tiedostojen pakkaaminen säästää tallennustilaa ja nopeuttaa datan siirtoa, mutta se voi viedä paljon aikaa. Datan pakkaaminen kuormittaa prosessoria, ja useiden teratavujen aineiston pakkaaminen voi helposti vaatia yön yli kestävää laskentaa.

Datan pakkaukseen on saatavilla lukuisia algoritmeja ja ohjelmistotyökaluja. Tässä esittelemme lyhyesti viisi Unix/Linux-järjestelmissä käytettävää työkalua: gzip, bzip2, zip, 7z ja Zstandard. Näille kaikille työkaluille on yhteistä se, että ne pakkaavat ilman datan menetystä, eli kun tiedostot puretaan, data on 100-prosenttisesti identtistä alkuperäisen datan kanssa. Tyypillisesti jollakin näistä työkaluista pakattu tekstitiedosto on noin 20–40 % alkuperäisen tiedoston koosta. Tiedoston pakattavuus riippuu kuitenkin voimakkaasti tiedoston sisällöstä.

Pakkausaika riippuu käytetystä algoritmista ja pakattavan datan tyypistä. Useimmissa tapauksissa uudempi Zstandard-menetelmä on merkittävästi nopeampi kuin vanhemmat mutta erittäin laajasti käytetyt menetelmät, kuten gzip tai zip. Alla oleva taulukko näyttää tulokset yhdestä esimerkkitapauksesta, jossa 13 GB:n tekstitiedosto (fastq-muotoinen sekvenssidata) pakattiin näillä neljällä menetelmällä Roihu-supertietokoneessa oletuskomentoasetuksilla.

Command Size of the
compressed file
(original size 13GB)
Compression time Decompression time
zstd 5.1 GB 25.4 s 18.7 s
gzip 5.11 GB 25.1 min 1.9 min
bzip2 4.25 GB 15 min 9.7 min
zip 5.11 GB 24.7 min 1.9 min

Zstandard-pakkaustyökalu

Zstandard on nopea pakkaustyökalu ja järkevä oletus useimmissa tapauksissa. Roihussa Zstandard-pakkaus voidaan tehdä komennolla zstd. Esimerkiksi tiedoston data.txt pakkaamiseen käytä komentoa:

zstd data.txt

Yllä oleva komento tuottaa pakatun tiedoston nimeltä data.txt.zst. Oletuksena zstd käyttää pakkaustasoa 3, joka tarjoaa hyvän tasapainon nopeuden ja pakkaussuhteen välillä. Voit säätää tasoa valitsimella -#, jossa # vaihtelee välillä 1 (nopein, heikoin suhde) ja 19 (hitain, paras suhde):

zstd -19 data.txt

Jos haluat vielä paremman pakkauksen muistin ja nopeuden kustannuksella, käytä --ultra-valitsinta yhdessä tasojen 20–22 kanssa:

zstd --ultra -22 data.txt

Suurten datatiedostojen pakkausta voi nopeuttaa käyttämällä useita laskentaytimiä (säikeitä). Säikeiden määrä määritetään valitsimella -T. Roihun kirjautumissolmuissa on suositeltavaa käyttää vain yhtä säiettä, joka on oletusasetus, mutta esimerkiksi interaktiivisessa istunnossa voit käyttää neljää säiettä:

zstd -T4 data.txt

Lisäksi suuret tiedostot, joissa on pitkän kantaman toistoa (esim. genomidata tai rakenteiset lokit), voivat hyötyä --long-valitsimesta, joka ottaa käyttöön pitkän matkan osumien tunnistuksen. Annettu luku (--long=#) määrittää ikkunakoon kahden potenssina tavuina, joten --long=28 tarkoittaa 256 MB:n ikkunaa (2^28 tavua). Suuret ikkunat voivat parantaa tällaisten tiedostojen pakkaussuhdetta merkittävästi, mutta lisäävät vastaavasti muistinkäyttöä.

zstd --long=28 data.txt

Purku määritetään lisäämällä komentoon valitsin -d:

zstd -d data.txt.zst

gzip ja gunzip

gzip on luultavasti yleisimmin käytetty pakkaustyökalu Unix- ja Linux-järjestelmissä. Se käyttää datan pakkaamiseen Lempel-Ziv-koodausta (LZ77). gzip mainittiin jo lyhyesti yllä olevassa tar-luvussa, mutta gzipiä voidaan käyttää myös täysin erillisenä työkaluna. gzipin normaali käyttö on suoraviivaista. Tiedoston pakkaamiseksi annetaan komento:

gzip file_name

Tämän komennon suorittaminen luo pakatun tiedoston ja nimeää sen käyttäen alkuperäistä tiedostonimeä sekä päätettä .gz. Kun pakkaus on valmis, alkuperäinen tiedosto poistetaan. Jos haluat säilyttää alkuperäisen tiedoston, sinun täytyy käyttää uudelleenohjausta:

gzip < file_name > file_name.gz

gunzip-komentoa käytetään .gz-tiedoston purkamiseen. gzip-pakattujen tiedostojen lisäksi gunzip voi purkaa myös zip-komennolla pakattuja tiedostoja. gunzip-komennon perussyntaksi on vastaava kuin pakkauskomennossa:

gunzip file_name.gz

Yllä oleva komento poistaa pakatun tiedoston, kun purku on valmis. Jos haluat säilyttää pakatun tiedoston, tarvitset jälleen uudelleenohjauksen:

gunzip < file_name.gz > file_name

gzipillä on useita komentorivivalitsimia, joita ei käsitellä tässä. Käytä komentoa man gzip, jos haluat nähdä kaikkien käytettävissä olevien valitsimien täydet tiedot. Huomaa myös, että gunzip-komento on itse asiassa vain kääre komennolle gzip -d (valitsin -d käskee gzip:ä purkamaan pakkaamisen sijaan), joten sille ei ole erillistä manuaalisivua.

gzip-esimerkki

Oletetaan, että olemme jossakin Roihun hakemistossa, jossa meillä on vain yksi tiedosto nimeltä my_data.dat. Tarkistetaan ensin tiedoston koko komennolla ls -lh:

$ ls -lh
total 1.5G
-rw-r--r--+ 1 testuser csc 1.5G Nov  4 13:07 my_data.dat

Listaus kertoo, että tiedoston koko on noin 1.5 GB. Seuraavaksi pakkaamme tiedoston gzip:llä ja tarkistamme sitten tiedostokoon uudelleen.

$ gzip my_data.dat
$ ls -lh
total 834M
-rw-r--r--+ 1 testuser csc 833M Nov  4 13:07 my_data.dat.gz 

Alkuperäinen tiedosto on nyt poistettu ja korvattu pakatulla tiedostolla. Tuloksena meillä on kuitenkin nyt pakattu tiedosto, joka vaatii vain 833 MB levytilaa (55 % alkuperäisestä koosta). Seuraavaksi puretaan tiedosto:

$ gunzip my_data.dat.gz
$ ls -lh
total 1.5G
-rw-r--r--+ 1 testuser csc 1.5G Nov  4 13:07 my_data.dat 

Tiedostolistaus näyttää nyt, että pakattu tiedosto on kadonnut ja alkuperäinen tiedosto on jälleen käytettävissä.

bzip2 ja bunzip2

bzip2 on pakkausohjelma, jota käytetään hyvin samankaltaisesti kuin gzipiä. Suurin ero näiden kahden ohjelman välillä on se, että bzip2 käyttää Burrows-Wheelerin lohkolajitteluun perustuvaa tekstinpakkauksen algoritmia yhdistettynä Huffman-koodaukseen LZ77- algoritmin sijaan, jota gzip käyttää. bzip2:n pakkausalgoritmi tuottaa tehokkaamman pakkauksen kuin gzip. bzip2-pakkaus on kuitenkin yleensä laskennallisesti monimutkaisempaa ja kestää kauemmin (eli käyttää enemmän CPU-syklejä) kuin gzip-pakkaus. bzip2:n käyttö on hyvin samankaltaista kuin gzipin, mutta kaikki komentorivivalitsimet eivät ole samoja. Peruspakkauksen syntaksi on:

bzip2 file_name
bzip2 < file_name > file_name.bz2

Vastaavasti purku voidaan tehdä komennoilla:

bunzip2 file_name.bz2
bunzip2 < file_name.bz2 > file_name

Huomaa, että bzip2:lla pakattua tiedostoa ei voi purkaa gunzip:llä eikä päinvastoin.

zip ja unzip: yhdistetty pakkaus- ja arkistointityökalu

zip-ohjelmaa voidaan käyttää sekä tiedostojen arkistointiin että pakkaamiseen. Kun zip-komennolle annetaan lista tiedostoista tai hakemistoista, se arkistoi ja pakkaa kaikki tiedostot yhdeksi zip- arkistotiedostoksi. Periaatteessa zip vastaa siis tar- ja gzip- komentojen yhdistelmää. Myöhemmin koko arkisto tai vain tietyt tiedostot voidaan purkaa arkistosta. zip-komennon perussyntaksi on:

zip -options archive_file source_name

source_name voi olla lista tiedostoista, hakemistoista tai näiden yhdistelmästä, jotka pakataan archive_file-tiedostoon. Jos archive_file on jo olemassa, zip korvaa arkistossa olevat tiedostot uusilla source_name-listan tiedostoilla tai lisää tiedostoja, jos niitä ei vielä ole archive_file-tiedostossa. Huomaa, että toisin kuin tar-komento, zip ei oletuksena lisää alihakemistojen tiedostoja arkistoon. Valitsin -r tarvitaan, jotta kaikki annetun hakemiston tiedostot ja alikansiot lisätään zip-arkistoon rekursiivisesti. Alla on lueteltu joitakin yleisesti käytettyjä zip-komennon valitsimia.

Option Function
-d Poista merkintöjä zip-arkistosta
-e Salaa zip-arkiston sisältö salasanalla, joka syötetään päätteessä kehotteen jälkeen
-f Korvaa arkistossa oleva tiedosto vain, jos sitä on muokattu uudemmin kuin arkistossa jo oleva versio
-l Muunna Unixin rivinvaihtomerkki LF MSDOS-käytännön mukaiseen muotoon CR LF
-ll Muunna MSDOS-rivinvaihto CR LF Unixin LF-muotoon
-r Kulje hakemistorakenne rekursiivisesti
-u Päivitä olemassa olevat merkinnät, jos tiedostojärjestelmässä on uudempi versio, ja lisää uudet tiedostot
-@ Ota syötetiedostojen lista vakiosyötteestä. Vain yksi tiedostonimi riviä kohden.

Zip-arkiston luominen ei vaikuta alkuperäisiin tiedostoihin. Huomaa, että zip-komento lisää oletuksena arkistotiedoston nimeen päätteen .zip, jos sitä ei ole jo mukana.

Zip-arkistoja voidaan purkaa ja tarkastella unzip-komennolla. Jos haluat purkaa tiedostoja zip-arkistosta, käytä komentoa:

unzip archive_file_name

Jos haluat vain nähdä zip-arkistoon sisältyvät tiedostot, käytä komentoa:

unzip -l archive_file_name

Voit myös purkaa arkistosta vain yhden tiedoston komennolla:

unzip archive_file_name file_name
Option Function
-f Päivitä olemassa olevat tiedostot, eli pura vain ne tiedostot, jotka ovat jo levyllä ja ovat uudempia kuin levyllä olevat
-l Listaa arkistotiedoston sisältö
-u Päivitä olemassa olevat tiedostot ja luo uusia tarvittaessa
-o Ylikirjoita olemassa olevat tiedostot kysymättä
-p password Käytä password-arvoa salatun zip-tiedoston purkamiseen

zip-esimerkki

Jos haluat arkistoida ja pakata esimerkkihakemiston project_3, joka sisältää tiedostot sample1.txt, sample2.txt, ..., sample9.txt (sama esimerkki, jota käytettiin tar-luvussa), käytä komentoa:

$ zip -r project_3.zip project_3
  adding: project_3/ (stored 0%)
  adding: project_3/sample5.txt (deflated 71%)
  adding: project_3/sample2.txt (deflated 72%)
  adding: project_3/sample3.txt (deflated 70%)
  adding: project_3/sample4.txt (deflated 71%)
  adding: project_3/sample9.txt (deflated 71%)
  adding: project_3/sample7.txt (deflated 71%)
  adding: project_3/sample1.txt (deflated 73%)
  adding: project_3/sample6.txt (deflated 72%)
  adding: project_3/sample8.txt (deflated 71%)

Huomaa, että jos käytät samaa zip-komentoa ilman -r-valitsinta, arkistotiedosto ei sisällä hakemiston esimerkkitiedostoja vaan ainoastaan hakemiston. Tässä tapauksessa project_3-hakemisto ei kuitenkaan sisällä alihakemistoja, joten voit tehdä arkistoinnin myös komennolla:

$ zip project_3.zip project_3/*
  adding: project_3/sample1.txt (deflated 73%)
  adding: project_3/sample2.txt (deflated 72%)
  adding: project_3/sample3.txt (deflated 70%)
  adding: project_3/sample4.txt (deflated 71%)
  adding: project_3/sample5.txt (deflated 71%)
  adding: project_3/sample6.txt (deflated 72%)
  adding: project_3/sample7.txt (deflated 71%)
  adding: project_3/sample8.txt (deflated 71%)
  adding: project_3/sample9.txt (deflated 71%)

Samalla tavalla voit myöhemmin lisätä uuden tiedoston olemassa olevaan zip- arkistoon, esimerkiksi:

$ cp sample10.txt project_3/
$ zip project_3.zip project_3/sample10.txt
 adding: project_3/sample10.txt (deflated 69%)

Voit tarkistaa zip-arkiston sisällön unzip-komennolla ja valitsimella -l:

$ unzip -l project_3.zip
Archive:  project_3.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
 16662202  11-09-09 10:41   project_3/sample1.txt
 16397702  11-09-09 10:41   project_3/sample2.txt
  1303352  11-09-09 10:41   project_3/sample3.txt
  1925824  11-09-09 10:41   project_3/sample4.txt
  1989706  11-09-09 10:41   project_3/sample5.txt
  3813333  11-09-09 10:42   project_3/sample6.txt
  4176523  11-09-09 10:42   project_3/sample7.txt
  4056375  11-09-09 10:42   project_3/sample8.txt
  4085713  11-09-09 10:42   project_3/sample9.txt
  6541306  11-10-09 13:07   project_3/sample10.txt
 --------                   -------
 60952036                   10 files

Jos haluat purkaa zip-arkistosta vain tiedoston sample3.txt, käytä komentoa:

$ unzip project_3.zip project_3/sample3.txt
Archive:  project_3.zip
replace project_3/sample3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: project_3/sample3.txt 

Jos haluat purkaa kaikki tiedostot arkistosta, käytä komentoa:

$ unzip project_3.zip
Archive:  project_3.zip
replace project_3/sample1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:A
  inflating: project_3/sample1.txt
  inflating: project_3/sample2.txt
  inflating: project_3/sample3.txt
  inflating: project_3/sample4.txt
  inflating: project_3/sample5.txt
  inflating: project_3/sample6.txt
  inflating: project_3/sample7.txt
  inflating: project_3/sample8.txt
  inflating: project_3/sample9.txt
  inflating: project_3/sample10.txt

7zip-pakkaus- ja arkistointityökalu

Note

7zip ei ole asennettu Roihuun eikä sitä tueta siellä.

7zip on pakkaus- ja arkistointityökalu, jota käytetään usein erityisesti Windows-alustoilla. Sitä voidaan kuitenkin käyttää myös macOS- ja Linux- järjestelmissä. Oletuksena komento käyttää omaa 7z-pakkaustiedostomuotoaan, mutta se voi hyödyntää myös muita pakkaustiedostomuotoja.

7zip käynnistetään komennolla 7z.

Komennon perussyntaksi on:

7z command -options archive_file file_names

Tärkeimmät 7zip-valitsimet ovat:

  • a lisää tiedostoja arkistoon
  • e pura tiedostoja arkistotiedostosta
  • l listaa arkistotiedoston tiedostot

Jos haluat arkistoida ja pakata esimerkkihakemiston project_3, joka sisältää tiedostot sample1.txt, sample2.txt, ..., sample9.txt (sama esimerkki, jota käytettiin tar-luvussa), käytä komentoa:

$ 7z a project_3_backup project_3/

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (206D7),ASM,AES-NI)

Scanning the drive:
1 folder, 9 files, 211442 bytes (207 KiB)

Creating archive: project_3_backup.7z

Items to compress: 10

Files read from disk: 9
Archive size: 42728 bytes (42 KiB)
Everything is Ok

Tämä loi uuden 7z-pakatun tiedoston project_3_backup.7z. Komentoa 7z a voidaan käyttää myös uuden tiedoston lisäämiseen olemassa olevaan arkistoon. Esimerkiksi jos saisimme uuden näytetiedoston nimeltä sample10.txt project_3-hakemistoon, voisimme lisätä sen aiemmin luotuun project_3_backup.7z-tiedostoon komennolla:

7z a project_3_backup project_3/sample10.txt

Voit listata tämän tiedoston sisällön komennolla 7z l. Esimerkiksi:

$ 7z l project_3_backup.7z 

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,16 CPUs Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz (206D7),ASM,AES-NI)
Scanning the drive for archives:
1 file, 565592 bytes (553 KiB)

Listing archive: project_3_backup.7z

--
Path = project_3_backup.7z
Type = 7z
Physical Size = 565592
Headers Size = 341
Method = LZMA2:6m
Solid = +
Blocks = 2

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2018-11-08 11:02:30 D....            0            0  project_3
2018-11-08 10:57:24 ....A          446        42419  project_3/sample1.txt
2018-11-08 10:57:33 ....A        54807               project_3/sample2.txt
2018-11-08 10:57:58 ....A         3152               project_3/sample3.txt
2018-11-08 10:58:06 ....A         1633               project_3/sample4.txt
2018-11-08 10:58:21 ....A         3151               project_3/sample5.txt
2018-11-08 10:58:39 ....A          161               project_3/sample6.txt
2018-11-08 10:58:48 ....A         1556               project_3/sample7.txt
2018-11-08 10:58:59 ....A       146070               project_3/sample8.txt
2018-11-08 10:59:12 ....A          466               project_3/sample9.txt
2018-11-08 11:13:25 ....A      5679358       522832  project_3/sample10.txt
------------------- ----- ------------ ------------  ------------------------
2018-11-08 11:13:25            5890800       565251  10 files, 1 folders

Pakattu data puretaan komennolla 7z e. Voit purkaa esimerkiksi vain määritetyt tiedostot:

7z e project_3_backup.7z project_3/sample3.txt

Huomaa, että jos päätät purkaa vain yksittäisiä tiedostoja:

  1. sinun on käytettävä täydellistä tiedostopolkua, joka näkyy tiedostolistauksessa, ja
  2. määritetty pakattu tiedosto puretaan nykyiseen hakemistoon eikä pakatun tiedoston nimessä määriteltyyn hakemistopolkuun. Näin ollen yllä oleva komento palauttaisi tiedoston sample3.txt siihen hakemistoon, jossa komento suoritettiin.

Purettujen tiedostojen tuloshakemisto voidaan määrittää valitsimella -o. Esimerkiksi jos haluat palauttaa kaikki pakatut tiedostot hakemistoon project_3, anna komento:

7z e -oproject_3 project_3_backup.7z

Katso myös: Interaktiiviset istunnot Roihussa.

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .