Inhoud:
Als gebruiker van de Tux4u®/Penguin Suite kun je lekker werken in een mooie desktopomgeving (KDE Desktop), je bestanden beheren via een grafisch beheerprogramma en heel veel andere toepassingen opstarten en gebruiken, zoals bijvoorbeeld OpenOffice.org Writer. Allemaal zonder dat je ooit een echte Linux commandoregel hoeft in te typen!
Maar iedere gebruiker mag en kan wel degelijk “werken op de Linux commandoregel”. Hieronder lees je hoe je dat moet doen en vooral ook waar je allemaal op moet letten. Hoezo? Omdat je systeem niet “denkt”, maar uitvoert. Het zal jouw “opdracht” in logische stappen uitvoeren, heel letterlijk, zoals het vindt dat jij die opdracht bedoeld hebt.
Voorbeeld:
Stel dat jij had willen zeggen dat alle bestanden uit een map weggegooid mochten worden op een paar na, maar je systeem ziet de opdracht “gooi alle bestanden uit deze map weg”, dan is het resultaat toch dat de map helemaal leeg is! En weg is weg, want er is op de commandoregel geen “prullenmand”!!
Jij hebt je vergist, maar het systeem merkt daar niets van: het vindt dat jij een goede commandoregel hebt weten in te typen, die prima uit te voeren was! Je kreeg daarom dus ook geen “foutmelding”.
In Linux geldt: geen bericht is goed bericht. Daarmee wordt bedoeld: als je commandoregel probleemloos uitgevoerd kan worden, dan wordt daar geen melding over gegeven. Er wordt alleen iets gemeld als er WEL een probleem is bij het uitvoeren van je commandoregel. Dat noemen we een foutmelding (“error message”). Het is een mededeling in het Engels/Amerikaans, bedoeld om je op een probleem te wijzen.
Het is belangrijk om zo'n foutmelding goed te lezen. Het kan namelijk gebeuren dat jouw commandoregel bijna helemaal uitgevoerd kan worden op een klein stukje na. Je krijgt dan geen melding over alles wat met succes uitgevoerd kan worden (immers: “geen bericht is goed bericht”). Maar je krijgt wel een melding over dat kleine stukje waar het fout gaat. In zo'n geval is het erg verkeerd om de conclusie te trekken: ik kreeg een foutmelding, dus mijn commandoregel is helemaal niet uitgevoerd.
In het voorbeeld hierboven, dat met het weggooien van bestanden uit een map, zou je een foutmelding kunnen krijgen, die er ongeveer zo uitziet: “rm: cannot remove `werkstuk.html` permission denied”. Dit betekent dat het weggooi-commando “rm” (“remove”) tot de conclusie is gekomen dat hij het recht niet heeft (“permission denied”) om het bestand “werkstuk.html” weg te gooien.
In het voorbeeld hierboven dacht het systeem dat jij alle bestanden uit de map wilde laten weggooien. Deze foutmelding betekent NIET dat er helemaal geen bestanden zijn weggegooid! De foutmelding betekent dat inderdaad alle bestanden zijn weggegooid op één na: werkstuk.html
Als je op de commandoregel gaat werken is het dus belangrijk dat je het volgende onthoudt:
Om in de KDE Desktop op de commandoregel te kunnen werken moet je eerst een zogenaamde X Terminal (“xterm”) openen: een nieuw venster met een Linux commando-aanwijzer erin waarachter je je commando kunt intypen. Dit doe je vanuit het “K-menu”, linksonderin je scherm.
Een commandoregel begint altijd met de naam van een commando. Dat kan meteen ook het einde van de commandoregel zijn! Maar een commandoregel kan ook een stuk langer worden. We spreken dan van “een commando met argumenten”.
Zo'n lange commandoregel kan alleen begrepen en uitgevoerd worden als er duidelijke scheidingstekens zijn tussen al die elementen. De afspraak is dat daarvoor de spatie wordt gebruikt; 1 spatie is al voldoende.
Zodra een commandoregel langer is dan alleen de commandonaam moet je dus een spatie gebruiken tussen alle verschillende elementen.
Een commandoregel kan als volgt opgebouwd zijn:
$ date $ whoami $ ls
Je hebt daarmee de volgende opdrachten laten uitvoeren:
“Geef datum en tijd”, “Wie ben ik volgens jou?” en “Geef lijst met bestanden in deze map”.
(“ls” is de afkorting van het Engelse woord “list”)Als je een commando intypt dat echt niet bestaat of dat nergens gevonden kan worden, dan krijg je een foutmelding van de shell: “command not found”.
Test dat maar eens met de volgende commandoregel:
$ bliep
$ ls /tmp $ ls /tmp Mijn_documenten
De eerste commandoregel vraagt aan “ls” om de bestanden te laten zien, die in de map “/tmp” zitten. Deze map bestaat op elk Linux systeem. Hij zit vol met tijdelijke bestanden en mappen, die nodig zijn voor bepaalde toepassingen (de letters “tmp” zijn de afkorting van “temporary”, tijdelijk). Het commando zal dus zeker uitgevoerd kunnen worden.
Als het toch fout ging, dan ben je vast de spatie achter de commandonaam vergeten! In dat geval kreeg je een foutmelding van de shell: “ls/tmp: command not found”. Er is inderdaad geen commando met de naam “ls/tmp”!De tweede commandoregel vraagt naar een lijst met de inhoud van twee verschillende mappen. Deze commandoregel leidt tot een foutmelding als je de spatie tussen “/tmp” en “Mijn_documenten” bent vergeten. Als de spatie er wel staat, maar de map “Mijn_documenten” bestaat niet of heet anders, dan krijg je daarover een foutmelding, maar je krijgt WEL de inhoud van de map “/tmp” te zien.
$ ls -a $ ls -al $ ls -aF /tmp
De eerste commandoregel vraagt om een lijst van alle bestanden in deze map.
De tweede commandoregel vraagt om een lijst met uitgebreide informatie (“long list”) over alle bestanden in deze map.
De derde commandoregel vraagt om een lijst van alle bestanden in de map “/tmp”, waarbij bovendien moet worden aangegeven of iets een speciaal soort bestand is (bv.: als het geen gewoon bestand is, maar een map, dan is het teken “/” achter de betreffende naam gezet).
Tip:
Soms levert een commandoregel erg veel informatie (“output”). De regels rollen dan snel over je scherm en je krijgt alleen de laatste regels te zien, net boven de prompt. Typ de commandoregel dan opnieuw in, maar voeg helemaal aan het eind ook nog het volgende toe: | less
Door het staande streepje (“pipe”) en het commando “less” wordt alle informatie opgedeeld in schermpagina's, die je op je gemak kunt bekijken.
Probeer de volgende commandoregels maar eens:
$ ls -l /etc $ ls -l /etc | less
De map “/etc” zit boordevol bestanden. Bij de eerste commandoregel vliegt de informatie over je scherm, maar bij de tweede commandoregel wordt er gestopt zodra je scherm vol is! Je kunt dit nu rustig lezen en als je klaar bent gebruik je een van de toetsen die hieronder bij punt 6 beschreven staan om een schermpagina naar beneden te gaan of om je prompt weer terug te krijgen.
Als je van een commando wel de naam weet, maar je hebt geen idee hoe een commandoregel met dat commando eruit mag zien (wel/geen opties, wel/geen argumenten), dan kun je die informatie opvragen via het “online manual”, het handboek dat op je systeem aanwezig is. Het commando dat je daarvoor gebruikt is “man”, de afkorting van het woord “manual”.
Voorbeeld: informatie opvragen over het commando “man“
$ man man
De volgende toetsen zijn handig om door zo'n pagina te wandelen:
Copyright © 2006 Integrated Services
Author: Drs.M.Bonk; commandline_nl 2006-11-03
Update: 2011-03-31