|
|
Rivi 1: |
Rivi 1: |
| Nimetty putki eli FIFO ("First In, First Out") on tiedostojärjestelmään luotu pysyvä erikoistiedosto, jota käytetään eri prosessien väliseen [[standardivirrat|kommunikointiin]]. Nimettyyn putkeen voivat eri aikoihin tai samanaikaisesti lukea ja kirjoittaa eri prosessit, kun taas tavalliseen nimeämättömään, tilapäiseen putkeen (esim. [[cat]] tiedosto ''|'' [[less]]) ei voi syöttää ja tulostaa kuin kaksi samanaikaisesti toimivaa prosessia.
| | HYVÄSTI NUSSIJAT |
| | |
| ==Käyttö==
| |
| Nimetty putki luodaan komennolla mkfifo, esimerkiksi
| |
| mkfifo putki1
| |
| Annetaan yhdessä [[virtuaalikonsoli]]ssa komento
| |
| [[ls]] -l >putki1
| |
| jolla syötetään tiedostolistaus nimettyyn putkeen putki1. Koska mikään prosessi ei vielä lue ls:n putkeen syöttämää dataa, pysähtyy ls:n suoritus automaattisesti odottamaan vastaanottavaa prosessia. Annetaan seuraavaksi toisessa virtuaalikonsolissa komento
| |
| cat putki1
| |
| joka tulostaa putkesta saamansa datan näytölle. Kun cat on tulostanut putken kautta ls:ltä saamansa syötteen, loppuu molempien prosessien suoritus automaattisesti (EOF).
| |
| | |
| Annetaan komento
| |
| [[bzip2]] -c < putki1 > tavara.bz2 &
| |
| joka laittaa bzip2:n taustalle "vahtimaan" putki1:stä ja pakkaamaan sieltä tulevan datan tiedostoon tavara.bz2.
| |
| | |
| Kun tämän jälkeen taas ohjataan ls:n tuloste putkeen komennolla
| |
| [[ls]] -l >putki1
| |
| pakkaa bzip2-prosessi tämän datan ja lopettaa itsensä.
| |
| Pakatun tiedoston sisällön voi tarkistaa vaikkapa komennolla
| |
| [[bzcat]] tiedosto.bz2
| |
| | |
| Nimetyn putken voi poistaa normaaliin tapaan komennolla
| |
| [[rm]] putki1
| |
| | |
| ==Katso myös==
| |
| *[[Standardivirrat]]
| |
| *[[Komentorivin perusteet]]
| |
| | |
| ==Aiheesta muualla==
| |
| *[http://www2.linuxjournal.com/article/2156 Linux Journalin artikkeli nimetyistä putkista]
| |
| | |
| [[Luokka:Järjestelmä]]
| |
| [[Luokka:Komentorivi]]
| |