Muokataan sivua Cpio
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
Komentoriviohjelma <tt>cpio</tt> on tiedostojen arkistointityökalu. Ohjelman nimi tulee sanoista '''C'''o'''p'''y '''I'''n '''O'''ut. <tt>Cpio</tt> käyttää omaa arkistoformaattia; arkistojen tiedostopääte on tyypillisesti <tt>.cpio</tt>. <tt>Cpio</tt>-ohjelma pystyy kuitenkin lukemaan ja kirjoittamaan muitakin kuin omaa tiedostoformaattia, esimerkiksi <tt>tar</tt>-arkistoja. | |||
<tt>Cpio</tt> ei ole saavuttanut yhtä suurta suosiota kuin [[tar]]-ohjelma, mikä saattaa johtua cpio-ohjelman käyttötavasta, joka poikkeaa hieman muiden arkistointiohjelmien käyttötavasta. <tt>Cpio</tt>:lla on kuitenkin joitakin vahvuuksia verrattuna esimerkiksi <tt>tar</tt>-ohjelmaan | <tt>Cpio</tt> ei ole saavuttanut yhtä suurta suosiota kuin [[tar]]-ohjelma, mikä saattaa johtua cpio-ohjelman käyttötavasta, joka poikkeaa hieman muiden arkistointiohjelmien käyttötavasta. <tt>Cpio</tt>:lla on kuitenkin joitakin vahvuuksia verrattuna esimerkiksi <tt>tar</tt>-ohjelmaan. | ||
==Käyttö== | ==Käyttö== | ||
<tt>Cpio</tt>-ohjelman käytön yhteydessä käytetään termejä ''In'' ja ''Out'' ehkä tutumpien ''Create'' ja ''Extract'' sijasta. Suunta on | <tt>Cpio</tt>-ohjelman käytön yhteydessä käytetään termejä ''In'' ja ''Out'' ehkä tutumpien ''Create'' ja ''Extract'' sijasta. Suunta on tiedostojärjestelmästä päin tarkasteltuna: ''In'' tarkoittaa siis tiedostojen lukua arkistosta tiedostojärjestelmään, ''Out'' vastaavasti tiedostojen kopioimista tiedostojärjestelmästä arkistoon (esimerkiksi nauha-aseman nauhalle). | ||
Toinen merkittävä ero verrattuna esimerkiksi <tt>tar</tt>-ohjelmaan on se, että <tt>cpio</tt>-ohjelma lukee luodessaan arkistoa talletettavien tiedostojen nimet ohjelman syötteenä [[ | Toinen merkittävä ero verrattuna esimerkiksi <tt>tar</tt>-ohjelmaan on se, että <tt>cpio</tt>-ohjelma lukee luodessaan arkistoa talletettavien tiedostojen nimet ohjelman syötteenä [[Standard Input|standard inputista]]. Useimmille muille arkistointiohjelmille arkistoitavien tiedostojen ja hakemistojen nimet annetaan komentorivin parametrina. | ||
Tiedostojen nimien lukeminen ohjelman syötteenä tekee <tt>cpio</tt>-ohjelmasta "sovitetun parin" [[find]]-ohjelman kanssa. <tt>Cpio</tt>-ohjelmaa käytetäänkin useimmiten find-ohjelman kanssa, kuten alla olevista esimerkeistä nähdään. | Tiedostojen nimien lukeminen ohjelman syötteenä tekee <tt>cpio</tt>-ohjelmasta "sovitetun parin" [[find]]-ohjelman kanssa. <tt>Cpio</tt>-ohjelmaa käytetäänkin useimmiten find-ohjelman kanssa, kuten alla olevista esimerkeistä nähdään. | ||
Rivi 14: | Rivi 13: | ||
===Arkiston luonti=== | ===Arkiston luonti=== | ||
Arkisto luodaan | Arkisto luodaan <tt>-o</tt>-optiolla (Copy-out). Komento | ||
find proj1 | cpio -o > proj1.cpio | find proj1 | cpio -o > proj1.cpio | ||
luo arkistotiedoston, johon on talletettu koko <tt>proj1</tt>-alihakemiston sisältö. <tt>Cpio</tt>-ohjelma tulostaa arkiston sisällön [[ | luo arkistotiedoston, johon on talletettu koko <tt>proj1</tt>-alihakemiston sisältö. <tt>Cpio</tt>-ohjelma tulostaa arkiston sisällön [[Standard Output|standard outputiin]]. Jos arkiston haluaa tallentaa tiedostoon, pitää käyttää [[Komentotulkki|komentotulkin]] tiedostoonohjausmerkkiä >, tai vaihtoehtoisesti käyttää <tt>cpio</tt>-ohjelman <tt>-F</tt>-optiota. '''Huom!''' Luotavan arkistotiedoston ei ole hyvä sijaita arkistoitavan alihakemiston sisällä, sillä muuten lopputulos on ennalta arvaamaton, koska <tt>find</tt>-ohjelma löytää myös arkistotiedoston ja antaa sen syötteeksi <tt>cpio</tt>-ohjelmalle. Jos nykyisestä hakemistosta <tt>.</tt> halutaan luoda <tt>cpio</tt>-arkisto, sen voi tehdä esimerkiksi näin: | ||
find . | cpio -o > ../proj1.cpio | find . | cpio -o > ../proj1.cpio | ||
<tt>Find</tt>-ohjelman avulla voidaan hyvin joustavasti valita mitkä tiedostot halutaan mukaan arkistoon, ja mitkä jätetään sen ulkopuolelle. Esimerkiksi seuraavalla komennolla arkistoidaan hakemiston | <tt>Find</tt>-ohjelman avulla voidaan hyvin joustavasti valita mitkä tiedostot halutaan mukaan arkistoon, ja mitkä jätetään sen ulkopuolelle. Esimerkiksi seuraavalla komennolla arkistoidaan hakemiston proj1 sisältämät <tt>.c</tt>- ja <tt>.h</tt>-tiedostot. Komento tallentaa myös alihakemistoista löytyvät <tt>.c</tt>- ja <tt>.h</tt>-tiedostot, ja säilyttää hakemistorakenteen täsmäävien tiedostojen osalta. | ||
find proj1 -name "*.c" -o -name "*.h" | cpio -o > proj1src.cpio | find proj1 -name "*.c" -o -name "*.h" | cpio -o > proj1src.cpio | ||
Rivi 32: | Rivi 31: | ||
===Arkiston purku=== | ===Arkiston purku=== | ||
<tt>Cpio</tt>-arkisto puretaan <tt>-i</tt>- | <tt>Cpio</tt>-arkisto puretaan <tt>-i</tt>-optiolla (Copy-in). Lisäksi kannattaa käyttää <tt>-d</tt>-optiota, joka tarvittaessa luo alihakemistot, joihin tiedostot tallennetaan. | ||
cpio -id < proj1.cpio | cpio -id < proj1.cpio | ||
Ohjelma lukee arkiston oletusarvoisesti standard inputista, mutta arkistotiedosto voidaan myös ilmoittaa <tt>-F</tt>- | Ohjelma lukee arkiston oletusarvoisesti standard inputista, mutta arkistotiedosto voidaan myös ilmoittaa <tt>-F</tt>-optiolla. | ||
Standard inputin ja standard outputin käyttö syöttö- ja tulostuskanavana mahdollistaa arkistojen joustavan käsittelyn. | Standard inputin ja standard outputin käyttö syöttö- ja tulostuskanavana mahdollistaa arkistojen joustavan käsittelyn. Esimerkiksi voidaan arkisto lähettää datavirtana ssh-yhteyden yli toiseen koneeseen, jossa se puretaan: | ||
cat proj1.cpio | ssh hemmo@kone 'cpio -id' | cat proj1.cpio | ssh hemmo@kone 'cpio -id' | ||
===Copy-pass=== | ===Copy-pass=== | ||
Rivi 57: | Rivi 49: | ||
===Arkiston selaus=== | ===Arkiston selaus=== | ||
<tt>cpio</tt>-arkiston sisällä olevien tiedostojen ja hakemistojen nimet saa tulostettua <tt>-t</tt>- | <tt>cpio</tt>-arkiston sisällä olevien tiedostojen ja hakemistojen nimet saa tulostettua <tt>-t</tt>-optiolla: | ||
cpio -t < proj1.cpio | cpio -t < proj1.cpio | ||
Rivi 63: | Rivi 55: | ||
==Lisätietoja== | ==Lisätietoja== | ||
* | *man cpio | ||
* | *info cpio | ||
==Katso myös== | |||
[[Tar]] | |||
[[Luokka:Pakkausohjelmat]] | |||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] |