Ero sivun ”Nimetty putki” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Ak: Sivun sisältö korvattiin sisällöllä ”HYVÄSTI NUSSIJAT”)
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]]

Versio 26. lokakuuta 2008 kello 10.55

HYVÄSTI NUSSIJAT