Putki on uudelleenohjausmuoto (vakiolähdön siirto johonkin toiseen kohteeseen), jota käytetään Linuxissa ja muissa Unix-tyyppisissä käyttöjärjestelmissä lähettämään yhden komennon/ohjelman/prosessin tulos toiseen komentoon/ohjelmaan/prosessiin jatkokäsittelyä varten. . Unix/Linux-järjestelmät mahdollistavat komennon stdout-liittimen yhdistämisen toisen komennon stdin-järjestelmään. Voit tehdä sen käyttämällä putkimerkkiä '|' .
Putkea käytetään kahden tai useamman komennon yhdistämiseen, ja tässä yhden komennon tulos toimii toisen komennon tulona ja tämän komennon lähtö voi toimia seuraavan komennon tulona ja niin edelleen. Se voidaan myös visualisoida väliaikaisena yhteytenä kahden tai useamman komennon/ohjelman/prosessin välillä. Jatkokäsittelyä suorittavia komentoriviohjelmia kutsutaan suodattimiksi.
Tämä komentojen/ohjelmien/prosessien välinen suora yhteys mahdollistaa niiden toiminnan samanaikaisesti ja mahdollistaa tietojen siirtämisen niiden välillä jatkuvasti sen sijaan, että se joutuisi välittämään tilapäisten tekstitiedostojen tai näytön kautta.
Putket ovat yksisuuntaisia, ts. data virtaa vasemmalta oikealle putkilinjan läpi.
Syntaksi:
vastakkainen haku
command_1 | command_2 | command_3 | .... | command_N>
Esimerkki putkesta Unixissa tai Linuxissa
1. Listaa kaikki tiedostot ja hakemistot ja anna ne syötteenä `grep`-komennolle käyttämällä putkea Linuxissa
ls | grep file.txt>
ls | grep-tiedosto.txt
Tässä ensin käytämme ls-komentoa listataksemme kaikki tiedostot ja hakemistot nykyisessä hakemistossa, sitten välitämme sen tulosteen `grep`-komennolle ja etsimme tiedostonimeä `file.txt`. Ls-komennon tulos lähetetään grep-komennon syötteeseen, ja tuloksena on luettelo hakutermiä vastaavista tiedostoista.
2. Listaa kaikki tiedostot ja hakemistot ja anna ne `more`-komentojen syötteeksi käyttämällä putkea Linuxissa.
$ ls -l | more>
$ ls -l | lisää
More-komento ottaa syöttekseen $ ls -l:n lähdön. Tämän komennon nettovaikutus on, että ls -l:n tulos näytetään näyttö kerrallaan. Putki toimii säiliönä, joka ottaa ls -l:n ulostulon ja antaa sen enemmän tulona. Tämä komento ei käytä levyä ls -l:n vakiolähtöön liittämiseen more standardin tuloon, koska pipe on toteutettu päämuistissa.
Mitä tulee I/O-uudelleenohjausoperaattoreihin, yllä oleva komento vastaa seuraavaa komentosarjaa.
liitto vs liitto kaikki
$ ls -l ->temp enemmän -> temp (tai enemmän temp) [lämpötilan sisältö] rm temp>temp
ls -l -> lämpötila
Kahden yllä olevan komennon tulos on sama.
3. Lajittele tiedostoluettelo koon mukaan käyttämällä putkistoa Linuxissa
ls -l sort -k 5>ls -l lajittele -k 5
Tämä komento luettelee kaikki nykyisen hakemiston tiedostot ja lajittelee sitten luettelon viidennen sarakkeen mukaan, joka edustaa tiedoston kokoa.
4. Käytä sort- ja uniq-komentoja lajitellaksesi tiedoston ja tulostaaksesi yksilölliset arvot putkella Linuxissa
$ sort record.txt | uniq>
Tämä lajittelee annetun tiedoston ja tulostaa vain yksilölliset arvot.
lajitella tietue.txt | uniq
5. Käytä päätä ja häntää tiedoston tietyn alueen viivojen tulostamiseen.
$ cat sample2.txt | head -7 | tail -5>
Tämä komento valitsee ensimmäiset 7 riviä (head -7) -komennon kautta ja se syötetään (tail -5) -komentoon, joka lopulta tulostaa 5 viimeistä riviä näiltä 7 riviltä.
cat sample2.txt | pää -7 | häntä -5
6. Käytä ls- ja find-komentoa listataksesi ja tulostaaksesi kaikki tiettyä kuviota vastaavat rivit vastaavissa tiedostoissa.
$ ls -l | find ./ -type f -name '*.txt' -exec grep 'program' {} ;> Tämä komento valitsee tiedostot .txt laajennus annetussa hakemistossa ja etsii kuvioita kuten ohjelma yllä olevassa esimerkissä ja tulostaa ne, joissa on ohjelma.
mistä löydän selaimeni asetukset
ls -l | etsi ./ -tyyppi f -nimi *.txt -exec grep-ohjelma {} ;
7. Käytä cat-, grep-, tee- ja wc-komentoja lukeaksesi tietyn merkinnän käyttäjältä ja tallentaaksesi sen tiedostoon ja tulostaaksesi rivien lukumäärän.
$ cat result.txt | grep 'Rajat Dua' | tee file2.txt | wc -l>
Tämä komento valitsee Rajat Dua ja tallenna ne tiedosto2.txt-tiedostoon ja tulosta vastaavien rivien kokonaismäärä Rajat Dua
kissa tulos.txt | grep Rajat Dua | tee tiedosto2.txt | wc -l
heittää merkkijono int javaan
8.Kuinka voin ohjata liukuhihnakomennon tulosteen tiedostoon Unixissa tai Linuxissa?
Voimme käyttää uudelleenohjausoperaattoria `>` ohjaamaan uudelleen liukuhihnakomennon tulosteen.
Esimerkiksi:
Jos minulla on tiedostonimi 'file.txt' ja haluan uudelleenohjata sen tiedostonimeen 'geeks.txt'.
ls | grep 'file'>geeks.txt>geeks.txt
ls | grep 'tiedosto'> geeks.txt
Johtopäätös
Piping on tehokas ominaisuus Unix- ja Linux-käyttöjärjestelmissä, jonka avulla voimme linkittää eri komennot yhteen monimutkaisten tehtävien suorittamiseksi nopeasti ja tehokkaasti. Tässä artikkelissa olemme oppineet, kuinka voimme ohjata yhden komennon ulostulon toisen komennon tuloon. Kaiken kaikkiaan voimme sanoa, että käyttämällä putkistoa voimme säästää aikaa, parantaa tuottavuutta ja vähentää levytilan käyttöä.