Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

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ää niiden kokoa ilman datan häviämistä. 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 työkalut targzipbzip2, zip, 7zip ja Zstandard, joita käytetään usein arkistointiin ja pakkaukseen.

Type Extension
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
Zstandard-pakattu tiedosto .zst

tar: useiden tiedostojen pakkaaminen yhdeksi tiedostoksi

tar on ohjelmistotyökalu, jolla voidaan kerätä useita tiedostoja yhteen arkistotiedostoon, jota kutsutaan usein nimellä tarball, jakelua tai varmuuskopiointia varten. Nimi tulee sanoista tape archive, sillä työkalu 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 levy-ympä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.

Oletusarvoisesti tar ei pakkaa dataa. Tämä tarkoittaa, että tar-arkistotiedoston koko on sama kuin pakattujen tiedostojen kokojen summa sekä hieman metadatan aiheuttamaa lisätilaa. 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. Yleensä tar ja/tai gtar löytyvät kaikista Unix-, Linux- tai macOS-järjestelmistä. 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.txtsample2.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 vaadi, että annat arkistotiedostoille tietyn päätteen, kuten .tar. Yleisesti käytettyjen tiedostopäätteiden käyttö 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 korvataan arkistosta puretulla tiedostolla. Tämä aiheuttaa mahdollisen vaaran: tiedoston uudempi versio voi kadota, jos purettavassa tar-arkistossa on saman tiedoston vanhempi versio (tai vain tiedosto samalla nimellä).

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ältö
u Lisää vain tiedostot, jotka ovat uudempia kuin arkistossa olevat
x Pura tiedostoja arkistosta
--delete Poista tiedostoja arkistosta

Yllä olevien komentojen lisäksi optiota 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 option jälkeen, joten se on yleensä viimeinen annettu optio. Alla on joitakin usein käytettyjä tarin optioita.

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

Optioilla z (zip) tai j (ei erityistä merkitystä; se valittiin, koska mielekästä kirjainta ei ollut saatavilla) voit ohjata arkiston gzip- tai bzip2-ohjelman läpi pakataksesi tai purkaaksesi sen lennossa:

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äyden 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: gzipbzip2, zip, 7z ja Zstandard. Näille kaikille työkaluille yhteistä on se, että ne pakkaavat ilman datan häviämistä, 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ää yhden esimerkkitapauksen tulokset, jossa 10 GB:n tekstitiedosto (fastq-muotoinen sekvenssidata) pakattiin näillä viidellä menetelmällä Puhdin supertietokoneessa komentojen oletusasetuksilla.

Command Size of the
compressed file
(original size 10GB)
Compression time Decompression time
zstd 2.6 GB 2 min 1.7 min
zstd -T4 2.6 GB 0.8 min 1.7 min
7z 1.8 GB 56 min 2.7 min
gzip 2.5 GB 29 min 2.5 min
bzip2 2.0 GB 17 min 9 min
zip 2.5 GB 29 min 2.5 min

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 anna komento:

gzip file_name

Tämän komennon suorittaminen luo pakatun tiedoston ja nimeää sen alkuperäisen tiedostonimen perusteella lisäämällä päätteeksi .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

gz-pakatun tiedoston purkaminen tehdään komennolla gunzip. 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 komentorivioptioita, joita ei käsitellä tässä. Käytä komentoa man gzip, jos haluat nähdä kaikkien saatavilla olevien optioiden täydellisen luettelon. Huomaa myös, että gunzip-komento on itse asiassa vain kääre komennolle gzip -d (optio -d käskee gzipiä purkamaan pakatun tiedoston pakkaamisen sijaan), joten sille ei ole erillistä manuaalisivua.

gzip-esimerkki

Oletetaan, että olemme jossakin hakemistossa Puhdissa, 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 gzipillä 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. Tämän seurauksena 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 samalla tavalla kuin gzipiä. Suurin ero näiden kahden ohjelman välillä on se, että bzip2 käyttää Burrows-Wheelerin lohkolajitteluun perustuvaa tekstinpakkausalgoritmia yhdistettynä Huffman-koodaukseen LZ77-algoritmin sijaan, jota gzip käyttää. bzip2:n pakkausalgoritmi tuottaa tehokkaamman pakkauksen kuin gzip. bzip2-pakkauksen laskenta on kuitenkin yleensä monimutkaisempaa ja kestää pidempään (eli käyttää enemmän prosessoriaikaa) kuin gzip-pakkaus. bzip2:n käyttö on hyvin samanlaista kuin gzipin, mutta kaikki komentorivioptiot 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 gunzipillä eikä päinvastoin.

Tavallisten bzip2- ja bunzip2-ohjelmien lisäksi voit käyttää myös bzip2-komennon rinnakkaisversioita: pbzip2 ja pbunzip2. Kun näitä komentoja käytetään, käyttäjän on annettava optio -p määrittämään käytettävien prosessoriytimien määrä. Esimerkiksi tiedoston my_data.dat pakkaaminen neljällä ytimellä voidaan tehdä komennolla:

pbzip2 -p4 my_data.dat

Vastaavasti tiedoston purkamiseen kahdella ytimellä voit käyttää komentoa:

punbzip2 -p2 my_data.dat.bz2

pbzip2- ja pbunzip2-komennot skaalautuvat hyvin pienillä ydinmäärillä. Jo kahdella ytimellä pbzip2 on suunnilleen yhtä nopea kuin gzip. Käytettyjen prosessorien määrä ei vaikuta varsinaiseen tulostiedostoon. Siksi rinnakkaisella pbzip2:lla pakattu tiedosto voidaan purkaa tavallisella bunzip2-komennolla ja 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 tiedostojen, hakemistojen tai näiden yhdistelmän lista, joka 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-arkistossa. Huomaa, että toisin kuin tar-komento, zip ei oletusarvoisesti lisää alihakemistojen tiedostoja arkistoon. Optio -r tarvitaan, jotta kaikki annetun hakemiston tiedostot ja alikansiot lisätään zip-arkistoon rekursiivisesti. Alla on lueteltu joitakin yleisesti käytettyjä zip-komennon optioita.

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 oleva versio
-l Muunna Unixin rivinvaihtomerkki LF MSDOS-muotoon CR LF
-ll Muunna MSDOS-rivinvaihto CR LF Unix-muotoon LF
-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ä kohti.

Zip-arkiston luominen ei vaikuta alkuperäisiin tiedostoihin. Huomaa, että zip-komento lisää arkistotiedoston nimeen oletusarvoisesti 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-arkiston sisältämä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 Korvaa olemassa olevat tiedostot kysymättä
-p password Käytä password-salasanaa 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 optiota -r, 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 näin:

$ 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 optiolla -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

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ä. Oletusarvoisesti komento käyttää omaa 7z- pakkaustiedostomuotoaan, mutta se voi hyödyntää myös muita pakkaustiedostomuotoja.

Puhdissa 7zip käynnistetään komennolla 7z. Jotta saat komennon käyttöösi, lataa ensin tarvittava moduuli komennolla:

module load p7zip

Komennon perussyntaksi on:

7z command -options archive_file file_names

Tärkeimmät 7zip-optiot 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 hakemistoon project_3, voisimme lisätä sen aiemmin luotuun tiedostoon project_3_backup.7z 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ä koko 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 kohdehakemisto voidaan määrittää optiolla -o. Esimerkiksi jos haluat palauttaa kaikki pakatut tiedostot hakemistoon project_3, anna komento:

7z e -oproject_3 project_3_backup.7z

Zstandard-pakkaustyökalu

Zstandard on melko uusi ja erittäin nopea pakkaustyökalu. Puhdissa Zstandard-pakkaus voidaan tehdä komennolla zstd. Esimerkiksi jos haluat pakata tiedoston data.txt, anna komento:

zstd data.txt

Yllä oleva komento tuottaa pakatun tiedoston nimeltä data.txt.zst. Suurempien datatiedostojen kohdalla voit nopeuttaa pakkausta käyttämällä useita laskentaytimiä (säikeitä). Säikeiden määrä määritetään optiolla -T. Puhdin kirjautumissolmuilla on suositeltavaa käyttää vain yhtä säiettä, joka on oletusasetus, mutta esimerkiksi interaktiivisessa istunnossa voisit käyttää neljää säiettä:

zstd -T4 data.txt

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

zstd -d data.txt.zst

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta