3.  Leuke combinaties van opdrachten


Vergeet voor een keer de mooie grafische omgevingen van gnome en kde, en denk aan het feit dat onderstaande zaken geldig zijn in om het even welke linuxversie en op om het even welke afgedankte computer!
Probeer op zijn minst eens onderstaande "rode" opdrachten en je interesse zal zeker gewekt zijn.

Door gebruik te maken van meer dan een opdracht en de mogelijkheid te benutten van omleiden (met het > teken), of doorverwijzen ( met het | teken) kan je allerlei interessante resultaten bekomen.
Een eerste praktisch voorbeeld: stel dat je snel een nota wil typen; gebruik daar in godsnaam geen heuse tekstverwerker  voor, hou het desnoods bij gedit (in gnome) of bij kwrite (in kde) of bij helemaal geen programma in character mode in een terminal venster! Geef gewoon de opdracht cat > tekst1 en typ je tekst zolang je wil en eindig met Ctrl-d. Je zal je tekst in een nieuw bestand, tekst1, terugvinden in je gebruikers thuismap! Heb je daarna op dezelfde manier een tekst2 en een tekst3 bestand gecreëerd en je wil ze samenvoegen, geef dan het commando cat tekst1 tekst2 tekst3 > teksttotaal en klaar is kees. Waarom moeilijk maken als het simpel kan, het zijn bovendien ascii bestanden die zeer weinig plaats innemen!

Tweede voorbeeld: je wil weten hoeveel bestanden, zichtbare en onzichtbare, zich momenteel in je thuismap bevinden. Geef gewoon de opdracht ls -a | wc -w en je hebt het antwoord. ls toont normaal alle bestanden in een map, maar hier wordt er doorverwezen (piping noemt dat) naar een tweede opdracht wc (word count) en die telt het aantal "woorden".
Met de opdracht wc kunnen ook het aantal letters (parameter -c) of aantal lijnen (parameter -l) in een bestand worden geteld!

Met ls kunnen nog meer leuke combinaties b.v. je wil een overzicht van de .jpg foto's die zich her en der in je actuele map bevinden. Geef de opdracht ls *.jpg | sort en je krijgt ze mooi alfbetisch gerangschikt door de opdracht sort waarnaar wordt doorverwezen.
Een ander mooi voorbeeld is het volgende; je herinnert je de de opdracht ls -al uit de vorige pagina en het resultaat daarvan. Geef nu eens de opdracht ls -l | cut -b 1-11, 56- en je zal merken dat we uit lange lijnen precies kunnen uitfilteren wat ons interesseert.
Mensen met de nodige verbeelding zullen opmerken dat het met al die mogelijkheden doenbaar moet zijn een database te organiseren in bash, en dat is ook zo. Er kunnen perfect werkende "dbase" bestanden gecreëerd worden en dat wordt ook gedaan, kijk maar eens naar het bestand /etc/passwd : iedere lijn kan fungeren als een steekkaart (record) en de ":" dient als separator voor de "velden". (record fields)
Ga eens naar de map /etc en geef het comando cut -d: -f1 passwd en je bekomt mooi al de namen uit het eerste veld van de  bijna dertig lijnen die hier in feite "records" zijn. "-d: " staat in de opdracht voor "delimiter is : " en "-f1" voor field 1.

In de vorige pagina hadden we het over het commando cal, misschien wil je nu die kalender voor volgend jaar wegschrijven naar een bestand, kwestie van hem te kunnen uitprinten, hi!  Geef gewoon het commando
cal -3m 2008 > kalender08, er komt niets op je scherm maar het bestand is er!

Achtereenvolgende opdrachten kunnen gegroepeerd worden in Bashscripts en zo kan men komen tot regelrechte programma's, maar dat zou ons hier veel te ver voeren.
Bashscripts worden overigens veel gebruikt in linux, je vind er voorbeelden van o.a. in  sommige submappen van /etc,
typisch voor dergelijke scripts is dat de eerste lijn begint met "#! /bin/bash".




onls_4_3


Inleiding          Vorige pagina           Volgende pagina