Basis Unix
Directory structuur
Het is nuttig eerst iets te
weten van het beheer van bestanden en directories onder Linux en Unix. Elk bestand (file)
staat in een directory. Een directory is ook een (speciaal) bestand
waarin informatie staat over de bestanden die in die directory staan. In een
directory kunnen opnieuw directories staan, zodat een zogenaamde boomstructuur
ontstaat, met de top aangeduid als root directory en aangegeven met een
schuine streep /
Voorbeeld van een boomstructuur:
Belangrijke directories zijn:
- /tmp
- In deze locale directory kun je tijdelijk bestanden neerzetten, als je
bijvoorbeeld te weinig ruimte hebt in je home directory. Let op: de inhoud van
/tmp wordt dagelijks verwijderd, dus plaats er niet iets van
permanent belang in.
- /scratch
- In deze locale directory kun een tijdje bestanden neerzetten, als je
bijvoorbeeld te weinig ruimte hebt in je home directory. Let op: de inhoud van
/scratch wordt verwijderd bij een Linux upgrade, dus plaats er niet iets van
permanent belang in.
- /home
- Hierin bevinden zich de home directories van alle gebruikers van het
computersysteem, bereikbaar voor jou vanaf elke machine in het Universiteits-netwerk.
Je eigen home directory kun je in commando's ook verkort
aangeven met ~ .
Andere home directories kun je aangeven met
~username .
- ~/public_html
- In deze subdirectory van je home directory staan de bestanden die samen je
eigen home page op het Web vormen. Deze bestanden zijn voor iedere machine
met internet te lezen.
Verder zijn er nog twee speciale
aanduidingen mogelijk, namelijk
. voor de huidige directory en
.. voor de directory één niveau hoger in de boom, die de huidige
directory bevat.
Een naam van een directory of bestand kun je op twee manieren aangeven:
- absoluut, d.w.z. de volledige padnaam vanuit de root directory,
bijvoorbeeld /home/bedaux/public_html
- relatief t.o.v. de directory waar je nu bent (de zgn. working
directory). Als je in de home directory (/home/bedaux) zit, dan kun
je eerdergenoemde directory met volledige padnaam
/home/bedaux/public_html ook aangeven met public_html.
Veranderen van huidige directory
De huidige lokatie kun
je opvragen met het commando pwd (print working directory). Je
verandert van directory m.b.v. het commando
cd directorynaam, waarbij de directory naam zowel absoluut
als relatief aangegeven kan worden. De commandonaam cd staat voor
change directory.
Voorbeeld:
Stel ik ben Jasper Bedaux en mijn username is
bedaux, dus mijn home directory is /home/bedaux of
~bedaux. Ik kan tenallentijde naar mijn home directory op een van de
volgende manieren:
- cd /home/bedaux
- cd ~bedaux
- cd ~ (Let op: ~ staat in een commando
altijd voor de naam van je eigen home directory)
- cd (Dus: cd zonder argument
zorgt dat je altijd naar je home directory gaat)
Om er zeker van te
zijn dat ik in mijn home directory ben kan ik intoetsen pwd en het
systeem geeft de naam van de directory waar ik werkelijk ben.
Stel dat ik
mij inderdaad in mijn home directory bevindt en dat ik daar een subdirectory
public_html heb. Ik kan dan in deze subdirectory komen via het commando
cd public_html
Als ik daarna weer terug wil naar mijn home
directory kan dat ook met het commando cd .. (ga een directory hoger).
Opdracht:
- Open een terminal-venster en controleer daarin dat je huidige directory
gelijk is aan je home directory.
- Ga op twee verschillende manieren naar de directory die één niveau hoger
in de boomstructuur staat en controleer steeds dat deze gelijk is
/home
- Ga vanuit /home op twee verschillende manieren naar de
directory /opt/stud, een plek waar de software voor
verschillende vakken van de faculteit.
-
Geef vijf manieren om vanuit de directory /opt/stud in één
commando in je home directory terug te keren.
Downloaden via de webbrowser
We gaan nu eerst een
bestand downloaden waarin de meest gebruikte commando's staan. Hieronder
vind je een link naar het bestand. Door er op te klikken wordt het bestand in
een nieuwe venster geopend.
lijst met nuttige commando's
Opdracht:
Download dit
bestand. Dit kan in Firefox door in het menu File de optie Save Page
As... te kiezen. Je kan nu aangeven hoe en waar je het bestand wilt
bewaren. Verander nog niets aan de locatie (dit is standaard je home directory).
Je kan nu kiezen of je het bestand wilt bewaren als
- Web page,, d.w.z. in de originele vorm, in dit geval HTML
- Text, d.w.z. in tekstformaat
Bewaar het bestand in alle twee de vormen door herhaald
Save Page As... uit te voeren.
Printen
We gaan nu het bestand op papier afdrukken. Vaak kan dit door een 'Print' commando
in het 'File' menu, maar bij sommige programma's blijkt daar gewoon een commandline opdracht
te staan. Bij andere programma's is de commandline beter verborgen, maar kan men
aan de opties zien dat dezelfde opdracht uitgevoerd wordt. Voor het afdrukken zijn drie
commando's van belang:
- lpr voor het printen
- lpq om te bekijken hoeveel printopdrachten er nog wachten
- lprm om eventueel een printopdracht te verwijderen (als je iets
verkeerds hebt gedaan of als je geen tijd meer hebt om erop te wachten)
Bij printopdrachten moet de naam van de printer worden opgegeven omdat
er meerdere printers zijn. In het gebouw Euclides (waar je nu waarschijnlijk
zit) heet de printer sl1-1. In de Diamantslijperij (natuurkundegebouw) heet
de printer sl2. Het opgeven van de printernaam gaat met de optie
-P. In het gebouw waar je nu zit moet je dus gebruiken
lpr -Psl1-1 bestand voor gebruik van de printer
sl1, waarin bestand het af te drukken bestand is.
Opdracht:
- Druk de lijst van commando's af naar een file (dit creert een PostScript
bestand met een naam die eindigt op .ps).
- Stuur deze file naar de printer sl1-1 m.b.v. van lpr.
- Bekijk met lpq hoeveel mensen er in de wachtrij staan (vergeet
niet de printernaam op te geven) en ga na of je er zelf ook bij staat.
- Verwijder je printopdracht met lprm. Hiervoor is de zogenaamde
job-id van je printopdracht nodig. Dit nummer kun je zien met
lpq. Het commando lpq is ook nuttig om te kijken of je
bestand al is uitgeprint, zodat je het op kunt halen.
- Als de printopdracht verwijderd is, geef de printopdracht dan opnieuw en
haal de papieren bij de printer op als het afdrukken klaar is.
Werken met bestanden en directories
We oefenen het
werken met bestanden en directories. Denk daarbij aan taken als het maken en
verwijderen van bestanden en directories, het kopiëeren, verplaatsen en
verwijderen van bestanden en directories, enzovoort.
Opdracht:
Gebruik je lijst
van commando's (geprint of via beeldscherm) voor de volgende opdrachten:
- maak een directory genaamd LinuxIntro
- kopieer hiernaar het tekstbestand (met naam eindigend op .txt)
met shell-commando's
- verander de naam van het bestand naar iets wat je logisch vindt
- ga in de LinuxIntro directory zitten
- verplaats het HTML-bestand met shell commando's vanuit je home directory
naar de LinuxIntro directory (waar je nu inzit)
- verwijder het teksbestand uit je home directory
- bekijk de inhoud van de huidige directory
- bekijk de inhoud van het tekstbestand met commando's met
more
- bekijk ook het HTML-bestand en het PostScript-bestand
- ga naar een home directory van iemand anders (bijvoorbeeld je
buurvrouw/buurman) en kijk wat voor bestanden/directories deze persoon heeft
- ga terug naar je eigen directory en verwijder de LinuxIntro
directory
Uitloggen
Als laatste in een computersessie moet je
altijd uitloggen. Als je dit niet doet, kan iedereen al jouw bestanden
verwijderen, je e-mail-adres misbruiken en meer van dergelijke ongein. Veel
gebruiksomgevingen bewaren de toestand van het scherm en de openstaande
programma's bij het verlaten, zodat deze situatie bij inloggen zoveel mogelijk
opnieuw opgeroepen kan worden. Vaak wil je dit niet en doe je er verstandig aan
vooraleer uit te loggen het scherm op te ruimen en openstaande programma's
netjes af te sluiten.
Opdracht:
Ruim het scherm
op en log uit. Dit kan door op de blauwe KDE-knop te
klikken en dan de onderste optie Log out... te kiezen. Er wordt nog om
een bevestiging gevraagd. Kies OK en wacht tot het inlogscherm weer te zien
is.
Als je weer ingelogd bent, kun je verder met Deel 2 van de introductie.