Oletin yleensä, että tar
oli pakkausapuohjelma, mutta en ole varma, tiivistääkö tiedosto todella tiedostoja, vai onko se aivan kuin ISO-tiedosto, tiedosto tiedostojen säilyttämiseksi?
Kommentit
- Myös SuperUser .
vastaus
Terva on arkistointityökalu (Tape ARchive), se vain kerää tiedostot ja niiden metatiedot yhdessä ja tuottaa yhden tiedoston. Jos haluat pakata tiedoston myöhemmin, voit käyttää gzip / bzip2 / xz-tiedostoa. Mukavuuden vuoksi tar tarjoaa argumentteja pakata arkisto automaattisesti puolestasi. Katso lisätietoja terva -sivulta .
Kommentit
- Hieman selvitys vastauksesta. GNU-terva tarjoaa nämä ylimääräiset pakkausargumentit. Esimerkiksi Solaris-tar ei tarjoa argumentteja pakkaukselle.
- oo, että ' s miksi näen jatkuvasti
thing.tar.7z
- BSD-tar tarjoaa argumentin myös pakkaamiseen, vaikka se hyväksyy vain
z
ja määrittää pakkausmenetelmän laajennuksen perusteella, kun taas GNU-tar: lla on erillinenzZjJ
argumentit eri pakkausmenetelmille. - Lue vain BSD-tar-sivut ja käy ilmi, että olin väärässä. BSD-tar käyttää erillisiä
zZjJ
pakkaamiseen aivan kuten GNU-terva. Kuitenkin se havaitsee puristuksen automaattisesti purkamisen yhteydessä, kun taas GNU-terva odottaa myöszZjJ
. - @wingedsubmariner: ei; GNU: n modernit versiot
tar
purkautuvat automaattisesti ilman-zZjJ
-vaihtoehtoja.
Vastaa
tar
tuottaa arkistoja; pakkaus on erillinen toiminto. Kuitenkin tar
yksin voi vähentää tilankäyttöä, kun sitä käytetään suuressa määrässä pieniä tiedostoja, jotka ovat pienempiä kuin tiedostojärjestelmän klusterikoko. Jos tiedostojärjestelmä käyttää 1 kt klustereissa jopa yhden tavun sisältävä tiedosto kuluttaa 1 kt (plus inode). tar
-arkistossa ei ole tätä yleiskustannusta.
BTW, ISO tiedosto ei oikeastaan ole ”tiedosto tiedostojen säilyttämiseksi” – se on itse asiassa kuva koko tiedostojärjestelmästä (alun perin suunniteltu käytettäväksi CD-levyillä) ja siten sen rakenne on huomattavasti monimutkaisempi.
Kommentit
- Itse asiassa tyhjä -tiedosto ei kuluta 1 kt. 1-1023 tavun tiedosto.
- @psusi, joten tavujen 1-1023 tiedosto kuluttaa aina 1024, mikä johtaa 1023-1 tavun tuhlaukseen.
Vastaus
Alkuperäinen UNIX-tar -komento ei pakannut arkistoja. Kuten kommentissa mainittiin, Solaris-tar ei pakkaa. Eikä HP-UX eikä AIX, FWIW. Pakkaamattomat arkistot päättyvät sopimuksella .tar
.
GNU / Linuxin avulla saat GNU-tar. (Voit asentaa GNU-tervan muihin UNIX-järjestelmiin.) Oletusarvoisesti se ei pakkaa, mutta se pakkaa tuloksena olevan arkiston gzip: llä (myös GNU), jos toimitat -z
. Gzip-tiedostojen tavanomainen jälkiliite on .gz
, joten näet usein tarballit (tervan slangi) arkisto, mikä tarkoittaa yleensä sitä, että se on pakattu), joka päättyy .tar.gz
. Tämä loppu merkitsee tervaa, jota seurasi gzip, esim. tar cf - .|gzip -9v > archive.tar.gz
Löydät myös arkistoja, jotka päättyvät .tgz
, esim. tar czf archive.tgz .
.
Muokkaa: www.linfo.org/tar.html muistutti minua siitä, että GNU-terva tukee paljon enemmän toimintoja kuin pelkkä pakkaaminen gzip: llä, ja se muistutti minua siitä, että loppuliitteet ovat enemmän kuin tavallisia käytäntöjä. Heillä on sisäänrakennettu semantiikka. Se tukee myös bzip2: ta (-j
.bz2
) ja vanhaa pakkaa (-Z
.Z
). Sitten katsoin man-sivua ja muistutin, että -a
kartoittaa haluamasi pakkausmenetelmän automaattisesti jälkiliitteen perusteella.
Yksi muu nitti. Kuten Linuxin tar-sivun sanotaan, GNU tuottaa tietosivuja, ei man-sivuja, joten jos haluat oppia kaiken GNU-tar: sta, suorita info tar
.
Kommentit
- GNU-terva ei edelleenkään ' t käsittele pakkauksia yksin, se vain putkistaa gzipiin, bzip2: een, pakkaa ja muihin.
- Katsoin lähdettä . GNU-terva käsittelee puristusta! Toteutus hyödyntää koodien uudelleenkäyttöä ja UNIX-käyttäjän avaruusarkkitehtuurin perusteita. " Vain putket " ymmärtävät, miten puristus on tiukasti integroitu työkaluun.Se, että se tapahtuu haarukka-apuohjelmien kanssa, on tekninen asia. Jos haluat puolustaa " vain putkia, ", mainitse tiedostonimet ja rivinumero ja anna ' s näkevät, mihin puoleen yhteisö vie.
- Voi muutama päivä, ennen kuin voin tarkistaa lähteen.
Vastaa
terva-apuohjelma ei pakkaa, ennen kuin annat argumentin tehdä niin [tar -z-tiedoston nimi].