Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!


Paipai

Iš Pipedijos - durniausios enciklopedijos.
(Nukreipta iš Pypkės)
Jump to navigation Jump to search
Čia seniausias žinomas pypkių piešinys - 1976 metų Phil Foglio paveiksliukas, kuriame vaizuojami BSD demonai, besikarstantys po PDP-11 kompiuterį ir darantys tenai kažkokias eibes. Atkreipkite dėmesį, kad tomis pypkėmis laipioja demonai, o tai irgi simbolizuoja.

Paipai arba pypkės - tai esminis visų UNIX sistemų shell elementas, kuris leidžia labai lengvai ir patogiai nukreipinėti visokius tekstinius duomenis tarp programų ir failų. Įrankis pirmiausiai atsirado Thompson shell, paskui buvo perkeltas į Bourne shell, o vėliau išplito ne tik visuose vėlesniuose UNIX šeluose, bet netgi ir DOS.

Kodėl vadinasi papais ar pypkėmis? Oficialiai pagal visokius kalbainius lietuviškai tai turėtų būti vadinama vamzdžiais, o kalbainiai sugeba išversti kad tai kokie tai esą "duomenų kanalai" ar "vamzdynai". Tačiau realiai tai viskas yra truputį žodžių žaismas - angliškai "pipe" yra ir vamzdis, ir pypkė, tad lietuviškai visi sako "pypkė", nes taip skamba ir juokingai, ir kartu beveik taip kaip anglų kalba.

Jei norite būti UNIX ar Linux sistemų adminu, tai apie pypkes turite išmanyti bent jau minimaliai (bent jau kas tai yra ir kam tai skirta), tai būtina sąlyga kartu su shell naudojimu.


Kaip veikia pypkės arba paipai

Pypkių arba paipų esmė yra labai paprasta: tarkim, turime tekstinį ekrano režimą ir dirbame su įvairiais tekstiniais failais. Tai reiškia, kad bet kokia komanda mums į ekraną išveda failą, o gal duomenis išsaugo į failą ir panašiai.

Tai vietoje to, kad vaikščiotume po kokius nors meniu ar nurodinėtume kažkokius parametrus su kažkokiais neaiškiais ženklais, galime turėti visą teksto perdavimo sistemą, padarytą taip, kad ji tuos duomenų srautus nukreiptų iš failų į failus ar iš programų į programas. Tam yra tokie ženklai, kaip "|", ">", ">>" ir "<".

Taigi, pvz., jei jums reikia išvesti failą į ekraną (cat), tai parašote:

cat < file.txt

O jei reikia, pvz., išvesti failų sąrašą (ls) ir išsaugoti jį faile (kuris perrašomas nuo nulio, sunaikinant ankstesnį turinį), tai parašote:

ls > file.txt

O jei reikia išvesti failų sąrašą ir jį pridėti kaip priedą, pratęsiantį jau esamą failą (nenaikinant jo turinio), tai parašote:

ls >> file.txt 

O galų gale, jei norite vienos programos turinį nukreipti į kitą programą teksto paieškai (grep), tai parašote:

ls | grep file.txt 

Ir visai jau galų gale, jei norite vienos programos turinį nukreipti į kitą programą, kuri paskui nukreiptų dar į kitą, o paskui rezultatą įrašytų į failą, tai galite dar įdomiau parašyti:

ls | grep txt | grep file > result.txt 

Taip visaip galima automatiškai daryti gana sudėtingus veiksmus, pvz., apjunginėti visokius tekstinius failus, ieškoti juose duomenų, tuos duomenis automatiškai redaguoti ar keisti ir panašiai, ir taip toliau.

Kadangi tokių priemonių kartais prireikia, tai gudrūs UNIX ar Linux adminai neretai būna visai neblogai įvaldę tuos paipus ir su jais padaro pakankamai įdomių dalykų, juoba kad tam yra ir dar visokių papildomų programų prikurta.