Ero sivun ”Komentorivin perusteet” versioiden välillä
Siirry navigaatioon
Siirry hakuun
→Putkitus
(alkua perusasioista) |
|||
Rivi 64: | Rivi 64: | ||
ls | grep tiedosto | ls | grep tiedosto | ||
Joka tulostaisi vain niiden tiedostojen tiedot, joiden nimessä esiintyy sana tiedosto. | Joka tulostaisi vain niiden tiedostojen tiedot, joiden nimessä esiintyy sana tiedosto. | ||
Putkituksen käyttöä kannattaa opetella systemaattisesti, suurin osa /bin ja /usr/bin hakemistojen ohjelmista toimii tehokkaasti osana jotain toista ohjelmaa ja kytkentä niiden välillä tehdään helpoiten putkituksen avulla eikä pitkiäkään putkituksia kannata pelätä. Putkituksen opettelua voi aloittaa tutkimalla komentoja grep, gawk,cat,zcat,more,less,sort,od,du,wc ja ls | |||
esimerkiksi: | |||
du /etc |sort -n -r |head -5 | |||
23281 /etc | |||
6851 /etc/opt | |||
4440 /etc/opt/gnome | |||
4073 /etc/opt/gnome/gconf | |||
2569 /etc/X11 | |||
du /etc :llä tutkitaan minkä verran mikäkin /etc:n hakemisto vie tilaa, ongelmana on kuitenkin että hakemistot ovat hakujärjestyksessä eikä kokojärjestyksessä. Tämä ratkaistaan komennolla sort -nr joka lajittelee 'tiedoston' eli sen mitä du sille kertoi järjestykseen (-n -r tarkoitttaa numeerisesti isoimmasta pienimpään), ja lopuksi head -5 näytää vain viisi ensimmäistä riviä. Toiminnallisesti sama tulos tulee myös komennolla: | |||
du /etc |sort -n |tail -5 | |||
2569 /etc/X11 | |||
4073 /etc/opt/gnome/gconf | |||
4440 /etc/opt/gnome | |||
6851 /etc/opt | |||
23281 /etc | |||
Mutta tässä tapauksessa tail ottaakin sortin tuloksesta viimeiset rivit. | |||
du /etc |sort -n |tail -5 |grep X11 | |||
2569 /etc/X11 | |||
Lisäämällä suodatin grep X11 tulostukseen jää vain rivi jossa on X11 avain, ja edelleen | |||
du /etc |sort -n |tail -5 |grep -v X11 | |||
4073 /etc/opt/gnome/gconf | |||
4440 /etc/opt/gnome | |||
6851 /etc/opt | |||
23281 /etc | |||
Suodattimen -v optiolla saadaankin X11 rivi pois tulostuksesta. | |||
ls /etc |wc -l | |||
270 | |||
puolestaan kertoo kuinka monta tiedostoa /etc hakemistossa on. (wc -l laskee tiedoston rivit) | |||
=== Komentojen ketjutus === | === Komentojen ketjutus === |