Unix-putki (myösanonyymi putki taikomentoriviputki) onkomentoriviohjelmille suunniteltuprosessien välinen kommunikaatiotapa välittää yhden ohjelman palaute toisen ohjelman syötteeksi. Putkitus on esimerkkiUnix-käyttöjärjestelmäntyökaluohjelmien filosofiasta ja vaikutti sen muodostumiseen.[1]Ominaisuuden lisäämistä käyttöjärjestelmään ajoiDouglas McIlroy vuonna 1973.[1]Ken Thompson toteutti ominaisuuden yhdessä illassa.[2]
Vastaava toiminnallisuus on toteutettu myös lukuisissa muissa käyttöjärjestelmissä.
Periaate kutsuttaessa kolmea ohjelmaa komentorivillä:
$ ohjelma1 | ohjelma2 | ohjelma3
Putkitukseen liittyvät käsitteetstandardi syöte (stdin),standardi tuloste (stdout) jastandardi virhe (stderr) datavirrat. Virheet voidaan palauttaa käyttäjän näytölle suoraan.
Esimerkki käyttötapauksesta:
$ ls -l | grep key | less
Esimerkissäls-ohjelman antamasta hakemistolistauksesta etsitään rivit, joilla on sanakey ja lopulta tuloste annetaan sivuttavalle ohjelmalleless.
Ohjelmissa putkia voidaan käsitelläpipe()
järjestelmäkutsun avulla.
Käsittelevälle ohjelmalle putki näkyy luettavana tai kirjoitettavana tiedostokahvana (engl.file handle), joista edeltävän ohjelman tulostetta voidaan lukea (stdin) ja seuraavalle kirjoittaa (stdout) normaaleillaread()
jawrite()
funktioilla.