Arhiivid ja pakkimine
Loogika
Arhiveerimine koondab failid, pakkimine teeb need väiksemaks. See on seotud failide liigutamise, allalaadimise ja varukoopiatega.
Kiirülevaade
Erista kaht sammu: failide koondamine üheks arhiiviks ja selle arhiivi tihendamine väiksemaks.
| Käsk või formaat | Milleks | Mida tavaliselt näed |
|---|---|---|
tar | koonda failid arhiiviks | edukal loomisel võib olla vaikne |
gzip, xz | tihenda arhiiv väiksemaks | tekib tihendatud fail |
.tar.gz | tar + gzip koos | üks kokkupakitud arhiiv |
zip | arhiiv ja tihendus ühes vormingus | tekib .zip fail |
tar -tf | vaata arhiivi sisu | failide loend |
tar -xf, unzip | paki lahti | tar sageli vaikne, unzip näitab faile |
Tüüpilised algaja vead
- arvatakse, et
.tartähendab juba tihendatud faili - pakitakse arhiiv lahti vales kataloogis
- ei vaadata enne lahtipakkimist, mis arhiivi sees on
Kiirspikker
tar -cf fail.tar kaust/loo arhiivtar -xf fail.tarpaki lahtitar -tf fail.tarvaata arhiivi sisutar -czf fail.tar.gz kaust/loo gzip-pakitud arhiivtar -czf fail.tgz kaust/sama loogika lühema laiendigatar -xzf fail.tar.gzpaki gzip-arhiiv lahtitar -cJf fail.tar.xz kaust/loo xz-pakitud arhiivzip -r fail.zip kaust/loo zip-arhiivunzip fail.zippaki zip lahti
Tähtsamad võtmed
ccreate ehk loo arhiivxextract ehk paki lahtittable ehk näita sisuffile ehk järgmine argument on arhiivifaili nimizkasutagzippakkimistJkasutaxzpakkimistvverbose ehk näita töö käigus rohkem infot
tar põhimõte
tar ise on ajalooliselt arhiveerija. Pakkimine lisatakse sageli eraldi:
tarainult koondab failidgzipteeb faili väiksemaksxzpakib tihedamalt, aga võib olla aeglasem
Sellepärast on need kujundid sisuliselt järgmised:
tar -cfloo arhiiv ilma pakkimatatar -czfloogzip-ga pakitud arhiivtar -xzfpakigzip-ga pakitud arhiiv lahtitar -cJflooxz-ga pakitud arhiiv
.tar.gz ja .tgz tähendavad tavaliselt sama asja. .tgz on lihtsalt lühem failinimi.
Käivita need käsud
mkdir -p ~/tmp/arh/kaust
printf 'tere\n' > ~/tmp/arh/kaust/tere.txt
tar -cf ~/tmp/arh/proov.tar -C ~/tmp/arh kaust
tar -tf ~/tmp/arh/proov.tar
tar -czf ~/tmp/arh/proov.tar.gz -C ~/tmp/arh kaust
tar -xzf ~/tmp/arh/proov.tar.gz -C ~/tmp/arh
zip -r ~/tmp/arh/proov.zip ~/tmp/arh/kaust
unzip ~/tmp/arh/proov.zip -d ~/tmp/arh/unzipped
Millal mida kasutada
tar.gzon väga levinud Linuxi maailmastar.xzsobib siis, kui tihendusaste on tähtiszipon mugav, kui faile jagatakse erinevate süsteemide vahel
Metaandmed ja puustruktuur
Arhiiviformaadi valikul ei loe ainult tihendusaste. Loeb ka see, mida arhiiv peab kaasa võtma.
tarsobib hästi Unix-laadse puustruktuuri jaokstarsäilitab failipuud, õigused, ajatemplid ja lingid paremini kuizipzipon sageli mugavam jagamiseks eri süsteemide vahelzipei ole tavaliselt parim valik siis, kui Unix-i õigused ja omanikud on olulised
Praktiline mõtteviis:
- Linuxi või serveri varukoopia: eelista sageli
tar.gzvõitar.xz - laiemaks jagamiseks:
zip
Kasulikud võtted
tar -tf fail.tar.gznäitab sisu ilma lahti pakkimatatar -tzf fail.tar.gz | lesslaseb suure arhiivi sisu sirvidatar -xzf fail.tar.gz -C sihtkaustpakib lahti kindlasse kohtatar -czf backup-$(date +%F).tar.gz kaust/teeb kuupäevaga varukoopiaunzip -l fail.zipnäitab zip-arhiivi sisu ilma lahti pakkimata
Kui arhiiv on suurem, lehitse sisuloendit:
tar -tzf fail.tar.gz | less
See aitab enne lahtipakkimist näha:
- mis kaustad seal sees üldse on
- kas arhiivis on ootuspärane juurkaust
- kas failinimed paistavad mõistlikud
Minitest
- Loo väike testkaust kahe failiga.
- Tee sellest
tar.gzarhiiv. - Vaata arhiivi sisu ilma seda lahti pakkimata.
- Paki arhiiv lahti teise kausta.
Peatüki täisspikker
Praktiline kasutus
Eesmärk
arhiiv koondab faili- või kaustapuu üheks tervikuks ja pakkimine teeb selle terviku väiksemaks või lihtsamini jagatavaks
Põhikujud
tar -cf proov.tar kaust/loo arhiivtar -tf proov.tarvaata sisutar -czf proov.tar.gz kaust/loo gzip-arhiivtar -xzf proov.tar.gz -C siht/paki lahti sihtkohtazip -r proov.zip kaust/loo zipunzip -l proov.zipvaata zip sisu
Olulisemad lipud, märgid ja kiirnupud
tar -cfloo arhiivtar -tfvaata sisutar -czfgzip-iga kokkutar -xzfpaki gzip lahtizip -rzip kaustunzip -lvaata zip sisu