



| Geschikt voor: | |
| Versie: | 10.04 LTS, 11.10, 12.04 LTS |
Linux heeft verschillende grafische interfaces waarmee u door wat muisklikken veel kan bereiken zonder veel documentatie te lezen. De traditionele Unix omgeving waar Linux (en dus Ubuntu) op gebouwd is werkt met ingetypte opdrachtregels. Dit is nog steeds de snelste en krachtigste manier om met Linux te werken maar vereist enige tijd om te begrijpen hoe deze opdrachtregels werken.
Soms, met name voor systeem configuratie taken, is het beter om een terminalvenster te gebruiken.
Iedere Ubuntu gebruiker heeft wel eens ergens iets gelezen als
sudo asjemenou iets -w -a -t ~/IetsmetLetters_en_streepjes.punt
Vaak wordt er aangenomen dat hiervoor bekend is hoe het terminalvenster werkt. En zo lastig is het niet om een terminalvenster te openen en iets te typen! Maar het helpt als u:
Opdrachtnamen zijn vetgedrukt.
Opdrachten die ingetypt kunnen worden zijn "vet tussen aanhalingstekens"
Let op dat het juist gebruiken van hoofd- en kleine-letters belangrijk is in een terminalvensteropdracht. Bijvoorbeeld: User, user en USER zijn voor het terminalvenster verschillende namen.
Unity is de standaard werkomgeving van Ubuntu 12.04. Maakt u nog geen gebruik van Unity maar Gnome, kijk dan verderop.
De eenvoudigste manier om een terminalvenster te openen is met de "zoeken" na het indrukken van de dash (knop linksboven in het scherm). Maar u kan ook op de dash drukken en kiezen voor "Meer toepassingen" en vervolgens "meer resultaten weergeven" in het onderdeel "Geïnstalleerd". Een derde manier is om voor "Meer toepassingen" te kiezen en dan in de rechterbovenhoek "Alle applicaties" te gebruiken. U ziet dan een lijst waarin u kan kiezen voor "Hulpmiddelen" en dan "Terminalvenster".
De manieren om in Unity een terminalvenster te starten zijn:
Gnome is de klassieke werkomgeving in Ubuntu 12.04 (Precise Pangolin) en de standaard werkomgeving in oudere versies zoals Ubuntu 10.04 LTS (Lucid Lynx).
Toepassingen menu → Hulpmiddelen → Terminalvenster.
Applications menu → Accessoiries → Terminal.
KMenu → Systeem → Terminal (Konsole).
Opdrachten uitvoeren met beheerdersrechten. Door voor een opdracht het woord sudo te plaatsen wordt deze uitgevoerd met extra rechten. Dit is bijvoorbeeld nodig om systeem instellingen te veranderen. Het terminalvenster vraagt dan om het wachtwoord. Als het wachtwoord wordt ingetypt is dit niet zichtbaar in het terminalvenster, ook geen sterretjes ofzo. Toch wordt het wachtwoord wel degelijk gecontroleerd!
'~' Om het typen te beperken kan in opdrachten het teken '~' worden gebruikt in plaats van de "Persoonlijke mapnaam" (/home/naam).
cd: De cd opdracht kan gebruikt worden om een andere map te gebruiken. Het terminalvenster start in de "Persoonlijke map". Voorbeelden:
Ga naar de hoofdmap (root), "cd /"
Ga naar de Persoonlijke map, "cd ~" of korter "cd"
Om naar een bovenliggende map te gaan, gebruik "cd .."
Om naar de vorige map te gaan, "cd -"
Om naar een bepaalde map te gaan kan een pad naar deze map worden opgegeven. Bijvoorbeeld "cd /var/www" gaat naar de submap 'www' in de map '/var'. Nog een voorbeeld, "cd ~/Bureaublad" gaat naar de persoonlijke map 'Bureaublad'.
cp: De cp opdracht maakt een kopie van een bestand. Bijvoorbeeld "cp bestand testbestand" maakt een kopie van bestand 'bestand' met de naam 'testbestand'. Om een gehele map te kopiëren gebruik: "cp -r map testmap" (de -r optie staat voor recursief).
ls: De ls opdracht toont de bestanden in een map. Er zijn opties voor deze opdracht om meer informatie te tonen zoals bestandsomvang, aanmaak datum en rechten. Bijvoorbeeld: "ls -l ~" toont uitgebreide informatie over de bestanden in de Persoonlijke map. Met een -a optie, "ls -a", toont deze opdrachte ook de "verborgen" bestanden.
nano bestandsnaam start het programma nano om het bestand met de naam bestandsnaam te wijzigen. Het programma nano kan worden afgesloten met de toetscombinatie Ctrl+X. Als er wijzigingen zijn gemaakt wordt gevraagd of deze opgeslagen moeten worden.
man: Met de man opdracht kan de handleiding (Engelstalig: manual) worden gelezen. Probeer "man man"voor de handleiding van de man opdracht zelf.
Kijk voor meer informatie over de opdracht man in het hoofdstuk ""Man" en hulp"
mkdir: De mkdir opdracht maak een nieuwe map. Bijvoorbeeld "mkdir muziek" maakt een map met de naam 'muziek'.
mv: De mv opdracht verplaatst een bestand naar een andere map of wijzigt de naam van het bestand. Voorbeelden: "mv bestand testbestand" hernoemd 'bestand' in 'testbestand'. "mv bestand ~/Bureaublad" verplaatst bestand met de naam 'bestand' naar de map van het Persoonlijke "Bureaublad" maar met dezelfde naam. Om de naam te veranderen moet een nieuwe bestandsnaam in de opdracht worden opgegeven, bijvoorbeeld "mv bestand ~/Bureaublad/testbestand"
pwd: De pwd opdracht toont de mapnaam waarin de terminal werkt (pwd staat voor het Engelstalige "print working directory"). Voorbeeld: "pwd" in de map van het Bureaublad geeft "~/Bureaublad". Tip: de het Gnome terminalvenster geeft deze informatie ook in de titel van het terminalvenster.
rm: Gebruik deze opdracht om een bestand of map te wissen.
rmdir: Gebruik een rmdir opdracht voor het wissen van een lege map. Gebruik rm -r om een map met inhoud recursief te wissen.
df: De opdracht df toont het schijfgebruik van gekoppelde partities. De opdracht "df -h" wordt vaak gebruikt - het gebruikt megabyte (M) en gigabyte (G) in plaats van diskblokken.(-h Engels: "human-readable")
du: De opdracht du toont het schijfgebruik voor (sub) mappen. Veel gebruikte opties zijn -s voor een samenvatting (Engels: summary) en -h voor een leesbaar overzicht. Bijvoorbeeld:
naam@ubuntu-nl:~$ du /boot 224 /boot/grub 13108 /boot naam@ubuntu-nl:~$ du -sh /boot 13M /boot
free: Met de opdracht free kan het geheugen gebruik worden opgevraagd. "free -m" toont het geheugengebruik in megabyte, voor de huidige computers een bruikbare grootheid.
ifconfig: toont informatie over de netwerk interfaces.
lsb_release -a: Met de -a optie geeft de lsb_release opdracht informatie over de geinstalleerde Linux distributie. Bijvoorbeeld:
naam@ubuntu-nl:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04 Release: 12.04 Codename: precise
top: De opdracht top geeft een beeld van de activiteiten op het Linux systeem en hoeveel computerbronnen zoals CVE, RAM geheugen en swap geheugen in gebruik zijn. Het top scherm wordt doorlopend ververst. Om top te stoppen druk op "q".
uname -a: Een uname opdracht met de -a optie geeft alle systeem informatie zoals systeemnaam en gebruikte versie van de Linux kernel.
"sudo adduser gebruikersnaam" maakt een nieuwe gebruiker met de naam "gebruikersnaam". De opdracht vraagt om een wachtwoord voor de nieuwe gebruiker in te stellen. Om een wachtwoord van een gebruiker te wijzigen kan de opdracht "sudo passwd gebruikersnaam" worden gebruikt.
De hoofdmap, de map waar alle mappen inzitten, heet / (enkel een schuinestreep-teken).
Deze hoofdmap bevat de volgende submappen:
$ cat /proc/cpuinfo # geeft informatie over de cpu $ cat /proc/meminfo # geeft informatie over het interne geheugen gebruik
/usr is een hoofdmap voor mappen met applicatie software. N.B. usr staat tegenwoordig niet meer voor user, maar voor Unix System Resources (blijkens de oorspronkelijke Unix-manuals van AT&T (Bell Labs) was het aanvankelijk wel een afkorting van 'user').
De Terminal staat u toe om alles te veranderen en verbeteren in uw eigen map, niet in mappen van andere gebruikers of in systeem mappen (hiervoor kan sudo worden gebruikt).
Hoe een opdracht werkt is vaak te beïnvloeden door een optie aan de opdracht mee te geven. Bijvoorbeeld bij de ls opdracht om een lijst van de aanwezige bestanden op te vragen. Aan de ls opdracht kan de -s optie worden meegegeven. "ls -s" zal per bestand ook de bestandsgrote tonen. Een andere optie is de -h optie om de uitvoer ("human readable") te tonen in kilobytes (K), megabytes (M) of gigabytes (G).
Meerdere opties kunnen worden gegroepeerd. Dus "ls -sh" is dezelfde opdracht als "ls -s -h". Ook kennen opties soms een lange en een korte notatie. "ls --size --human-readable" is ook dezelfde opdracht.
Met een "-l" optie toont de ls opdracht ook de rechten bestanden en mappen. Voorbeeld:
naam@ubuntu-nl:~$ ls -l total 16 -rw-r--r-- 1 naam naam 814 2009-06-04 23:25 server.crt -rw-r--r-- 1 naam naam 631 2009-06-04 23:25 server.csr -rw-r--r-- 1 naam naam 887 2009-06-04 23:24 server.key -rw-r--r-- 1 naam naam 963 2009-06-04 23:24 server.key.secure
in bovenstaand voorbeeld kan iedereen (eigenaar(user)+groep+overig) de bestanden lezen (r) maar alleen de eigenaar (gebruiker "naam") de bestanden wijzigen (w).
De 1e kolom (10 posities) met de letters 'r' en 'w' (soms ook 'x') geeft informatie over de bestandsrechten.
Deze kolom is opgebouwd uit 3 delen. De 1e drie posities tonen de rechten voor de eigenaar, de volgende drie posities voor de "groepsrechten" en de laatste drie tonen de rechten voor "overige" gebruikers.
bit |
eigenaar |
groep |
overige |
- |
rwx |
rwx |
rwx |
r staat voor leesrechten (Engels: Read) w staat voor schrijfrechten (Engels: Write) x staat voor uitvoerrechten (Engels: eXecute).
De letter x bij een map toont de rechten om deze map binnen te gaan (cd opdracht).
De 1e positie heeft de letter d als het een mapnaam betreft. Deze 1e positie kan soms ook een andere letter bevatten voor bijzondere bestanden.
Rechten kunnen met een terminalvenster opdracht chmod worden gewijzigd. Het wijzigen van rechten kan alleen van bestanden en mappen waarvan de gebruiker de eigenaar is. Zoniet, dan is het wijzigen van rechten alleen mogelijk door gebruik van sudo voorafgaand aan de chmod opdracht.
De chmod opdracht kent 2 vormen:
Bij het gebruik van letters kunnen rechten worden toegekend met een plus ("+") teken en worden afgenomen met een minus ("-") teken. Geef voorafgaand aan dit teken op voor WIE (u=eigenaar(user),g=groep,o=overigen,a=allen) en na dit teken WELKE rechten (r, w of x). Voorbeelden:
Neem lees- en schrijfrechten AF van andere gebruikers (groepsleden en overige gebruikers) dan de eigenaar van het bestand server.key:
chmod go-rw server.key
Geef iedereen leesrechten op bestand server.crt:
chmod a+r server.crt
Maak een tekstbestand met terminalopdrachten uitvoerbaar:
chmod +x script.txt
de terminalopdrachten uit dit tekstbestand kunnen dan (als een programma) worden uitgevoerd met de opdracht:
./script.txt
De chmod opdracht kan ook met cijfers werken. Bijvoorbeeld:
Geef alleen lees- en schrijfrechten aan de eigenaar van server.key:
chmod 600 server.key
Geef iedereen leesrechten op bestand server.crt:
chmod 666 server.crt
De achtergrond achter deze cijfer methode valt buiten dit artikel.
man opdracht, info opdracht en opdracht --help zijn de belangrijkste opdrachten voor hulp in een terminalvenster.
Bijna alle terminalvenster opdrachten en Linux programma's hebben een man (Engels voor manual, handleiding) bestand. Om dat bestand te tonen kan de opdracht "man opdracht" worden gebruikt. De man pagina geeft uitleg over de werking en te kiezen opties. Soms geeft de man aan het einde een voorbeeld of een verwijzing naar meer informatie. Bijvoorbeeld de opdracht "man ls" toont de manual (Engelstalige handleiding) voor de ls opdracht.
Navigeer door de man pagina met de pijltjes naar beneden en omhoog of met de PageDown en PageUp toetsen. Sluit de man pagina met "q"
"man man" toont de man pagina van de man opdracht zelf. Een goede inleiding tot de man informatie!
"man intro" geeft een Engelstalige introductie voor het gebruik van terminalopdrachten.
Heel veel opdrachten kennen ook de optie -help (of kortweg --h) voor een korte beschrijving van de opdrachten de de opties voor deze opdracht. Bijvoorbeeld "ls --help" (de ls opdracht kent geen korte notatie van --help, de -h opties heeft hier een andere functie!).
Als het niet duidelijk is welke opdracht of programma gebruikt kan worden kunnen de man pagina's worden doorzocht.
man -k zoekterm zoekt naar zoekterm. Bijvoorbeeld "man -k wireless" geeft opdrachten die iets met "wireless" te maken hebben.
man -k zoekterm is hetzelfde als apropos zoekterm.
Gebruikers met Konqueror kunnen de man pagina's op een hele fraaie manier lezen door het adres man:/opdracht met Konqueror te bezoeken.
Vaak wordt voorgesteld een (complexe) terminalvenster-opdracht te knippen en te plakken in het terminalvenster. Maar ctrl+v werkt niet!
Toch is de oplossing eenvoudig: de middelste muisknop. Bij een muis met een wiel is het wiel de middelste knop. Bij een muis met 2 knoppen kunnen beide knoppen tegelijk worden ingedrukt. Alternatief is in de menubalk Bewerken → Plakken te gebruiken of Shift+Insert.
pijltje omhoog of ctrl+p |
Blader terug door eerder ingegeven opdrachten. |
|
pijltje omlaag of ctrl+n |
Blader vooruit door eerder ingegeven opdrachten. |
|
Enter |
Voer een met bladeren gevonden opdracht uit (Ctrl+c breekt het bladeren af) |
|
tab |
Een hele nuttige toets! Het vult opdrachten of bestandsnamen aan. Zijn er meerdere mogelijkheden dan worden deze getoond als nogmaals op tab wordt gedrukt. |
|
ctrl+r |
Zoekt in eerder ingegeven opdrachten. Type het eerste deel van de opdracht tot de eerder ingegeven opdracht is gevonden. Druk op Enter om de opdracht nogmaals uit te voeren. |
|
history |
De history opdracht toont een lijst met de eerder ingegeven opdrachten. Voor iedere opdracht wordt een nummer n gegeven. Type !n om deze opdracht uit te voeren. Gebruik "history | less" om door de lijst met opdrachten te bladeren. Gebruik "history | grep zoekterm" om de opdrachten te filteren. |
|
De muis werkt niet in een terminalvenster. Gebruik de toetsen pijltje naar links en rechts om met de aanwijzer over de opdrachtregel te gaan om de opdracht te wijzigen.
Op de plaats van de aanwijzer kan ingetypte tekst worden ingevoegd, om eerder ingetypte tekst te overschrijven druk op de Ins toets.
ctrl+a of Home |
Verplaats de aanwijzer naar het begin van de regel. |
|
ctrl+e or End |
Verplaats de aanwijzer naar het einde van de regel. |
|
ctrl+b |
Verplaats de aanwijzer naar het einde van het woord. |
|
ctrl+k |
Wis de rest van de opdrachtregel. |
|
ctrl+u |
Wis de opdrachtregel tot aan de aanwijzer. |
|
ctrl+w |
Wis het woord voor de aanwijzer. |
|
Een opdracht voor de terminalvenster kan ook via Alt+F2 worden opgegeven.
Er kunnen meerdere terminalvenster gelijktijdig worden geopend. In meerdere vensters of als tabblad.
“Goed gereedschap is het halve werk”
Een eenvoudig terminalvensterprogramma om tekstbestanden te maken of te wijzigen is nano.
Sluit nano met de toetsen Ctrl+x. Druk op n om te sluiten zonder de wijziging op te slaan. Druk op j om de wijziging wel op te slaan, eventueel onder een andere naam.
Midnight Commander, mc, is een kloon van het bekende Norton Commander (nc). Men kan heel veel commando's via menu's uitvoeren. Het werken via een menu is handig als men alle opdrachten nog niet precies weet te typen. Omdat er 2 mappen gelijktijdig afgebeeld worden is het eenvoudig om mappen en bestanden te verplaatsen (functietoets F6) of te kopiëren (F5). Dit is ook te gebruiken voor netwerkbestanden via ftp of ssh of voor windows computers via smb en ook voor ingepakte bestanden.
Installeer Midnight Commander (uit de Universe pakketbron) met de opdracht:
sudo apt-get install mc
Tijdens het gebruik van mc kunnen nog steeds commando's worden ingegeven en uitgevoerd op de onderste regel.
Tip: Druk op Ctrl toets en de letter o om te schakelen tussen mc en het achterliggende scherm.
Het pakket bevat een ingebouwde bestandeditor, mcedit, die met functietoets F4 gebruikt kan worden maar ook zelfstandig. Bijvoorbeeld:
sudo mcedit bestandsnaam
https://help.ubuntu.com/community/UsingTheTerminal - Dit is vrije vertaling van deze pagina.
http://linuxcommand.org/ - (Engelstalig) basic BASH tutorials, including BASH scripting
http://commands.tips-linux.net/ - een (Engelstalige) lijst met opdrachten.
http://mywiki.wooledge.org/BashGuide - (Engelstalige) Bash guide, ook voor beginners.