Introductie Computergebruik: Unix Andr´e Heck c
AMSTEL Instituut juli 2001
2
Inhoudsopgave 1 Inleiding 1.1 Doel van de cursus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Huisregels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Voorkomen van beeldschermklachten . . . . . . . . . . . . . . . . . . . . . . . 2 Aan de slag 2.1 Inloggen . . . . 2.2 De Desktop . . 2.3 Webbrowser . . 2.4 Wachtwoorden
5 5 5 6
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
7 7 8 12 15
3 Basiszaken van Unix 3.1 Directories en files . . . . . . . . . 3.2 Veranderen van working directory . 3.3 Eenvoudige commando’s voor files 3.4 Printen van files . . . . . . . . . . 3.5 Processen . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
16 16 18 19 21 22
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
4 Unix documentatie
23
5 Uitloggen
24
6 Beheer van files en directories 6.1 Meer informatie over files en het beveiligen van eigen 6.2 Gebruik van wildcards . . . . . . . . . . . . . . . . . 6.3 Opzoeken van files en onderling vergelijken . . . . . 6.4 ftp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Beheer van diskruimte 7.1 Informatie opvragen over disk- en printruimte . . . . 7.2 Wat te doen bij overschrijding van diskruimte? . . . 7.3 Comprimeren van files en archiveren van directories 7.4 Problemen met inloggen vanwege diskruimte . . . . . 8 Procesbeheer 8.1 Met meer programma’s tegelijkertijd werken 8.2 Status van een proces opvragen . . . . . . . 8.3 Controle over processen . . . . . . . . . . . 8.4 Eerste hulp bij een geblokkeerd werkstation 9 Losse eindjes 9.1 Aanpassing van de Desktop 9.2 Werken met een teksteditor 9.3 Gemakkelijk commando’s in 9.4 StarOffice . . . . . . . . . . 9.5 Werken op PC’s . . . . . . .
werk . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
25 25 28 28 29
. . . .
31 31 32 32 34
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
34 34 35 36 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . een terminal-venster corrigeren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
39 39 39 40 40 40
3
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
9.6 9.7
Werken vanaf thuis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voor wie meer wil weten over Unix . . . . . . . . . . . . . . . . . . . . . . . .
10 Lijst met nuttige Unix commando’s 10.1 Beheer van bestanden en directories 10.2 Printen . . . . . . . . . . . . . . . . 10.3 Procesbeheer . . . . . . . . . . . . . 10.4 Allerlei commando’s . . . . . . . . . 10.5 Netwerk-geori¨enteerde opdrachten . 10.6 Redirection, zoekpatronen, etc. . . . 10.7 Software . . . . . . . . . . . . . . . . Index
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
41 41 41 42 42 43 43 44 44 45 46
4
1
Inleiding
1.1
Doel van de cursus
Welkom op de cursus “Introductie Computergebruik: Unix”. Doel van deze cursus is om je in korte tijd vertrouwd te maken met de computeromgeving op de Faculteit der Natuurwetenschappen en Wiskunde. Je zult voornamelijk op een netwerk van Sun werkstations werken. Het besturingssysteem wat hier op draait is Sun Solaris, een Unix variant. Dit besturingssysteem maakt het mogelijk om de computer iets te laten doen voor je. In tegenstelling tot bijvoorbeeld Microsoft Windows en MacOS is UNIX geen grafische omgeving waarin je met behulp van de muis kunt manoeuvreren, maar wordt er gebruik gemaakt van commando’s. In deze cursus leer je de belangrijke Unix commando’s. Bovenop Unix gebruik je overigens op een werkstation meestal wel een grafisch interface. Het X Window System is hierbij tot de standaard-werkomgeving uitgegroeid. We gaan in deze cursus uit van de Common Desktop Environment (CDE) variant, omdat deze voor alle typen van werkstations eenzelfde look-and-feel heeft en voor de beginnende Unix-gebruiker een prettige omgeving is om in te werken. Deze cursus is geen algemene Unix-introductie, maar specifiek gericht op het hier aanwezige computernetwerk, zoals het op dit moment werkt. De cursus is vooral een practische introductie met als motto “snel aan de slag en al doende leert men”. Het idee hierbij is dat, als na verloop van tijd de behoefte ontstaat ergens meer van te weten, je tegen die tijd voldoende vertrouwd bent met het systeem om zelfstandig die informatie te vinden en tot je te nemen. De doelstelling van de introductiecursus Unix is als volgt samen te vatten: aan het einde van het practicum • kun je werken op een Unix werkstation onder Common Desktop Environment (CDE); • ben je vertrouwd met het hi¨erarchische filesysteem binnen Unix; • kun je werken met de belangrijkste commando’s in UNIX; • bezit je computervaardigheden wat betreft lezen en sturen van email, afdrukken van teksten op papier, downloaden van bestanden, vinden van informatie op de websites van de UvA, gebruiken van eenvoudige teksteditor, enzovoort. We hanteren in deze cursus vooral Engelse computertermen i.p.v. Nederlandse benamingen omdat Engels nu eenmaal de voertaal van het besturingssysteem is.
1.2
Huisregels
Voordat we echt van start gaan, eerst nog enkele huisregels die gelden in de computerzalen: • Toegang tot jouw persoonlijke login is uitsluitend voor jezelf. Je bent verplicht er een goed wachtwoord (password) op te zetten en deze voor jezelf te houden. Vermijd dat anderen spieken bij het intoetsen van je wachtwoord. • Hacken en ander misbruik van accounts is verboden.
5
• De computerzalen worden gebruikt door medestudenten die rustig willen werken. Houd daar rekening mee: voer enthousiaste discussies elders, bel niet in de zalen met je gsm, . . .. • Het is niet toegestaan consumpties te nuttigen in de zaal. • Ga netjes met de dure apparatuur om zodat deze niet onnodig stuk gaat. Leg ook geen spullen bovenop een toetsenbord. • Werkstations mogen nooit uitgezet of gereset worden. • Het langdurig “locken” van een computerscherm, waardoor deze voor anderen onbruikbaar is geworden, is niet toegestaan. Dus: ga je bijvoorbeeld lunchen, dan hoort het werkstation beschikbaar te zijn voor anderen. • Computerzalen zijn veelvuldig gereserveerd voor cursussen en practica. De docent en/of assistenten zijn gerechtigd te verlangen dat iedereen die niets met hun cursus of practicum te maken heeft plaats maakt of zelfs weggaat, ongeacht of de apparatuur nodig is voor de cursus. Aan een dergelijk verzoek moet direct en zonder morren voldaan worden. In het zeldzame geval dat een werkstation gecrasht is en niet vanzelf opnieuw opstart, moet het systeembeheer worden gewaarschuwd. Ook als een werkstation om andere redenen in ongerede geraakt is of er dringende problemen zijn moeten zij gewaarschuwd worden. Zij zijn de enigen die dergelijke problemen kunnen oplossen. Doe dit bij voorkeur door een email te sturen naar
[email protected] of gebruik het formulier op de website met webadres www.science.uva.nl/cng/support/
1.3
Voorkomen van beeldschermklachten
De bekende “muisarm” is maar een van de vele klachten die bij verkeerd computergebruik kunnen ontstaan: oogklachten, hoofdpijnklachten en rugklachten komen bij onzorgvuldig beeldschermwerk ook veel voor. Onder het motto “Voorkomen is beter dan genezen” geven we een aantal tips om beeldschermklachten te voorkomen: • Werk niet langer dan 6 uur per dag achter een beeldscherm. • Bereid computerwerk zoals het schrijven van computerprogramma’s of verslagen met pen en papier voor v´ o´ordat je achter de computer kruipt. Niet alleen verbetert dit de kwaliteit van het werk, maar het minimaliseert ook de tijd die je achter een werkstation doorbrengt. • Werk niet te lang aan ´e´en stuk door, maar neem voldoende pauze tussendoor (tenminste elke 2 uur 10 minuten) • Zorg voor afwisseling met ander werk (en dan bedoelen we niet een computerspelletje). • Let op een goede werkhouding: zit ontspannen en recht achter de monitor, op de juiste afstand van vijftig tot zeventig centimeter; beweeg bij het muizen vanuit de elleboog en niet vanuit de pols; leer afwisselend gebruik aan van links- en rechtshandig muizen.
6
• Voorkom vermoeide ogen: tuur niet langdurig naar een beeldscherm, gebruik voldoende grote letters op het scherm, gebruik geen lichte letters tegen een donkere achtergrond, zet geen monitor voor het raam. • Ga nadat je overdag veel met de computer gewerkt hebt, niet ook nog eens een avondje internetten. • Vermijd piekbelastingen en plan je werkzaamheden zodanig dat je niet hoeft te stressen om werk op tijd af te krijgen.
2
Aan de slag
2.1
Inloggen
Als je op een Unix werkstation wilt werken heb je een user account (login) nodig: deze bestaat uit een username (loginnaam, gebruikersnaam) en password (wachtwoord). Als het goed is, heb je deze gegevens van systeembeheer ontvangen voor de werkstations en pc’s in het onderwijscluster. Tussen twee haakjes, de centrale studentenserver, waar al je compuyterbestanden bewaard worden en waar alle te gebruiken software op staat, heet gene. De username • wordt gebruikt om je te identificeren; • bepaalt tevens je email-adres op de faculteit (
[email protected] Dit is niet gelijk aan je studentenmail-adres collegekaartnummer @mail.student.uva.nl); • bepaalt ook de naam van je “home directory” waarin je bestanden kunt bewaren (tot een zeker maximum gebruik van schijfruimte). Het inlogscherm op een Unix-machine kan in verschillende gedaanten voorkomen: • Een karakter-geori¨enteerd inlogscherm; • De Common Desktop Login (CDE) dialogbox; • De X Display Manager (XDM) dialogbox. In het eerste geval zie je achtereenvolgens twee prompts verschijnen: login: password: Achter de eerste prompt tik je je username (loginnaam) en achter de tweede prompt jouw password; in beide keren gevolgd door intoetsen van de “gewone” Enter-knop (dit is de gelijknamige toets op het toetsenbord naast de gewone letters; dus niet de knop rechts naast de cijfers op een uitgebreid toetsenbord). In de andere twee inlogschermen zie je al direct een dialoogvenster met Welcome to computernaam • tik je username in en druk op de Enter-knop. 7
• Er verschijnt nu een volgend dialoogvenster met de tekst “Please enter your password”. Controleer v´o´ordat je je wachtwoord intoetst dat aan de rechterkant in het venster Common Desktop Environment staat. Zo niet, klik dan eerst met de linkermuisknop op options, vervolgens in het menu dat verschijnt op session, en kies tenslotte als loginssessie Common Desktop Environment. Activeer de cursor weer in het invulveld voor je wachtwoord door met de linkermuisknop in dit gebied te klikken en toets je password in. Terwijl je je password intikt komen er geen letters op het scherm te staan (zo kan niemand je password stiekem meelezen). • Note bene: klikken op OK in een dialoogvenster staat in de regel gelijk aan het geven van een Return via de gelijknamige toets of de “gewone” Enter-knop.
2.2
De Desktop
We gaan in deze cursus uit van de Common Desktop Environment (CDE). Wanneer je inlogt, op de manier die in het einde van de vorige paragraaf beschreven is, verschijnt er over het algemeen een scherm dat er als volgt uit kan zien:
Je ziet hier twee windows, een terminal-venster en een venster van de Netscape webbrowser, over elkaar heen staan en linksboven een “dichtgeklapt” terminalvenster. Deze vensters zijn er omdat de voorafgaande loginsessie in deze toestand verlaten is en bij opnieuw inloggen dezelfde programma’s weer opgeroepen worden, met vensters op dezelfde locatie op het scherm. Meestal is alleen het Control Panel onderaan zichtbaar. De belangrijkste onderdelen van deze gebruiksomgeving beschrijven we in onderstaande paragrafen. 8
Opdracht 1: Log in Log in op het systeem: als het beeldscherm donker is, druk dan op de Enter-toets. Er wordt nu als het goed is gevraagd om je loginnaam. Toets deze in en druk op Enter. Doe nu hetzelfde voor je password. Omdat het de eerste keer is dat je inlogt verschijnt er een venster waarin je gevraagd wordt te kiezen wat voor gebruiksomgeving je wilt gebruiken: kies voor de optie Common Desktop Environment (CDE). Later ben je vrij om met andere gebruiksomgevingen te experimenteren. Wacht nu totdat er van alles op je scherm verschijnt. Dit kan even duren als veel mensen tegelijk proberen in te loggen. Opdracht 2a: Open een terminal-venster Klik ´e´enmaal op het driehoekje boven het Personal Applications icoon en er ontvouwt zich een submenu met verschillende programma’s zoals in nevenstaande schermafdruk te zien is. Kies Terminal. Soms duurt het even voordat een programma is opgestart: aan het knipperende “lichtje” boven de Exit-button kun je zien dat UNIX nog bezig is met de opzoeken en starten van het programma. Na luttele seconden verschijnt er wel een terminal-venster waarin je opdrachten kunt intoetsen en waarin reacties van het besturingssysteem op de invoer zullen verschijnen. Maar we gaan eerst het werken met een terminal-venster en met een tekst-venster oefenen. Opdracht 2b: Oefen met een terminal- en tekst-venster ´ en van de manieren is Open een terminal-venster. Dit kan op verschillende manieren. E´ hierboven al beschreven. Een andere manier van het openen van een terminal-venster is door met de rechtermuisknop ergens op het bureaublad, d.w.z. op de achtergrond die het hele scherm groot is, te klikken (op een lege plek dus, en niet op een plek in beslag genomen door een of ander venster). Er verschijnt dan een zogenaamd pop-up-menu, waarin je onder Programs de optie Terminal kunt vinden. Open ook een tekst-venster en toets er wat tekst in. Probeer nu door het uitvoeren van onderstaande opdrachten vertrouwd te raken met de gebruiksomgeving. Probeer zelf uit te zoeken hoe de volgende zaken geklaard kunnen worden. • Verander de grootte van het terminal-venster. • Verander de grootte van de letters in het terminal-venster (vreemd genoeg kun je dit niet eenvoudig doen in het tekst-venster). • Verander de plaats op het scherm van het tekst-venster. • Maak een icoon van het venster en breng het daarna weer terug tot de vorige grootte. • Open een tweede tekst-venster en kopieer de tekst uit het eerst gemaakte tekst-venster in het nieuwe venster. 9
• Sluit het terminal-venster, open een nieuwe en maak deze zo groot als het hele beeldscherm. Hint (betreffende de muisknoppen): Met de rechtermuisknop komt er in de meeste venster afhankelijk van het programma wat erin draait een pop-up-menu. Met de linkermuisknop kopieer je tekst door de muisknop in te drukken, dan over de te kopi¨ren tekst te bewegen en vervolgens los te laten. Met de middelste muisknop wordt deze gekopieerde tekst weer geplakt op de plaats waar je klikt.
Facultatieve opdracht: Oefen en vergroot je vaardigheden met de CDE Als je het werken met de gebruiksomgeving nog wat lastig vindt of als je er gewoonweg meer over wilt weten, dan kun je de on-line hulp bekijken. Klik ´e´enmaal op het driehoekje boven het Help icoon. Er ontvouwt zich een submenu met verschillende Help-onderwerpen zoals in onderstaande schermafdruk te zien is. Kies Desktop Introduction. Na enkele seconden verschijnt er een venster met in de titelbalk “Help Viewer”. Onderstreepte woorden in de tekst zijn hyperlinks naar meer informatie over het betreffende onderwerp. Met behulp van de knop “Backtrack” keer je steeds terug naar het voorgaande scherm. Kies Basic Desktop Skills en lees de volgende paragrafen aandachtig door. Probeer de mogelijkheden uit die worden beschreven in de volgende paragrafen: • Skills for Beginning Users • Working with Windows • Leaving the Desktop Sluit het Help Viewer-venster na afloop volledig af.
We zetten de mogelijkheden van werken met vensters op een rijtje. De functie van muisknoppen in vensters In het terminal-venster dat in onderstaande figuur is afgebeeld is het volgende te zien: • Een schuifbalk aan de rechterkant. Hiermee kun je uitvoer die al uit het venster is verdwenen weer terughalen. • Een titelbalk aan de bovenzijde. De naam van het venster staat hierin en er bevinden zich drie kleine hokjes, die titelbalk-knoppen genoemd worden. De titelbalk kan worden gebruikt om het venster te verplaatsen en naar de voorgrond te halen (dit laatste heet ook wel het activeren van het venster). De titelbalk-knoppen dienen o.a. om het venster 10
te sluiten (dubbelklik op knopje linksboven), te iconificeren (knopje rechtsboven met een stip) en om het venster tot maximale afmeting te brengen (knopje rechtsboven met een vierkant). Hierbij gebruik je steeds de linkermuisknop. Een ge¨ıconificeerd venster haal je op door er met de linkermuisknop op te dubbelklikken. Een met de titelbalkknop vergroot venster zet je terug op de oorspronkelijke grootte en plaats door weer een keer op de meeste rechtse titelbalk-knop te klikken. • 4 menus: “Window”, “Edit”, “Options” en “Help”. In de schermafdruk hebben we het menu “Options” geopend m.b.v. de linkermuisknop. Je ziet opties en nieuwe menu’s verschijnen, bijvoorbeeld om de lettergrootte en lettertype te wijzigen. • Het zwarte blokje in het venster is de tekstcursor: als het staat te knipperen betekent dit in het algemeen dat alle ingetoetste invoer van het toetsenbord naar dit venster gaat. Verplaatsen van een venster of icoon Een venster met een titelbalk en een icoon kunnen als volgt verplaatst worden: • Zet de cursor in het icoon of in de titelbalk van het venster, maar niet in ´e´en van de drie titelbalk-knoppen, en druk de linker of middelste muisknop in. • Houd de muisknop ingedrukt en verplaats de muiscursor nu over het scherm (“slepen van de cursor”). Tijdens het verplaatsen verschijnt een draadraster ter grootte van het venster om aan te geven hoe venster weer tevoorschijn zou komen bij loslaten van de muisknop. volgende stap. • Laat de muisknop los: het venster komt op de plaats van het draadraster. Het op de voorgrond halen van een venster Als een venster gedeeltelijk bedekt is door andere vensters of iconen kan het venster naar de voorgrond gehaald worden, d.w.z. bovenop alle andere vensters gelegd worden, door de muiscursor in de titelbalk te zetten en de linker of middelste muisknop in te drukken en weer los te laten. Als een venster geen titelbalk heeft kun je het volgende alternatief gebruiken: plaats de cursor in het venster dat je wilt activeren en druk op de “Front” knop links op het toetsenbord. Vergroten en verkleinen van een venster Met de meest rechtse titelbalk-knop (met een vierkantje) kan de grootte van een venster maximaal gemaakt worden of een maximaal venster op oorspronkelijke grootte teruggebracht worden. Klik er met de linkermuisknop op. De grootte van een venster is helemaal naar eigen smaak in te richten door:
11
• de muiscursor ergens op de rand van het venster te plaatsen. Deze verandert van een pijltje in een teken dat een verandering van afmeting suggereert. • Sleep de cursor met de linker of middelste muisknop. De corresponderende rand van het draadraster beweegt mee. • Laat de muisknop los en het venster krijgt de afmeting van het draadraster. Tot slot nog een tabel met de functies van de muisknoppen. Ter volledigheid hebben we ook de actie van de Alt-muisknoppen hierin opgenomen. Met “Alt-muisknop” bedoelen we dat de betreffende muisknop wordt ingedrukt, terwijl de Alt-toets (linksonder op toetsenbord) ingedrukt gehouden wordt. muisknop linker
werkblad gebied selecteren
venster
middelste
—
hangt af van de applicatie
rechter Alt-linker Alt-middelste
Workspacemenu — —
Alt-rechter
—
2.3
titelbalk verplaatsen of naar de voorgrond halen verplaatsen venster-menu
verplaatsen hangt af van de applicatie venster iconificeren
icoon venster-menu, verplaatsen of openen verplaatsen of openen venster-menu of openen — —
Webbrowser
Lesmateriaal van vele cursussen zal via Internet toegankelijk gemaakt zijn en met behulp van een webbrowser bekeken kunne worden. Wij gebruiken Netscape Communicator omdat dit programma op alle computerplatforms beschikbaar is.
Opdracht 3: Werk met de webbrowser Start de webbrowser door een terminal-venster te openen en hierin de opdracht communicator te typen. Wacht geduldig tot het Netscape Communicator-venster verschijnt. Sluit dit venster weer. Start vervolgens de webbrowser via het “Personal Applications” menu en kijk kort naar elk van de volgende webadressen: • www.science.uva.nl/onderwijs • www.i2o.uva.nl
(FNWI onderwijs-website)
(website van Instituut voor Interdisciplinaire Opleidingen)
• www.student.uva.nl/ict
(ICT-voorzieningen voor UvA-studenten)
Verder kan je natuurlijk zoeken op Internet. Kies Search in de werkbalk of ga naar een zoekmachine, bijvoorbeeld www.altavista.com. Een paar concrete opdrachten ter oefening:
12
• Zoek uit hoe je als UvA-student tegen reductie software kunt aanschaffen. en op afbetaling een PC of laptop kunt aanschaffen. • Zoek de studieverenigingen op de website van FNWI. • Vind de website van de Informatie Beheer Groep via een zoekmachine. Tot slot: Ga naar de Unix introductiecursus op webadres (URL, hetgeen staat voor Uniform Resource Locator) www.science.uva.nl/onderwijs/ict/handleiding/unix . Hier vind je de verkorte online-versie van de Unix cursus. Deze kun je als leidraad bij het practicum hanteren. Dit dictaat dient dan om meer uitvoerige uitleg te geven en kan als naslagwerk functioneren. Bookmark deze pagina (Add Bookmark onder Bookmarks). I.p.v. het lang adres (URL) in te toetsen kun je dan de pagina selecteren uit het “Bookmarks” menu.
Opdracht 4: Richt de webbrowser in Twee zaken moet je nog regelen wat de Netscape Communicator betreft: 1. minimaliseren van gebruik van diskruimte 2. mogelijk maken van email via Netscape Messenger (1) Iedereen krijgt bij zijn login een bepaalde hoeveelheid opslagruimte, diskquota, die hij/zij mag gebruiken (later meer hierover). Het is dus zaak om zuinig om te springen met de toegemeten schijfruimte. De webbrowser zet grote bestanden neer als je het programma niet goed hebt afgericht (met name plaatjes en geluid nemen veel ruimte in). Voordat je de Netscape Communicator goed kunt gebruiken moet je dan ook het volgende doen: • Open Netscape Preferences-venster . Klik op Edit (in het vervolg steeds met de linker muisknop). Klik op Preferences. Het Netscape Preferences-venster verschijnt. Klik hierin op het driehoekje voor Advanced, zodat het submenu verschijnt, en klik op Cache. Cache is een ander woord voor de buffer die gebruikt wordt om recent van Internet opgevraagde bestanden in op te slaan, zodat ze sneller beschikbaar zijn als er nog een keer naar gevraagd wordt. Nescape heeft een “disk cache” en “memory cache” Ondertussen ziet het venster er als in nevenstaande figuur uit. • Stel Disk cache in. Controleer dat er achter “Disk cache” het getal 1024 of kleiner staat. Zo niet, dubbelklik op het tekstveld achter “Disk cache” zodat de tekst zwart wordt en typ 1024 in. Druk op Clear Disk Cache. Druk op Ok. • Stel Memory cache in. Controleer dat er achter “Memory cache” het getal 1024 of kleiner staat. Zo niet, dubbelklik op het tekstveld achter “Memory cache” zodat de tekst zwart wordt en typ 1024 in. Druk op Clear Memory Cache. Druk op Ok. 13
• Bewaar instellingen en sluit Netscape Preferences-venster . Druk uiteindelijk op OK; gemaakte instellingen worden bewaard en het Netscape Preferences-venster verdwijnt weer. Het is helemaal niet zo erg om de “caching” zo laag te zetten: vanwege de snelle internetverbindingen van de UvA werkt de webbrowser nauwelijks beter dan wanneer bestanden rechtstreeks opgehaald worden. Bovendien is er een zogehten “proxy server” die dienst doet als een soort cache voor de hele faculteit! (2) Het is mogelijk om je email en newsgroups via Netscape te doen. Als je dit wilt, dan moet je de volgende stappen ondernemen. Het programma voor email heet Netscape Messenger. Je start het programma door in een terminal-venster het commando communicator -mail in te toetsen of door binnen de Netscape browser op het mailicoontje te klikken, dit is het tweede icoontje van links in het rijtje icoontje rechtsonder in het Communicator-venster. Als je een nieuwe gebruiker bent, moet je eerst een aantal instellingen eenmalig veranderen. Deze instellingen bevinden zich in Preferences onder het Edit menu. Vandaar ga je naar Mail & Newsgroups door met de linkermuisknop te klikken op het driehoekje voor genoemde tekst. Hier vind je een aantal velden die nog moeten worden ingevuld, zoals bijvoorbeeld Email-address onder Identity, dat je email adres moet bevatten (
[email protected]). Ook moet je onder Mail Servers als Incoming Mail Server het server type IMAP defini¨eren i.p.v. POP (klik een keer op POP om de Edit-knop te activeren). Hieronder zie je twee plaatjes waarin getoond wordt hoe je “Identity” instellingen er ongeveer uit moeten zien en welke instellingen voor de mailserver mail.science.uva.nl gekozen moeten worden (vul wel je eigen username in).
Een email versturen met Netscape Messenger doe je door New Msg te kiezen en in het venster dat verschijnt de velden in te vullen. Druk op de Attach-knop in de werkbalk om een bestand mee te sturen. Opdracht 5: Zend en ontvang een email Verstuur een email met attachment naar een buurman of buurvrouw en gelijktijdig naar jezelf. Controleer of het bericht goed is aangekomen en of je het attachment kunt hanteren. 14
Er zijn nog legio andere manieren om email te lezen en te schrijven, maar verouderde methoden zijn veelal uitgeschakeld door systeembeheer. Twee suggesties geven we. Om te beginnen email via Webmail. Op een willekeuige plek en met je favoriete webbrowser kun je de email raadplegen via het Internetadres webmail.science.uva.nl. Een tweede methode op Unix machines is imutt Belangrijk is dat je ´e´enmaal een keuze van een mail programma maakt en bij deze keuze blijft. Elk mailprogramma slaat namelijk berichten op een eigen locatie op; als je dus verschillende programma’s door elkaar heen gaat gebruiken, dan verlies je ongetwijfeld het overzicht van waar alles blijft.
2.4
Wachtwoorden
Een user account is strikt persoonlijk, wees dus voorzichtig met je password en wijzig dat ook met enige regelmaat. Neem daarbij de volgende regels in acht: • Een wachtwoord moet uit minstens 6 tekens bestaan en alleen de eerste acht zijn echt van belang. • Het wachtwoord moet niet op een bestaand woord gebaseerd zijn (bijvoorbeeld “geheim1” is erg onveilig), • het mag zeker niet gelijk zijn aan of gebaseerd zijn op je loginnaam (dus bijvoorbeeld niet rondschuiven of omdraaien van je loginnaam; hoofd- en kleine letters tellen we hierbij als gelijk). • een nieuw wachtwoord moet op minstens drie posities verschillend zijn van het oude. Enkele tips voor het kiezen van een wachtwoord: • Sterke wachtwoorden bestaan uit verschillende karakters: letters (zowel hoofd- als kleine letters), cijfers, leestekens (zoals uitroepteken, puntkomma, e.d.) en speciale tekens (zoals dollarteken, procentteken, e.d.). • Kies bijvoorbeeld een gemakkelijk te onthouden zinnetje, gebruik de eerste karakters van de woorden en maak desnoods expres een tikfoutje. Bijvoorbeeld, het zinnetje “dit is een Sterk Wachtwoord!” kan leiden tot het wachtwoord di1SW!. Het wijzigen van je wachtwoord doe je in een terminal-venster met het commando passwd (of het synoniem yppasswd). Om te zorgen dat niet iemand anders snel jouw password kan veranderen, wordt er eerst om je oude password gevraagd. Hierna kan je een nieuw password geven, wat nogmaals moet worden ingetypt als check voor typefouten. Een verandering van password ziet er dus (voor gebruiker bedaux achter werkstation ow34) als volgt uit: bedaux@ow34 1) passwd Changing password for bedaux Old yp password: New password: Retype new password: passwd: password changed on gene Als om een of andere reden het veranderen van een password niet lukt, is de reactie passwd: couldn’t change password 15
en soms een uitleg Password refused: it is based on a dictionary word Opdracht 6: Wijzig je password Verander het password van jouw user account. Omdat dit automatisch administratief bijgewerkt moet worden op een Unix server kan het een enkel minuutje tijd kosten voordat de wijziging effect heeft. Met name wanneer veel mensen tegelijkertijd hun wachtwoord veranderen wil het computersysteem wel eens klagen dat het wijzigen niet gelukt is, terwijl het in werkelijkheid w´el gelukt is. Houd dus goed bij welk password je opgegeven hebt en probeer er niet vele uit, met als gevolg dat je ineens niet meer weet wat de laatste ook al weer was. Ter vermijding van dergelijke ongemakken kun je ook later in de week je password veranderen, maar vergeet dit dan niet te doen. Waarschuwing: let op dat je tijdens het veranderen van je password niet per ongeluk de Caps lock toets indrukt. Het veranderen van password lukt wel, maar de volgende keer als je probeert in te loggen gaat het fout, omdat je niet weet wanneer alle letters die je intoetste automatisch hoofdletters geworden zijn.
3
Basiszaken van Unix
Unix bestaat uit drie stukken: • de kernel: deze regelt o.a. het gebruik van processoren, geheugen, schijfruimte en de toegankelijkheid van bestanden. • de shell: dit programma interpreteert ingetoetste commando’s en voert ze uit. • een verzameling hulpprogramma’s voor veel voorkomende taken, bestandsbeheer, bewerken en afdrukken van teksten, etc. Voor de gebruiker zijn de belangrijkste zaken van het Unix systeem de files en de processen. Beide aspecten komen in het vervolg aan bod.
3.1
Directories en files
Het is nuttig eerst iets te weten van het beheer van bestanden onder Unix. Een bestand (we zullen de Nederlandse term en het Engelse equivalent file door elkaar gebruiken) is een verzameling gegevens die een naam heeft. De informatie kan een tekst zijn, een resultaat van een berekeningen, een computerprogramma, een plaatje, enzovoort. Elk bestand heeft een naam. Deze naam mag bestaan uit alle letters, cijfers en speciale tekens behalve de schuine streep (“/”). Het is toegestaan om speciale tekens, spaties en ander onzichtbare tekens te gebruiken in een filenaam maar dit wordt ten strengste afgeraden omdat dergelijke filenamen lastig in gebruik zijn. Om een goed overzicht te houden over je files, kun je ze organiseren in zogeheten directories. Een directory is ook een (speciaal) bestand waarin informatie staat over de files die in die directory staan. In een directory kunnen opnieuw directories staan (subdirectories) en files, zodat een hi¨erarchische structuur ontstaat. Dit is in Unix een boomstructuur waarvan het begin van de hi¨erarchie root, root directory of top genoemd wordt en aangeduid wordt met een 16
schuine streep “/” (zie figuur hieronder). Alle andere files of directories krijgen een naam die bestaat uit de componenten vanaf de root gescheiden door schuine strepen. Dus bijvoorbeeld /bin/cd en /home/bedaux. Deze samengestelde filenamen heten volledige padnamen of ook wel absolute padnamen. Omdat je op deze manier wel erg lange filenamen krijgt bestaat er een afkortingsmechanisme. Het Unix systeem houdt voor je bij in welk directory je aan het werk bent, de zogeheten working directory of ook wel met huidige directory aangeduid. Als je inlogt is dat je priv´e directory, meestal met home directory aangeduid, maar dit kun je tijdens het werken wijzigen. Als je een filenaam gebruikt die niet met een schuine streep begint, dan betekent dit dat de file of directory gezocht wordt vanaf je working directory. Bijvoorbeeld, als je in de directory /home/bedaux zit, dan kun je de directory met volledige padnaam /home/bedaux/public_html ook aangeven met public_html . We spreken ook wel van relatieve padnamen (relatief t.o.v. de working directory). Je mag het gebruik van absolute en relative padnamen vergelijken met het gebruik van absolute en relatieve co¨ordinaten in een co¨ordinatenstelsel. Er zijn nog drie speciale aanduidingen voor directories: ˜ Het kriebeltje (tilde) geeft je home directory aan . De enkele punt geeft de working directory aan. .. Twee puntjes achter elkaar duidt op de directory ´e´en niveau hoger in de boomstructuur, die de huidige working directory bevat. Deze aanduidingen zul je in Unix commando’s regelmatig gebruiken. Bijvoorbeeld, om in het filesysteem ´e´en niveau omhoog te gaan volstaat het commando cd .. Hieronder zie je een stukje van het filesysteem op een lokaal Unix systeem. / (root) (((```` (((((( ``` ( ( ( ( ( ( `
bin
aa LL aa
pwd
cd
tmp
home
S S
(((hhhhhh (((( hhhh (((( h
ls
heck
bedaux
weis
aa aa
public html
hand out.html
Q QQ
Belangrijke directories hierin zijn: /tmp: In deze directory kun je tijdelijk bestanden neerzetten. Let op: de inhoud van /tmp wordt dagelijks verwijderd, dus plaats er niet iets van permanent belang in. /home: Hierin bevinden zich de home directories van alle gebruikers van het computersysteem. Je eigen home directory kun je in commando’s ook verkort aangeven met een tilde (~). Home directories van andere gebruikers 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. Webadres is: www.science.uva.nl/~username (waarbij je natuurlijk je eigen username moet invullen). 17
Nog even iets meer over het laatste punt: een eigen homepage plaats je in de regel als file index.html in de directory public_html in je home directory. Wil deze homepage leesbaar zijn voor de buitenwereld, dan moeten een aantal permissies voor files goed staan. De gemakkelijkste manier om deze subdirectory en file te cre¨eren of om een controle en bijstelling van permissies te laten doen is het intoetsen van het commando create_homepage .
3.2
Veranderen van working directory
Wat op een gegeven moment de working directory in een terminal-venster is kun je altijd eenvoudig achterhalen door het commando pwd ( print working directory) in te toetsen. Je verandert van directory m.b.v. het commando cd directory, waarbij de naam van de directory zowel absoluut als relatief aangegeven kan worden. De commandonaam cd staat voor change directory. Voorbeeld: Stel dat je je username gelijk is aan bedaux en dat je home directory dus /home/bedaux of ~bedaux is. Je kan tenallentijde naar je 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 je in je eigen home directory bent kun je intoetsen pwd en het systeem geeft de naam van de directory waar je werkelijk bent. Stel dat je inderdaad in je home directory bevindt en dat je daar een subdirectory public_html hebt. Je kan dan in deze subdirectory komen via het commando cd public_html . Als je daarna weer terug wilt naar je home directory kan dat ook met het commando cd .. (ga ´e´en directory hoger). Opdracht 7: Verander van working directory • Open een terminal-venster en controleer daarin dat je working directory gelijk is aan je home directory. • Ga op twee verschillende manieren naar de directory die ´e´en niveau hoger in de boomstructuur van files staat en controleer steeds dat deze gelijk is /home . • Ga vanuit je home directory op drie verschillende manieren naar de home directory weis van de gelijknamige studievereniging. • Stel je bevindt je in de home directory weis van de gelijknamige studievereniging. Geef vijf manieren om in ´e´en commando in je eigen home directory terug te keren.
18
3.3
Eenvoudige commando’s voor files
We oefenen het werken met files en directories. Denk hierbij aan taken als het maken en verwijderen van files en directories, het kopi¨eren, verplaatsen van files, enzovoort. Teneinde bestanden te hebben om mee te werken halen we eerst drie files op de onderwijswebsite op. Het betreft een document in verschillende formaten en waarin enkele nuttige commando’s van Unix staan. Opdracht 8: Download files via de webbrowser Open een webbrowser en toets het volgende webadres in voor een lijst van nuttige Unix commando’s: www.science.uva.nl/onderwijs/ict/handleiding/unix/UnixCommandos.html Haal dit bestand vervolgens op (dit heet “downloaden”). Dit kan in Netscape Communicator door in het “File” menu de optie “Save As. . .” te kiezen. Een dialoog-venster verschijnt, waarin je kunt 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 • Source, d.w.z. in de originele vorm, in dit geval HTML-formaat. • Text, d.w.z. als platte tekst. • PostScript, d.w.z. in het standaardformaat voor de printer. Bewaar het bestand in alle drie de vormen door herhaald “Save As. . .” uit te voeren en de gesuggereerde naam te accepteren. Als alles goed gaat heb je in je home directory dan 3 files staan, nl., UnixCommandos.html, UnixCommandos.txt en UnixCommandos.ps . Controlleer dit. De opgehaalde lijst van Unix commando vermeldt o.a. de volgende commando’s voor het manipuleren van files en directories: Commando ls ls d mkdir d rmdir d cd cd d cp f1 f2 cp -r d1 d2 mv f1 f2 mv f1 [f2 . . .] d rm f rm -R d file f more f cat f
Uitleg geef een lijst van files in de working directory geef een lijst van files in de directory d maak een nieuw directory d verwijder de lege directory d ga naar je home directory ga naar directory d kopieer file f1 naar f2 kopieer (recursief) de hele directoryboom onder d1 naar d2 verander filenaam van f1 in f2 verplaats file f1, f2, etc., naar directory d verwijder file f verwijder de directory d inclusief alle bestanden en subdirectories. Let op: er wordt niet om bevestiging gevraagd en herstel is niet mogelijk! bepaal het type van file f toon inhoud van file f scherm voor scherm toon inhoud van file f aan een stuk door 19
Je ziet in de tabel dat Unix commando’s in het algemeen acroniemen zijn: mv i.p.v. move, cp i.p.v. copy, rm i.p.v. remove, mkdir i.p.v. makedirectory, enzovoort. Aan de langere naam zijn ze natuurlijk beter te onthouden. In sommige gebruiksomgevingen maken de volgende twee tips het werken met de computer gemakkelijker. Nuttige tip 1: de Tab-toets maakt namen van bestanden en directories af, voor zover mogelijk, als ze nog maar gedeeltelijk zijn ingetypt. Nuttige tip 2: met de pijltje-omhoog-toets kun je het vorige commando terughalen. Door meerdere malen op pijltje-omhoog en op de pijltje-omlaag-toets te drukken kun je wisselen tussen oude commando’s die nog veranderd kunnen worden.
Opdracht 9: Werk met files en directories Gebruik bovenstaande lijst van commando’s voor de volgende deelopdrachten: • Maak een directory genaamd UnixIntro . • Kopieer hiernaar het tekstbestand (dat je in de vorige opdracht gemaakt hebt en waarvan de naam eindigt op .txt) met Unix commando’s. • Maak de UnixIntro directory tot jouw working directory. • Verplaats het HTML-bestand met Unix commando’s vanuit je home directory naar de UnixIntro directory (waar je nu inzit). • Verwijder het teksbestand UnixCommandos.txt uit je home directory zonder de huidige directory UnixIntro te verlaten. • Bekijk de inhoud van je huidige directory en van je home directory, zonder dat je je huidige directory verlaat. • Bekijk de inhoud van het tekstbestand met Unix commando’s, dat zich als alles goed is in de directory UnixIntro bevindt, nu met more . • Bekijk ook het corresponderende HTML-bestand en PostScript-bestand in je home directory. • Ga met het commando file na dat het PostScript bestand inderdaad van dit type is. • 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 home directory en maak een kopie van de directory UnixIntro met als nieuwe naam unix. Ga na dat deze directory inderdaad een kopie van het origineel is. • Verwijder tenslotte de directories UnixIntro en unix.
20
3.4
Printen van files
We gaan nu het PostScript-bestand dat je opgeslagen had in opdracht 9 op papier afdrukken. 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). Voor de laatste twee opdrachten bestaan alternatieve commando’s, nl. lpstat, om de line printer status op te vragen, en cancel, om een printopdracht te vernietigen. Voor details verwijzen we naar de man page van deze commando’s. 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 door studenten te gebruiken printer sl1, in de Diamantslijperij 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 filenaam voor gebruik van de printer sl1, waarin filenaam de naam is van het af te drukken bestand.
Opdracht 10: Print een file • Controleer met file of je inderdaad wel een PostScript-versie van de lijst met Unix commando’s hebt (dit is het bestand met een naam die eindigt op .ps). • Druk de PostScript-file af. • 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, voor zover dit nog mogelijk is. 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 vorige printopdracht verwijderd is, geef de printopdracht dan opnieuw en haal de papieren bij de printer op als het afdrukken klaar is. De printer sl1 in Euclides bevindt zich in printerkamer 103, naast de computerzaal P127. Je vraagt je misschien af waarom je eerst moet controleren of je wel te maken hebt met een PostScript-bestand voordat je het naar de printer stuurt. De reden is simpel: om problemen te voorkomen. Officieel moet een PostScript file namelijk beginnen met %!PS op file offset 0. (maar %! mag ook). Als dit niet zo is, dan wordt het als een gewoon tekstbestand beschouwd en loop je het risico dat je heel papierverslindende source code uitgeprint krijgt. Nog afgezien van het waardeloos zijn van de uitvoer, is het ook erg vervelend omdat je als student maar maximaal 200 pagina’s per maand mag afdrukken. Op deze manier ben je snel door je printquota heen. Voor verificatie van het al of niet PostScript zijn van een file filenaam.ps toets je het commando file filenaam.ps in. Als daar “postscript document” uitkomt, dan voldoet de file aan de regel %! op file offset 0. 21
3.5
Processen
Bijna elk commando dat je intoetst en elk item dat je in het Workspace menu aanklikt heeft tot gevolg dat ´e´en of ander programma gestart wordt. Het pwd commando heeft tot gevolg dat het gelijknamige programma gestart wordt. Dit programma staat in de file /bin/pwd . Dit bestand is niet erg leesbaar, maar is een voor de computer vertaalde en executeerbaar stukje code. Een ander commando is mathematica, dat het gelijknamige computeralgebrapakket start, zodat je wiskundige berekeningen kunt doen. Dit programma staat in het bestand /usr/local/mathematica/bin/mathematica . Dit is wel een leesbare tekst, die uit een reeks van opdrachten bestaat. Je ziet nu vast wel het volgende probleem opdoemen: welk programma moet gestart worden als je een commando intoetst? Het filesysteem is zo vreselijk groot dat het volledig doorzoeken ervan op zoek naar het gevraagde programma erg tijdrovend is. Bovendien wat als het programma op meerdere plekken voorkomt? Om beide problemen te omzeilen hanteert de shell, d.w.z. het programma dat je in staat stelt te communiceren met het besturingssysteem, een standaard zoekpad (search path) voor in te toetsen commando’s. Hoewel je in het opstartscript van de shell expliciet zoekpaden kunt vermelden is dit op FNWI uitdrukkelijk niet de bedoeling. In plaats hiervan wordt een software package management faciliteit gebruikt. .pkgrc is een file die in je home directory te vinden is. (Nota bene: het commando ls toont normaliter geen bestanden waarvan de naam begint met een punt; alleen als je intoetst ls -a krijg je echt alle files te zien). Als je in Unix gebruik wilt maken van een bepaald software pakket, zoals bijvoorbeeld Maple (de concurrent van Mathematica), dan moet je dit in .pkgrc aangeven. Dit doe je door de naam van het te gebruiken pakket op te nemen in dit bestand. Om Maple toe te voegen voeg je maple aan het eind van het .pkgrc bestand toe. Voor een lijst van de mogelijk op te nemen software pakketen toets je in: softpkg -l Je krijgt dan een lange lijst van beschikbare pakketten en de naam waaronder ze toegevoegd kunnen worden. (heck@ow34 1) softpkg -l package os rev DEFAULT sunos 5 TeX sunos 5 TeXold sunos 5 ace sunos 5 acroread sunos 5 adobe sunos 5 .............
arch any sparc sparc sparc sparc sparc
description default packages TeX typesetting system (teTeX 1.0) (La)TeX typesetting system ACE compilers Abobe Acroread Abobe Photoshop
Nog maar eens een voorbeeld van toevoegen van een programma aan het repertoire van voor jou beschikbare pakketen: stel dat je het tekstverwerkingsprogramma TEX of LATEX wilt gebruiken, dan moet je met een editor aan het einde van het bestand .pkgrc een regel toevoegen met als inhoud de pakketnaam TeX. Opdracht 11: Gebruik softpkg • Voeg aan je eigen .pkgrc file (voor zover nodig) de namen voor de wiskundige pakketten Maple, Mathematica, en LiE toe. Dit wil dus zeggen: 22
– start een teksteditor (bijvoorbeeld de desktop editot dtpad) – open hierin het bestand .pkgrc – ga naar de laatste regel (vermoedelijk staat daar al een pakketnaam (bijvoorbeeld elm). – voeg regel voor regel de pakketnamen van de gewenste software toe. • Open een nieuw terminal-venster en probeer daarin uit of het pakket Mathematica goed is toegevoegd. Dit kun je op twee manieren doen: – Je vraagt op waar de executable mathematica staat via het commando which mathematica Het antwoord moet zijn /usr/local/mathematica/bin/mathematica . – Je probeert het programma op hoop van zegen te starten door mathematica in te toetsen. Het is de bedoeling dat het pakket dan daadwerkelijk start (dit duurt even). Kies vervolgens Quit in het File-menu om Mathematica weer te verlaten. We spreken binnen de Unix wereld liever over processen dan over programma’s omdat je in dit besturingssysteem hetzelfde programma meer keren tegelijkertijd kunt gebruiken. Unix is een zogeheten multi-user en multi-tasking systeem. Tijdens de practica zullen veel studenten tegelijkertijd dezelfde teksteditor of hetzelfde rekenpakket gebruiken. En ook ´e´en gebruiker kan hetzelfde programma meer keren tegelijk activeren. Bijvoorbeeld, je kunt twee keer dezelfde teksteditor starten om in twee aparte vensters tegelijkertijd aan twee verschillende teksten te werken. Om de geactiveerde programma’s van elkaar te onderscheiden noemen we elke gestart programma een proces. Samengevat: een proces is een “draaiend” programma met zijn eigen geheugen en overige attributen. Bij het opstarten van een programma wordt steeds een nieuw proces gestart. In een later hoofstuk zul je meer over het beheer van processen leren.
4
Unix documentatie
Alle standaard Unix commando’s en vele andere commando’s worden beschreven in zogenaamde man pages. Een man page (afkorting voor “manual page”) is een beschrijving van een commando. Je krijgt de beschrijving met de man opdracht, gevolgd door de naam van het te beschrijven commando. Bijvoorbeeld, man pwd geeft uitleg over het pwd commando. In het terminal venster waarin je dit commando gegeven hebt verschijnt iets in de trand van: User Commands
pwd(1)
NAME pwd - return working directory name SYNOPSIS /usr/bin/pwd DESCRIPTION pwd writes an absolute path name directory to standard output.
of
Both the Bourne shell, sh(1), and the
23
the
current
working
Korn
shell,
ksh(1),
also have a built-in pwd command. ENVIRONMENT See environ(5) for descriptions of the following environment variables that affect the execution of pwd: LC_MESSAGES and NLSPATH. EXIT STATUS The following exit values are returned: /tmp/mpuRLDN_ line 1/66 32%
De laatste regel geeft aan dat nog maar 32% van de man page getoond is. Je kunt op verschillende manieren doorgaan: met de Return- of de “gewone” Enter-toets kom je regel voor regel verder; met de spatiebalk ga je een hele bladzijde verder. Als je steeds op de spatiebalk drukt kom je uiteindelijk terug bij de prompt in het terminalvenster. Als je halverwege het lezen van een man page wilt be¨eindigen kun je q of ZZ intoetsen. Met man -k sleutelwoord kun je de handleiding doorzoeken op het gegeven sleutelwoord . Bijvoorbeeld, man -k HTML geeft een lijst van commando’s die iets met HTML te maken hebben. (heck@ow34 1) man -k HTML /home/heck/man/windex: No such file or directory texi2html texi2html (1) - a Texinfo to HTML converter ps2gif tth (1) - TeX and LaTeX to HTML translator and its auxiliary program tth tth (1) - TeX and LaTeX to HTML translator and its auxiliary program html2ps html2ps (1) - convert HTML to PostScript weblint weblint (1) - pick fluff off web pages (HTML) /usr/local/mathematica/man/windex: No such file or directory
Handig is het programma xman van het X Window System, waarmee je in een apart venster alle handleidingen kunt lezen. Met de schuifbalk kun je er doorheen bladeren en het is mogelijk om een overzicht te krijgen van alle handleidingen in een bepaalde sectie. Je start het programma in de achtergrond door xman & in te toetsen. Je krijgt dan een apart venster, de Manual Browser genoemd, met drie knoppen: “Help”, “Quit” en “Manual Page”. Als je op de “Help” knop drukt, dan krijg je uitleg over het programma. Als je op “Manual Page” klikt, dan krijg je een nieuw venster. Kies hierin in het “Options” menu de optie “Display Directory” en je krijgt een lijst van alle door jou te gebruiken commando’s. Door op een naam van een commando te klikken krijg je de man page hiervan te zien. Via de menukeuze “Display Directory” onder “Options” kom je altijd weer terecht in het grote overzicht en kun je een andere man page opzoeken.
5
Uitloggen
Als laatste in een computersessie moet je altijd uitloggen. Als je dit niet doet, kan iedereen al jouw bestanden verwijderen, je email-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.
24
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 12: Log uit Ruim het scherm op en log uit. Dit kan door met de rechtermuisknop ergens in de achtergrond te klikken en dan de onderste optie Log out. . . te kiezen of door met de linkermuisknop op de Exit-knop recht van het midden in het Control Panel van de CDE te klikken. Er wordt nog om een bevestiging gevraagd. Kies OK en wacht tot het inlogscherm weer te zien is.
6
Beheer van files en directories
6.1
Meer informatie over files en het beveiligen van eigen werk
Het ls commando om een overzichtslijst van files en subdirectories in de working directory te maken heeft veel opties, waarvan we er maar een paar bespreken. De belangrijkste is misschien wel ls -l om uitgebreide informatie te krijgen (l staat voor long listing). Stel dat je een file voorbeeld bezit of ergens ziet staan en je wilt meer informatie over dit bestand te weten komen. Typ dan ls -l voorbeeld en je krijgt op het scherm iets in de trant van: -rw-r--r--
1 jvdwindt st-inf
21 Aug 20 09:24 voorbeeld
De uitvoer geeft kolomsgewijs de volgende informatie: 1. mode: De eerste kolom bestaat uit een rijtje letters en/of streepjes en geeft aan wat voor een file het is en welke teogangsrechten van toepassing zijn. Het eerste teken geeft aan wat voor file het betreft: het streepje - geeft hierboven aan dat voorbeeld een “gewone” file is. Directories zijn speciale files die aangeduid worden met de letter d. Verder kom je l tegen voor symbolische links, maar daar besteden we in deze introductie geen aandacht aan; net zo min als aan de andere meer exotische tekens. De volgende 9 tekens in de eerste kolom worden file permissies genoemd. Je leest ze in groepjes van drie: het eerste drietal geeft aan wat de eigenaar van de file er allemaal mee kan doen, het tweede drietal geeft aan wat groepsgenoten mogen doen en het laatste drietal legt vast wat alle andere gebruikers toegestaan is. Voor de beveiliging zijn gebruikers in groepen ingedeeld: studenten worden door systeembeheer ingedeeld in groepen zoals st-inf (student informatica) en st-nat (student natuurkunde). In ons voorbeeld hierboven is te zien dat jvdwindt eigenaar is van de file en dat deze gebruiker bij de groep st-inf hoort. Het eerste drietal tekens rw- geeft aan dat de eigenaar het bestand kan lezen (r permissie) en veranderen (w permissie). De derde permissie is hier -, maar regelmatig zie je daar een x staan als het een executeerbaar file betreft. De laatste twee drietallen van permissies (r--) geeft aan dat groepsgenoten en andere gebruikers het bestand alleen maar kunnen lezen. Een tweede voorbeeld: ls -l /bin/pwd geeft als mode voor deze file aan -r-xr-xr-x, hetgeen betekent dat dit file voor elke gebruiker alleen maar leesbaar en executeerbaar is. 2. aantal links: Dit is voor ons niet interessant. 3. eigenaar: De loginnaam van de eigenaar. 4. groep: De naam van de groep waartoe de eigenaar behoort. 25
5. grootte: De diskruimte (in bytes) die de file in beslag neemt. 6. datum en tijd: Het tijdstip waarop de file gemaakt is of het laatst gewijzigd is. 7. naam: De naam van de file. Dit is vooral nuttig als je met ls -l een uitgebreide overzichtslijst maakt. We zetten de betekenis van de rwx permissies voor files en directories op een rijtje: • voor files: De r permissie betekent dat de file leesbaar (“readable”) is. De w permissie geeft aan dat de file gewijzigd kan worden (“writeable” is). De x permissie duidt op een executeerbaar file (“executable”). • voor directories: De r permissie betekent dat een lijst van filenamen in de directory getoond mag worden. De w permissie staat toe de inhoud van de directory te veranderen. Let op: files waarvan je misschien geen eigenaar bent of waarvan de write-permissie zelf uit staat, maar die wel in een writable directory staan, kun je weggooien of een andere naam geven, ook al kun je ze misschien niet wijzigen. De x permissie staat toe “door de directory heen te gaan”, d.w.z. een filenaam van een bestand in de directory te gebruiken. Of je iets met de file kunt aanvangen hangt af van de permissies van deze file zelf. Een aantal van bovengenoemde attributen van een file kun je wijzigen: • chown loginnaam file . . . Maak de gebruiker met de opgegeven loginnaam eigenaar van ´e´en of meer genoemde files. Alleen de huidige eigenaar van de file(s) kan dit commando laten uitvoeren, maar daarna is het eigendom ook onherroepbaar overgedragen. • chgrp groepsnaam file . . . Verander de groep van de genoemde file(s). • chmod mode file . . . Wijzig de permissies van de file(s) waar je eigenaar van bent wat betreft read / write / execute voor jezelf (user), gebruikers in de groep (group) of andere gebruikers (all). De meest begrijpelijke manier om de gewenste mode van een file op te geven is als volgt: indicator=rwx, waarbij indictor kan zijn u (user) voor de eigenaar, g (group) voor personen in de groep (minus de eigenaar) en o (others) voor de rest. Bijvoorbeeld, de permissies rw-r--r-- van het voorbeeld bestand komen tot stand met de opdracht chmod u=rw,g=r,o=r voorbeeld Combinaties zijn ook toegestaan: go betekent iedereen behalve de eigenaar. Je had dus zonet ook chmod u=rw,go=r voorbeeld kunnen intoetsen. In plaats van ugo mag je ook de letter a gebruiken. Bijvoorbeeld, uitgaande van de permissies rw-r--r-- van het voorbeeld-bestand maakt de opdracht chmod a=r voorbeeld het bestand voorbeeld voor iedereen alleen maar leesbaar. I.p.v. het gelijkteken (=) mag ook het plusteken (+) en minteken (-) gebruikt worden om permissies toe te voegen, dan wel weg te halen. Een kleine sessie ter illustratie: 26
(jvdwindt@ow34 (jvdwindt@ow34 -rw-r--r-1 (jvdwindt@ow34 (jvdwindt@ow34 -rw-rw-rw2 (jvdwindt@ow34 (jvdwindt@ow34 -rw-r--r-2 (jvdwindt@ow34 (jvdwindt@ow34 -rw-rw-r-2
1) chmod 2) ls -l jvdwindt 3) chmod 4) ls -l jvdwindt 5) chmod 6) ls -l jvdwindt 7) chmod 8) ls -l jvdwindt
u=rw,g=r,o=r voorbeeld voorbeeld st-inf 21 Aug 20 a=rw voorbeeld voorbeeld st-inf 12 Aug 20 go-w voorbeeld voorbeeld st-inf 12 Aug 20 g+w voorbeeld voorbeeld st-inf 12 Aug 20
09:24 voorbeeld
09:24 voorbeeld
09:24 voorbeeld
09:24 voorbeeld
De standaardinstellingen van permissies voor als je een nieuwe file of directory maakt zijn overigens dusdanig gekozen dat alleen de eigenaar de file(s) kan wijzigen. We eindigen deze paragraaf met een tabel met de belangrijkste opties van het ls commando. Opties mogen gecombineerd worden: in plaats van ls -l -a mag je ook ls -la gebruiken. Optie -l -a -t -u -d -R
Betekenis geef uitgebreide informatie, i.p.v. alleen de filenaam geef alle filenamen, ook van bestanden wiens naam met een punt beginnen. Normaal worden dergelijke files en directories niet getoond. sorteer op laatste-verander-datum (nieuwste eerst) i.p.v. op naam. sorteer lijst van filenamen op tijdstip van laatste gebruik (use) als de filenaam een directory is, geef dan alleen deze informatie en toon niet alle filenamen van bestanden in de directory. voor elk directory worden ook alle files hierin afgedrukt en alle files in subdirectories van deze directories, etc. (R staat voor “recursief”)
Opdracht 13: wijzig permissies van een file en directory • Zorg voor een bestand om het gebruik van het commando chmod te oefenen. • Verander de permissies van de file zodanig dat iedereen alles mag. • Verander de permissies van de file zodanig dat alleen de gebruiker de file nog kan lezen. • Verander de permissies van de file zodanig dat de groep de file er helemaal niets mee kan. • Verander de permissies van de file zodanig dat de gebruiker de file niet mag overschrijven. • Haal de file weg. • Probeer hetzelfde eens met een directory. Vooral interessant is een directory met alleen een execute permissie. 27
6.2
Gebruik van wildcards
Stel dat je met het commando ls een overzicht wilt krijgen van alle Mathematica notebooks waarvan de naam eindigt met .nb in de huidige directory. Met alleen ls zie je misschien veel te veel bestandsnamen zodat het lastig is de notebooks hierin op te sporen. Handiger is dan het commando ls *.nb dat alle filenamen in de huidige directory toont die op nb eindigen. De asterisk in dit voorbeeld heet een wildcard (joker) en staat voor een willekeurig in te vullen ´ en uitzondering: staat de asterisk aan het begin of onmiddellijk achter een rijtje tekens. E´ schuine streep “/” dan mag g´e´en punt “.” ingevuld worden als eerste teken. Dus: als we in de working directory een file met als naam .voorbeeld.nb hebben staan, dan laat ls -a *.nb deze naam toch niet zien. Drie andere voorbeelden van wildcards: • alle filenamen die beginnen met opg kun je opgeven met opg* • alle filenamen die beginnen met prog en eindigen met .c kun je benoemen met prog*.c • alle files die niet met een punt “.” beginnen kun je aangeven met * Wil je dat er precies ´e´en teken ingevuld moet worden gebruik dan het vraagteken “?” in plaats van de asterik of geef de toegelaten tekens op middels een rijtje tekens of een interval van tekens tussen twee rechte haken. Voorbeelden leggen dit beter uit: • opg? staat voor alle filenamen die beginnen met opg gevolgd door ´e´en teken. • opg[12] staat voor alle filenamen die beginnen met opg gevolgd door het cijfer 1 of 2. • opg[0-7] staat voor alle filenamen die beginnen met opg gevolgd door ´e´en van de cijfers 0, 1, . . ., 7. • opg?? staat voor alle filenamen die beginnen met opg gevolgd door precies twee tekens. • [A-Z]* staat voor alle filenamen die met een hoofdletter beginnen. Je ziet dat je meer dan ´e´en wildcard tegelijkertijd kunt gebruiken, zodat je een patroon kunt samenstellen. Dergelijke patronen kun je ook in andere commando gebruiken. Bijvoorbeeld, cp *[0-9] /tmp kopieert alle bestanden die op een cijfer eindigen naar de directory /tmp en mv * .. verplaatst alle bestanden in de huidige directory naar ´e´en niveau hoger in het filesysteem.
6.3
Opzoeken van files en onderling vergelijken
Soms is het moeilijk een bepaalde file terug vinden. In zo’n geval kan het commando locate uitkomst bieden. Met de opdracht locate naam doorzoek je het filesysteem op zoek naar files met in de filenaam het patroon naam. Een voorbeeld: (jvdwindt@ow34 1) locate email.html /home/fcvisser/public_html/English/Moppen/chris/Voicemail.html /home/geus/public_html/email.html /home/hvdweij/public_html/email.html /home/jkottman/public_html/email.html /home/mgoede/public_html/_/fake_email.html /home/nlgoedel/public_html/troep/html/Anonieme_email.html 28
/home/pantarhei/public_html/email.html /home/rmunnik/public_html/pr/email.html /home/rvdveer/public_html/a2000/email.html /home/rvdveer/public_html/lch6v/email.html Zo’n lijst van files kan erg lang worden en nog heel veel files bevatten die niets met je eigen bestanden van doen hebben. Dan is het beter de uitvoer door te sluizen naar een tweede commando waarin op een patroon verder gezocht wordt. Hiervoor wordt een zogeheten pipe, aangeduid met een verticale streep, gebruikt. Bijvoorbeeld, bovenstaande uitvoer kan doorgesluisd worden naar het commando grep om te selecteren op het woord “pantharei”. (jvdwindt@ow34 2) locate email.html | grep pantarhei /home/pantarhei/public_html/email.html Dit commando grep verdient nog wel enige toelichting. Het is een programma dat een tekststroom leest en de regels waarin een bepaald patroon voorkomt eruit filtert. Het commando grep FNWI < file1 > file2 leest file1 en schrijft alle regels waarin FNWI staat weg in file2 . Er is sprake van zogeheten I/O redirection: in- en uitvoer hebben niets meer te maken met het terminal-venster. Laten we in het commando het gedeelte > file2 weg, dan wordt de uitvoer naar de “standard output”, d.w.z. in de meeste gevallen naar het terminalvenster, weggeschreven. Je kunt dan het kleiner-dan teken ook wel weglaten en volstaan met grep FNWI file1 . Wildcards kunnen gebruikt worden: met grep FNWI * zoek je in alle files in de huidige directory naar de regels met het woord FWNI. Unix geeft de filenaam en de regel waarin het patroon voorkomt op het scherm weer. Soms wil je het verschil tussen de inhoud van twee files onderling vergelijken. Het commando diff file1 file2 toont alle regels waarin file1 en file2 van elkaar verschillen. Als er geen verschillen tussen de bestanden zijn, dan is Unix erg kortaf: geen enkele mededeling, maar slechts een nieuwe prompt om een Unix commando in te toetsen. Opdracht 14: uitvoer van het ene commando als invoer voor het andere Zoek uit wat onderstaande commando’s doen: • ls | more • ls > lijst
6.4
ftp
ftp staat voor file transfer protocol. Hiermee is het mogelijk van en naar een andere computer files te down- of uploaden. Makkelijker gezegd: je kan bijvoorbeeld bestanden versturen tussen je computer thuis en de studentenserver gene. Ftp kan je ook in een webbrowser aanroepen. Als webadres toets je dan in ftp://
[email protected] (met i.p.v. username je eigen gebruikersnaam). Een voorbeeld-sessie van gebruiker jvdwindt op werkstation ow34. We onderbreken de schermuitvoer regelmatig voor tekst en uitleg. Eerst wordt een ftp-verbinding gelegd tussen het werkstation ow34 (local computer) en de studentenserver gene (remote computer). Je moet dan je loginnaam plus wachtwoord opgeven. 29
(jvdwindt@ow34 1) ftp gene.wins.uva.nl Connected to gene.wins.uva.nl. 220 gene FTP server (SunOS 5.6) ready. Name (gene:jvdwindt): jvdwindt 331 Password required for jvdwindt. Password: 230 User jvdwindt logged in. Is de verbinding eenmaal gemaakt, dan kunnen er vele commando’s ingetoetst worden. Bijvoorbeeld, ls om een lijst van files in de working directory op de remote computer te krijgen. ftp>ls -l total 10 drwx--l--2 jvdwindt st-inf 1024 Aug 30 15:46 drwx--x--x 11 jvdwindt st-inf 512 Aug 10 08:55 -rw-r--r-1 jvdwindt st-inf 21 Sep 1 10:35 -rw-r--r-1 jvdwindt st-inf 21 Sep 1 10:37 226 ASCII Transfer complete. remote: -l 1044 bytes received in 0.17 seconds (6.00 Kbytes/s)
nsmail public_html testfile testfile2
Om een file te transporten zijn er twee commando’s: get om een file van de remote computer naar de local computer te versturen en put voor file-transport in omgekeerde richting. Met get en put kan steeds maar ´e´en file tegelijk worden overgestuurd. De commando’s mget en mput (de letter m staat voor “multiple”) kunnen meerdere files tegelijk aan. Gewoonlijk vragen de laatste twee commando’s over elk opgegeven file of het wel of niet getransporteerd moet worden. Hierdoor kan met een eenvoudige file-specificatie bij het mput of mget commando worden volstaan; de fijnere selectie vindt interactief plaats. ftp> get testfile 200 PORT command successful. 150 ASCII data connection for testfile (146.50.8.77,38972) (21 bytes). 226 ASCII Transfer complete. local: testfile remote: testfile 23 bytes received in 0.017 seconds (1.32 Kbytes/s) ftp> mget * mget testfile? n mget testfile2? y 200 PORT command successful. 150 ASCII data connection for testfile2 (146.50.8.77,38975) (21 bytes). 226 ASCII Transfer complete. local: testfile2 remote: testfile2 23 bytes received in 0.025 seconds (0.88 Kbytes/s) Onze remote computer is een Unix machine en het commando cd werkt als gewoonlijk. Om op de local computer van directory te veranderen gebruik je het lcd (l voor “local”) commando.
30
ftp> lcd public_html Local directory now /home/jvdwindt/public_html ftp> cd nsmail 250 CWD command successful. ftp> cd .. 250 CWD command successful. ftp> mput test.htm mput test.htm? y 200 PORT command successful. 150 ASCII data connection for test.htm (146.50.8.77,38979). 226 Transfer complete. local: test.htm remote: test.htm 39 bytes sent in 0.011 seconds (3.49 Kbytes/s) Je verlaat het ftp-programma door bye in te toetsen. ftp> bye 221 Goodbye. (jvdwindt@ow34 2) Bij ftp moet je bij commando’s dus steeds bedenken wat de computer is waar je het ftp commando hebt ingetoetst en welke computer je op afstand wilt bereiken. We noemen dit respectievelijk de local en remote computer. De belangrijkste commando’s die je binnen ftp kunt gebruiken zijn: Ftp commando cd lcd put get mput mget bin bye
Uitleg verander van directory op de remote computer. verander van directory op de local computer. kopieer file van local naar remote computer. kopieer file van remote naar local computer. kopieer meerdere files van local naar remote computer. kopieer meerdere files van remote naar local computer. met file transfer in binary mode. (bijna altijd aan te raden!) Verlaat het ftp-programma
Tip: als je veelvuldig files transporteert van Unix machines naar pd’s en omgekeerd, dan zul je merken dat tekstbestanden in verschillend formaat gehanteerd worden: DOS formaat op een pc en ISO formaat onder Unix. Om snel tussen deze formaten te wisselen kun je de commando’s dos2unix en unix2dos gebruiken.
7 7.1
Beheer van diskruimte Informatie opvragen over disk- en printruimte
Voor studenten is er een limiet aan de hoeveelheid data die ze kunnen opslaan en aan het aantal pagina’s dat ze kunnen printen. Op dit moment respectievelijk 18MB diskruimte en 200 afgedrukte pagina’s per maand. Nu is handig te weten hoeveel van elk je nog over hebt. 31
Om je diskquota te weten te komen gebruik je quota -v username (met natuurlijk je eigen loginnaam). Voor je printquota kan je op computers binnen het FNWI-domein met een webbrowser terecht op webadres http://hermes/cgi-bin/quota_sl1
7.2
Wat te doen bij overschrijding van diskruimte?
Als je teveel diskruimte in beslag neemt, dan moet je zonder meer gaan opruimen om niet in problemen te komen. Unix hanteert twee limieten: een zachte en harde limiet. Na overschrijden van de zachte limiet wordt je gewaarschuwd bij het inloggen dat je teveel diskruimte gebruikt en wordt je verzocht op korte term voldoende diskruimte vrij te maken. Dit moet je dan ook echt doen om niet in problemen te komen. Bij overschrijden van de harde limiet zijn de rapen gaar: je hebt dan al problemen om in te loggen op de computer. In een aparte paragraaf wat te doen in dit geval, maar laat het niet zover komen. Als je teveel diskruimte in beslag neemt en dus moet gaan opruimen wil je vast wel eerst weten welke files het grootst zijn. Het is effectiever een groot bestand dat je niet meer nodig hebt weg te gooien dan vele kleine files weg te doen. Met het commando du -sk * krijg je een lijst van afmetingen (in Kbytes) van files en directories in de working directory. Je zult zien dat beeld- en geluid-files in het algemeen groot zijn. Soms zie een grote file die je niet zelf bewust hebt gemaakt en de naam core draagt. Dit kan het gevolg zijn van een computercrash. Als leek kun je een dergelijke file zonder meer weggooien. Nog een tip: kijk ook eens in je email-archief of oude berichten weg kunnen. Tot nog toe hebben we het alleen nog maar gehad over het verwijderen van files die je niet meer nodig hebt. Maar wat ook helpt is om bestaande files en directories waar je geen afstand van kunt doen te comprimeren. In de volgende paragraaf gaan we hier dieper op in.
7.3
Comprimeren van files en archiveren van directories
Een bestand dat je niet onmiddellijk meer nodig hebt of niet perse in leesbaar formaat bewaard hoeft te worden, kun je het beste comprimeren, d.w.z. in compactere vorm opslaan. Met name PostScript bestanden zijn in gecomprimeerd formaat vaak veel kleiner dan het origineel. Er zijn verschillende commando’s om bestanden te comprimeren. De twee populairste zijn: • compress en uncompress om een file in en uit te pakken. Een op deze wijze gecomprimeerd file herken je aan de extensie .Z • gzip en gunzip zijn commandos uit de GNU serie om een file in en uit te pakken. Een gecomprimeerd file herken je aan de extensie .gz. We raden het gebruik van de GNU commando’s gzip en gunzip aan omdat gzip in het algemeen een compactere file cre¨eert dan compress doet. Overigens een recente versie van het WinZip programma op een PC herkent een op een Unix computer gzipped file en weet wat er mee te doen. De volgende computersessie illustreert hoe spectaculair de winst in opslagruimte kan zijn. (heck@ow34 1) ls -l intro* -rw-r--r-1 heck ams (heck@ow34 2) compress intro.ps (heck@ow34 3) ls -l intro*
3190967 Aug 21 11:03 intro.ps
32
-rw-r--r-(heck@ow34 (heck@ow34 (heck@ow34 -rw-r--r-(heck@ow34 (heck@ow34 -rw-r--r-(heck@ow34 (heck@ow34 -rw-r--r--
1 heck ams 1275515 4) uncompress intro.ps.Z 5) gzip intro.ps 6) ls -l intro* 1 heck ams 1053268 7) gzip intro.ps 8) ls -l intro* 1 heck ams 1053268 9) gunzip intro.ps.gz 10) ls -l intro* 1 heck ams 3190967
Aug 21 11:03 intro.ps.Z
Aug 21 11:03 intro.ps.gz
Aug 21 11:03 intro.ps.gz
Aug 21 11:03 intro.ps
Bovenstaande commando’s werken steeds voor ´e´en enkele file. Om een hele directory in ´e´en bestand te archiveren (en te comprimeren) zijn andere commando’s: zip en unzip of tar . Om met de eerste twee commando’s te beginnen: stel dat je in de huidige directory een subdirectory hebt, zeg met de naam testdir, dan maak je met de opdracht zip -r testdir testdir een archief testdir.zip aan waarin alle bestanden van de directory testdir in gecomprimeerde vorm opgeslagen zijn. Het uitpakken van zo’n zip-archief gaat met de opdracht unzip testdir.zip en dan wordt de directory testdir met alle files hierin weer aangemaakt. Het commando tar (tape archive ) kun je gebruiken om zogeheten tarfiles te maken, te veranderen of uit te pakken. Een tarfile is meestal een file waarin een hele directory-structuur is opgeslagen. Gewoonlijk komt het gebruik van tar neer op het maken of uitpakken van tarfiles. De huidige directory (en de gehele directory-structuur eronder) wordt als volgt in een tarfile gezet: tar cvf file.tar . en zo weer uitgepakt (in een andere directory bijvoorbeeld): tar xvf file.tar De letters c en x staan hier voor “create” en “extract”. De letter v staat voor “verbose” en zorgt er voor dat je informatie over in- en uitpakken krijgt te zien. Je mag deze optie weglaten in de opdrachten. Onderstaande computersessie toont het gebruik van zip, unzip en tar. (heck@ow34 1) ls -ld test* rwxr-xr-x 2 heck ams 512 Aug 21 12:24 testdir (heck@ow34 2) zip -r testdir testdir adding: testdir/ (stored 0%) adding: testdir/intro.ps (deflated 67%) (heck@ow34 3) tar cvf testdir.tar testdir a testdir/ 0K a testdir/intro.ps 3117K We hebben nu twee archieven gemaakt, waarvan het zip-archief al gecomprimeerd is en het tarfile achteraf nog gecomprimeerd moet worden. 33
(heck@ow34 4) ls -l test* -rw-r--r-1 heck ams -rw-r--r-1 heck ams testdir: total 6256 -rw-r--r-1 heck ams (heck@ow34 5) gzip testdir.tar (heck@ow34 6) ls -l testdir.* -rw-r--r-1 heck ams -rw-r--r-1 heck ams
3193344 Aug 21 12:25 testdir.tar 1053531 Aug 21 12:25 testdir.zip
3190967 Aug 21 11:03 intro.ps
1053437 Aug 21 12:25 testdir.tar.gz 1053531 Aug 21 12:25 testdir.zip
Het is wel mogelijk om via opties, filters en I/O redirection het maken van een tarfile en het comprimeren van het resultaat in ´e´en enkel commando gedaan te krijgen, maar zo’n opdracht wordt er niet simpeler op. Bijvoorbeeld, we hadden ook kunnen intoetsen (heck@ow34 7) tar cvf - testdir | gzip -c > test.tgz om een gecomprimeerd tarfile test.tgz te maken uit de directory testdir. Het volgende commando pakt het dan weer helemaal uit: (heck@ow34 8) gunzip -c test.tgz | tar xvf Het is duidelijk dat de commando’s zip en unzip simpeler in gebruik zijn, maar je moet toch ook weten hoe je tarfiles kunt behandelen wanneer iemand je die stuurt.
7.4
Problemen met inloggen vanwege diskruimte
Als je over je diskquota heen bent krijg je daar vanzelf een melding van. Je hebt dan nog een paar dagen om er wat aan te doen. Tot die tijd kun je nog gewoon kleine dingen wegschrijven tot aan de harde limiet. Daarna kan dit niet meer. Een veel voorkomend gevolg is dat je niet meer kunt inloggen met de gebruikelijke vensteromgeving omdat er bij het inloggen een bestand in je home directory moet worden geschreven. Dat is heel vervelend, doe er dus voor die tijd iets aan! Maar mocht het je toch nog overkomen, dan kun je meestal nog inloggen zonder vensteromgeving teneinde een opruimingsactie te ondernemen. Het volstaat om in het inlogscherm op een Unix-machine v´o´ordat je je password intoetst te kiezen onder “Options” voor Command Line Login .
8 8.1
Procesbeheer Met meer programma’s tegelijkertijd werken
UNIX staat multi-processing toe: naast de shell, die altijd aanwezig is, kunnen er nog andere processen tegelijkertijd actief zijn. Normaal gesproken bevindt de shell zich in een wachttoestand als er een ander proces loopt, maar door de commandoregel met een ampersand “&” af te sluiten, wordt het proces in de achtergrond geplaatst en komt de shell direct met een nieuwe prompt. We spreken ook wel van een “job in de achtergrond starten” Bijvoorbeeld, om het programma Mathematica in een terminal-venster te starten en daarna gelijk het terminalvenster weer voor andere invoer beschikbaar te hebben toets je in mathematica & Je ziet dan in het terminal-venster iets verschijnen in de trant van: 34
(heck@ow34 1) mathematica & [1] 3886 (heck@ow34 2) Voor de tweede Unix prompt zie je tussen rechte haakjes het jobnummer staan (in dit geval is er maar ´e´en job) en het process-id (een unieke aanduiding voor het proces). In volgende commando’s kunnen het jobnummer en process-id gebruikt worden om naar de job of het proces te refereren. Laten we ook maar eens een teksteditor in de achtergrond starten: (heck@ow34 2) dtpad & [2] 3894 (heck@ow34 3) Een nieuw tekst-venster verschijnt en je kunt nog steeds in het terminal-venster commando’s intoetsen. Dit maakt een Unix systeem zo aantrekkelijk: je kunt tegelijkertijd met verschillende programma’s werken. Terwijl in het ene venster bijvoorbeeld een ingewikkelde berekening aan de gang is kun je in een ander venster al bezig zijn met het schrijven van een verslag.
8.2
Status van een proces opvragen
Welke processen je in gebruik hebt en wat hun status is kun je opvragen met het commando ps (process status). (heck@ow34 3) ps PID TTY TIME 3920 pts/5 0:06 3925 pts/5 0:00 3916 pts/5 0:00
CMD Mathemat dtpad tcsh
Meer informatie krijg je met de optie -l (heck@ow34 4) ps -l F S UID PID PPID 8 S 10330 3920 3916 8 S 10330 3925 3916 8 S 10330 3916 3915
C PRI NI ADDR 0 40 20 f5ffc468 0 40 20 f5fab460 0 41 20 f5ffcb28
SZ WCHAN TTY 2892 f630893e pts/5 1395 f6308556 pts/5 541 f5ffcd20 pts/5
TIME 0:06 0:00 0:00
CMD Mathemat dtpad tcsh
Voor elk proces krijg je een regel informatie. De status van elk proces wordt aangegeven in de eerste kolom onder “S”. De mogelijkheden zijn: Jobstatus O R S T
Z
Uitleg Operational. D.w.z. het proces draait op een processor Runnable. D.w.z. het proces is actief is of staat op zijn beurt te wachten in de wachtrij. Sleeping. Non-actief proces dat wacht op een “event”. Terminated. Bijvoorbeeld onderbroken door de gebruiker zelf of gestopt omdat er input van de terminal wordt gevraagd terwijl het proces in de achtergrond draaide. Zombie proces. Dit zijn processen die zijn afgelopen, maar waarvan deze statusverandering (nog) niet is “opgemerkt”. 35
Andere onderdelen uit de informatie van ps -l zijn: UID Het user-id identificeert degene die het proces gestart heeft. PID Het process-id is het unieke procesnummer dat dit proces van anderen onderscheidt. PPID Het “parent process-id” geeft aan het proces waarbinnen een bepaald proces opgestart is. In ons voorbeeld zie je voor de commando’s mathematica en dtpad de eerder genoemde procesnummers en beide processen zijn gestart in de shell tcsh met process-id 3916. SZ De hoeveelheid geheugen die het process in beslag neemt (SIZE in pages; 1 page = 4Kbytes). TIME De “rekentijd” (in seconden) die het proces sinds de start echt verbruikt heeft (exclusief wachttijd). TTY De “terminal” waarop het proces draait. CMD Het commando waarmee het proces opgestart is. Het ps commando heeft veel opties. Bij combinaties ervan moeten alle opties samengenomen worden in het eerste argument. Drie veelgebruikte opties van ps (buiten -l) zijn: -a Geeft informatie over alle processen met terminals, ook van andere gebruikers. -A (identiek aan -e) Geeft informatie over alle processen, ook die zonder terminal-associatie. -u Geeft informatie over alle processen van een gebruiker (user), ook van processen die in een ander terminal-venster draaien. Wil je alleen informatie over processen die vanuit je huidige shell gestart zijn en niet over alle processen, dan is het handiger het jobs commando te gebruiken dan ps. Met de optie -l worden ook de process-id’s vermeld. (heck@ow34 5) jobs -l [1] + 3920 Running [2] - 3925 Running
mathematica dtpad
Het plusteken bij de mathematica job geeft aan dat dit de “current job” is. Dit heeft alleen betekenis bij controle over verschillende jobs. Hierover meer in de volgende paragraaf.
8.3
Controle over processen
Een job in de voorgrond of een proces dat “normaal” opgestart is, d.w.z. zonder de ampersand &, kan naar de achtergrond worden verplaatst door het proces te stoppen met ^Z (oftewel Control-z: terwijl de cursor in het terminal-venster staat waarin de job gestart is, de z-toets indrukken terwijl je de Control-toets ingedrukt houdt) en daarna bg (background ) in te typen. Omgekeerd kun je een proces in de achtergrond naar de voorgrond halen met fg (foreground). Er kan maar ´e´en proces tegelijk in de voorgrond lopen. Een proces in de voorgrond kun je vaak stoppen met ^C oftewel Control-c. Tik bijvoorbeeld in een terminal-venster de opdracht clock in. Een venster met een klok die de juiste tijd aangeeft verschijnt en dit verdwijnt weer als je in hetzelfde terminal-venster waarin je de clock-opdracht intypte, nu Control-c gebruikt. 36
Een proces in de achtergrond kan gestopt worden met stop. Laten we e.e.a. demonstreren in een vervolg van de computersessie die eerder begonnen is. (heck@ow34 6) dtpad ^Z Suspended (heck@ow34 7) bg [3] dtpad & Nadat we eerst de teksteditor dtpad in de voorgrond in een terminal-venster gestart hebben, hebben we het proces vervolgens onderbroken en op de achtergrond geplaatst. Er zijn nu 3 jobs in de achtergrond: (heck@ow34 8) jobs [1] + Running [2] - Running [3] Running
mathematica dtpad dtpad
Als het proces no. 3 weer naar de voorgrond wilt halen, dan kun je het volgende intoetsen: (heck@ow34 9) fg %3 dtpad ^C (heck@ow34 10) jobs [1] + Running [2] - Running
mathematica dtpad
Als je geen jobnummer opgeeft bij fg wordt de “current job” op de voorgrond geplaatst. Dit is de job waar in de job-listing een plusteken bij staat. Hierboven hebben we de teksteditor onderbroken door de c-toets in te drukken terwijl we de Control-toets ingedrukt houden. Er zijn nu nog maar twee processen overgebleven. Hierna zullen we nog de mathematica job hardhandig onderbreken. Omdat er maar ´e´en job met deze naam is kun je i.p.v. het jobnummer ook de jobnaam gebruiken. Om definitief van de job af te zijn kun je het kill commando gebruiken. (heck@ow34 11) stop %mathematica [1] + Suspended (signal) (heck@ow34 12) jobs [1] + Suspended (signal) [2] - Running (heck@ow34 13) kill %1 (heck@ow34 14) [1] Terminated (heck@ow34 14) jobs [2] + Running
mathematica mathematica dtpad
mathematica dtpad
Afzonderlijke processen luisteren naar hun process-id: bijvoorbeeld kill -9 3920 had het mathematica proces 3920 ook hardhandig afgebroken. Als je probeert uit te loggen terwijl er nog gestopte jobs zijn, dan reageert de shell met de boodschap There are stopped jobs. Door direct opnieuw logout te typen kan in zo’n geval wel worden uitgelogd. 37
Opdracht 15: Job control • Start minimaal drie processen (bijvoorbeeld, xclock, dtpad, xman, netscape). Start het eerste proces direct in de achtergrond, proces twee verwijs je naar de achtergrond en proces drie be¨eindig je gelijk weer met ctrl-c. • Haal vervolgens proces 1 naar de voorgrond en be¨eindig deze. • Doe hetzelfde voor proces 2.
8.4
Eerste hulp bij een geblokkeerd werkstation
Je vraagt je wellicht af waarom we in de vorige paragrafen zoveel aandacht aan procesbeheer besteed hebben. Een belangrijke motivatie is dat het je voldoende kennis geeft om zelf eerste hulp te bieden bij een werkstation dat om een of andere reden vastgelopen is. Stel je de volgende situatie voor: je bent fijn aan het werken met Mathematica op een werkstation, maar ineens en om onverklaarbare reden lijkt niets meer te werken, bijvoorbeeld de cursor is met geen mogelijkheid meer in beweging te krijgen. Wat te doen? Eerst maar eens kijken of het geen schijnprobleem is. Het kan namelijk voorkomen dat je in een Mathematica notebook niets meer kunt typen en er ook een cursor te zien is dat een “verboden in te rijden”-verkeersbord representeert (zoals in nevenstaande figuur). Dit duidt bijna altijd op een dialoogvenster dat ergens onder een ander venster ligt, maar wel perse eerst afgesloten moeten worden. Het kan bijvoorbeeld gaan om een dialoogvenster met de vraag of het notebook al dan niet bewaard moet worden.
In andere gevallen duidt het probleem op een conflict tussen de gebruikersomgeving CDE en een programma, wellicht Mathematica. Om het werkstation weer aan de praat te krijgen zou je nu het proces dat de boosdoener is, zeg Mathematica, moeten stoppen. In de vorige paragraaf heb je geleerd hoe dit te doen. Maar dan volgt onmiddellijk de vraag “Hoe kun je de noodzakelijke commando’s uitgevoerd krijgen?” Het antwoord is simpelweg door vanaf een ander werkstation opnieuw in te loggen op het station waar je nu achter zit. Twee mogelijkheden: log in op een werkstation dat nog niet in gebruik is door een ander of vraag je buurman/buurvrouw of je een minuutje van zijn/haar werkstation gebruik mag maken om reparatiewerkzaamheden te doen. Doorloop nu op het nieuwe werkstation de volgende stappen: • Open een terminal-venster en werk alleen nog maar in dit venster. • Met het commando rlogin heb je de mogelijkheid in te loggen op een werkstation waar je zelf niet fysiek achter zit. Met rlogin -l username hostname kan de gebruiker username inloggen op de computer hostname. Dus, met rlogin jvdwindt ow34 log je zelf (remote) in als gebruiker jvdwindt op werkstation ow34. Je moet dan wel het password van jvdwindt intoetsen om te laten weten dat je deze user account kunt gebruiken. 38
• Zoek met ps uit welke processen op je oude werkstation draaien. • Kies een proces uit waarvan je denkt dat deze de boosdoener is en breekt dit onherroepelijk af met kill procesnummer en als dit niet werkt met kill -9 procesnummer • Controleer of het werkstation waarop je daarvoor werkte weer goed functioneert. Zo niet, herhaal de vorige stap. • Mocht niets te lijken werken, toets dan kill -9 -1 in om al je processen op het niet functionerende werkstation af te breken. Als het goed is, is het werkstation in nood nu gered en verschijnt het inlogscherm. Zo niet, dan moet je systeembeheer op de hoogte brengen van de malheur. • log uit in het terminal-venster op je tweede werkstation en stop met werken op dit platform.
Opdracht 16: Stop op afstand een proces Start het programma Mathematica en “vermoord” dit proces vervolgens vanaf het werkstation van je buurman of buurvrouw.
9
Losse eindjes
9.1
Aanpassing van de Desktop
De Common Desktop Environment komt met fabrieksinstellingen bij eerste gebruik op. Maar je kunt de CDE naar eigen smaak inrichten via de Style Manager. Deze wordt geactiveerd als je met de rechtermuisknop op het ergens op het bureaublad klikt en in het pop-up menu onder Programs de optie Style Maneger kiest. Om bijvoorbeeld in het vervolg standaard grotere letters in een terminal-venster te hebben, klik je op het Fonts-icoon en kies je een groter lettertype. Andere zaken die je kunt instellen zijn de achtergrond, de gebruikte kleuren, de “screen saver”, de muisinstellingen, e.d.
9.2
Werken met een teksteditor
Erg gemakkelijk te gebruiken is de standaard editor in de CDE omgeving. Drie manieren om deze op te starten: • Klik op het icoon in het Control Panel om deze op te starten. • Open het Workspace menu door met de rechtermuisknop op het bureaublad te klikken en kies vervolgens in het “Programs” menu de optie “Text Editor”. • Toets in een terminal-venster het commando dtpad & in. De werking van deze teksteditor wijst zich eigenlijk vanzelf.
39
Vroeg of laat zul je naar een geavanceerdere teksteditor willen overgaan. Bijvoorbeeld omdat je computerprogramma’s voor je practica maakt en het dan wel handig is om een editor te gebruiken die kleuren gebruikt voor sleutelwoorden in de programmeertaal of correct gebruik van haakjes bij kan houden. Maar de keuze van een editor is een gevoelig thema: iedere gebruiker zweert bij zijn eigen favoriete editor. Twee geschikte keuzes zijn emacs en vi, of beter nog, hun uitgebreidere versies xemacs en vim. Voor vi verwijzen we naar de “vi lovers home page” op webadres www.thomer.com/thomer/vi/vi.html Als je xemacs wilt leren, kun je het beste het programma starten door in een terminal-venster xemacs & in te toetsen en dan in het “Help” menu de optie “tutorial” te kiezen.
9.3
Gemakkelijk commando’s in een terminal-venster corrigeren
In het bestand .cshrc kan de regel bind vi staan. Dit betekent dat als je een eerder gegeven commando wilt corrigeren, je automatisch in de vi-editor terechtkomt (deze kun je verlaten met Esc gevolgd door ZZ). Een eerder ingetoets commando krijg je op een invoerregel terug via de pijltjes-toets omhoog. Als je de genoemde regel in .cshrc vervangt door bind emacs, dan wordt i.p.v. vi in het vervolg de teksteditor emacs gebruikt. Groot voordeel voor de beginnende Unix gebruiker is dat corrigeren van commando’s dan simpelweg werkt door de pijltjes-toetsen en de Delete en Back Space toetsen te gebruiken en door direct intikken van correcties.
9.4
StarOffice
Op de werkstations is ook een volledige Office-suite beschikbaar waarmee je PC-programma’s zoals MS Word, MS Excel op een Unix platform kunt gebruiken. Het programma heeft StarOffice en je start het door in een terminal-venster soffice & in te toetsen. Het duurt zeker de eerste keer enige tijd voordat een StarOffice desktop gemaakt is (zie figuur hieronder). Mooi dat het allemaal kan, maar het is veel handiger om even naar de computerzaal met PC’s te lopen en daar te gaan werken.
9.5
Werken op PC’s
Het onderwijsnetwerk is voornamelijk geconcentreerd in gebouw Euclides en bestaat uit computerzalen met Unix werkstations en een zaal met pc’s. De pc’s draaien onder Windows 40
NT. Je kunt met dezelfde Unix loginnaam en password combinatie op de pc’s inloggen. Het password op de Unix machine wordt gesynchroniseerd met het password onder Windows NT. Als je je password verandert op een Unix machine dan verandert het automatisch ook op de pc’s.
9.6
Werken vanaf thuis
Je kunt toegang krijgen tot de onderwijsmachines via een publieke internet provider of via STOL (STudenten OnLine”, onder beheer van het Informatiseringcentrum). Je kunt van buitenaf alleen verbinding maken met de studenten-fileserver gene.wins.uva.nl. Voor meer informatie over STOL verwijzen we naar de website van het IC en meer specifiek naar het webadres www.ic.uva.nl/uvainbel
9.7
Voor wie meer wil weten over Unix
Met deze cursus heb je hopelijk al een goed beeld gekregen van Unix en hoe met de Unix werkstations om te gaan. Voor wie veel meer over Unix te weten wilt komen is er uitgebreide informatie op Internet te vinden. Een uitgebreidere Unix cursus is bijvoorbeeld te vinden op webadres unixhelp.ed.ac.uk. Zeer lezenswaardig en veel uitgebreider dan deze inleidende cursus is de “Handleiding Unix” van Piet van Oostrom, in PDF-formaat op het webadres www.cs.uu.nl/~piet/docs/unix.pdf op te halen. Wie toch liever een boek heeft: studenten Informatiewetenschappen aan de UvA gebruiken het volgende boek. Deborah S. Ray & Eric J. Ray, “Unix: Visual Quickstart Guide”, 1998 Peachpit Press, list price 17.99 US$, 368 pages, ISBN 0-201-35395-4. (zie webadres: www.peachpit.com/books/)
10
Lijst met nuttige Unix commando’s
In onderstaande overzichtstabellen gebruiken we de volgende afkortingen. Ctrl-x d f n [] ...
houd de Control-toets ingedrukt en druk op toets x directory file nummer optioneel argument lijst van argumenten
41
10.1
Beheer van bestanden en directories
pwd ls ls d ls -l [f. . .] ls -a [d] [f. . .] ls -F [d] [f. . .] mkdir d rmdir d cd cd d cp f1 f2 cp -r d1 d2 mv f1 f2 mv f1 [f2 . . .] d rm f rm -R d chmod mode f1 [f2. . .] chmod -R mode d file f more f cat f
laat zien wat je working directory is geef een lijst van files in de working directory geef een lijst van files in de directory d geef een lijst van files met details geef een lijst van alle files (inclusief bestanden startend met een punt “.”) geef een lijst van files, met een schuine streep “/” achter directories en een asterisk “*” achter executeerbare files maak een nieuw directory d verwijder de lege directory d ga naar je home directory ga naar directory d kopieer file f1 naar f2 kopieer (recursief) de hele directoryboom onder d1 naar d2 verander filenaam van f1 in f2 verplaats file f1, f2, etc., naar directory d verwijder file f verwijder de directory d inclusief alle bestanden en subdirectories. Er wordt niet om bevestiging gevraagd en herstel is niet mogelijk! verander de permissies (mode) van file f1 (f2,. . .) verander recursief de permissies (mode) van alles in directory d bepaal het type van file f toon inhoud van file f scherm voor scherm toon inhoud van file f aan een stuk door
Nuttige tip: de Tab-toets maakt namen van bestanden en dus ook directories af voor zover mogelijk als ze nog maar gedeeltelijk zijn ingetoetst. Nuttige tip: met de pijltje-omhoog-toets kun je het vorige commando terughalen. Door meerdere malen op pijltje-omhoog en op de pijltje-omlaag-toets te drukken kun je wisselen tussen oude commando’s, die dan nog veranderd kunnen worden.
10.2
Printen
lpr -P printer f lpq -P printer lprm -P printer n
druk file f af op printer geef lijst van files in printerrij en job-id van print jobs op printer verwijder printopdracht met job-id n op printer
Printers: De namen van de printers voor studenten zijn sl1 in gebouw Euclides (printerkamer 103, naast computerzaal P127) en sl2 in de Diamantslijperij.
42
10.3
Procesbeheer
Ctrl-c Ctrl-z commando & bg [%n] fg [%n] jobs jobs -l ps ps -l ps -u gebruiker kill n kill -9 -1
10.4
onderbreek het lopende proces in het terminal-venster zet het lopende proces in het terminal-venster op de achtergrond voer het commando in de achtergrond uit hervat het proces (job n) in de achtergrond hervat het proces (job n) in de voorgrond print status van processen gestart in huidige shell (o.a. job-id) print uitgebreide status van processen gestart in huidige shell print status van processen (o.a. process-id) print status van processen met alle details print status van alle processen van genoemde gebruiker be¨eindig het proces n be¨eindig onvoorwaardelijk alle processen (alleen voor een noodgeval te gebruiken)
Allerlei commando’s
passwd man commandonaam man -k sleutelwoord locate woord alias naam1=naam2
quota -v gebruiker compress f1 [f2. . .] uncompress f1 [f2. . .] gzip f1 [f2. . .] gunzip f tar cf tarfile d tar xvf f
verander van password bekijk de handleiding (manual) voor genoemd commando doorzoek de hulppagina’s op het opgegeven sleutelwoord zoek files met woord in hun filenaam op het systeem maak alias naam1 voor commando naam2 . Permanente aliases kunnen in de file .aliases in de home directory worden gezet laat voor genoemde gebruiker de diskquota zien en hoeveel diskruimte in gebruik is comprimeer file(s) in Z-formaat decomprimeer file(s) van Z-formaat comprimeer file(s) in gzip-formaat pak gzipped file f uit comprimeer file(s) uit directory d in ´e´en file in tar-formaat pak archiefbestand f van tar-formaat uit
Nuttige tip: met de linkermuisknop kun je iets van het scherm kopi¨eren, bijvoorbeeld de locatie van een bestand wat je met locate hebt gevonden. Het gekopieerde gedeelte kan je weer ergens plakken met je middelste muisknop. Ook zitten er links op je toetsenbord knoppen voor copy en paste.
43
10.5
Netwerk-geori¨ enteerde opdrachten
create homepage rwho finger gebruiker rlogin computer rlogin -l gebruiker computer logout write gebruiker mesg n mesg y talk gebruiker telnet computer
ftp computer
maak directory ~/public_html met index.html bestand laat zien wie er op welke computers zijn ingelogd geef informatie over genoemde gebruiker log (remote) in op genoemde computer log (remote) in als genoemde gebruiker op genoemde computer eindig terminal sessie stuur genoemde gebruiker een boodschap blokkeer ontvangst van boodschappen maak ontvangst van boodschappen mogelijk praat online met genoemde gebruiker start een terminal-sessie op genoemde computer (file transfer protocol) start een ftp-sessie op genoemde computer om bestanden tussen de computer waarop je momenteel werkt (bijvoorbeeld thuis) en genoemde computer heen en weer te kunnen versturen. Verstuur tekstbestanden in ASCII-mode en andere bestanden in binaire mode (met het commando bin in ftp). Commando’s zijn put voor verzenden en get voor ontvangen.
Nota bene: • alles wat in de directory ~/public_html/ staat, is je home page op het World Wide Web, te bereiken op webadres www.science.uva.nl/~gebruiker, waarin gebruiker jouw loginnaam is. Er wordt als startpunt gezocht naar het bestand ~/public_html/index.html • informatie over inbellen met een modem kun je vinden op www.ic.uva.nl/uvainbel
10.6
Redirection, zoekpatronen, etc.
• met > kun je de uitvoer van een commando naar een bestand sturen i.p.v. het scherm. Bijvoorbeeld, ls > bestand zorgt ervoor dat de uitvoer van ls in de file bestand terechtkomt. • met < kun je een bestand als invoer voor een commando gebruiken. • met | kun je de uitvoer van een commando als invoer voor een ander commando gebruiken. Bijvoorbeeld, ls | more zorgt ervoor dat je de uitvoer van ls scherm voor scherm kunt bekijken. • grep zoek patroon geeft de regels weer waarin het zoek patroon voorkomt. grep wordt meestal in combinatie met andere commando’s gebruikt. Bijvoorbeeld, rwho | grep gebruiker om te zien of gebruiker is ingelogd • een zoekpatroon is een reeks tekens, waarin *, ? en [ ] een speciale betekenis hebben: – * staat voor een willekeurige reeks tekens – ? staat voor ´e´en willekeurig teken 44
– uit tekens die tussen [ ] staan wordt voor ´e´en van die tekens gekozen. Bijvoorbeeld, ls [ab]*.??? geeft een lijst van alle bestanden die beginnen met een a of een b en eindigen met een punt (.) gevolgd door drie willekeurige tekens. Dit is ook zeer bruikbaar voor bestandsbeheer Bijvoorbeeld, cp * ~ kopieert alles uit de directory waar je inzit naar je home directory.
10.7
Software
softpkg -l netscape ispell f xemacs [f ] vi [f ] xv [f ] gv f gs f acroread f xdvi f dvips -f file | lpr -P printer mathematica [f ] xmaple [f ]
geef een lijst met beschikbare softwarepakketten op het systeem. Een pakket is bruikbaar als de naam is opgenomen in de file .pkgrc in je home directory start de Netscape Communicator waarmee je over Internet kunt, surfen, email kunt versturen, news kunt lezen etc. laat (Engelstalige) spelling-checker los op woorden uit file f start Emacs fullscreen editor onder X Windows gebruiksomgeving (en open file f) start vi fullscreen editor (en open file f) start xview voor tonen van beeldmateriaal (in file f) start ghostview voor tonen van PostScript file f start ghostscript voor tonen van PostScript file f toon inhoud van PDF-file f in Adobe Acrobat Reader toon inhoud van dvi-file f zet inhoud van dvi-file file om naar PostScript formaat en druk af op printer start computeralgebra-systeem Mathematica (en open notebook f) start computeralgebra-systeem Maple (en open worksheet f)
45
Index &, 34 *, 28 <, 29 >, 29 ˜, 17 ., 17 .., 17 .pkgrc, 22 ?, 28 |, 29 /home, 18 /tmp, 17
du, 32 eigen home page, 18 emacs, 40 email adres, 7 zenden en ontvangen, 14 programma’s, 15 enkele punt (.), 17 fg, 37 file, 20–21 files archiveren van, 33 boomstructuur, 17 comprimeren van, 32 hi¨erarchie, 17 onderlinge vergelijking, 29 permissies van, 25 tijdelijke, 17 transfer van, 29 verificatie van het type, 21 verwijderen, 19 zoeken naar, 28 ftp, 29
ampersand, 34 asterisk, 28 beeldschermklachten voorkomen, 6 bg, 37 bin, 30, 31 boomstructuur van files, 17 bye, 31 cancel, 21 cat, 20 cd, 17, 20 CDE, 5 chgrp, 26 chmod, 26 chown, 26 command line login, 34 Common Desktop Environment, 5, 8 compress, 32 Control Panel, 8 Control-c, 37 Control-z, 37 cp, 20 create homepage, 18 current job, 37
geblokkeerd werkstation eerste hulp bij, 38 gebruik van muisknoppen, 10 get, 30, 31 grep, 29 groep, 25 gunzip, 32 gzip, 32 hi¨erarchie van files, 17 home directory locatie van, 18 huidige directory, 17 huisregels, 5
Desktop Introduction, 10 diff, 29 directory, 17 diskquota, 32 dos2unix, 31 dtpad, 35, 37, 39
I/O redirection, 29 imutt, 15 inloggen, 7–9 inlogscherm, 7
46
password, 7 tips voor, 15 wijzigen van, 16 permissies rwx, 25–26 van files, 25–26 Personal Applications, 9 pipe, 29 print commando’s, 21 printquota, 32 process controle over, 37 id, 35–36 in achtergrond, 34, 37 in voorgrond, 34, 37 op afstand be¨eindigen, 39 status van, 35 proxy server, 14 ps, 35 opties van, 36 public html, 18 put, 30, 31 pwd, 22
jobs, 36 kernel, 16 kill, 37, 39 lcd, 30, 31 LiE, 23 locate, 28 login, 7 logout, 37 lokatie voor home directories, 18 lpq, 21 lpr, 21 lprm, 21 lpstat, 21 ls, 20 opties van, 25, 27 mailprogramma’s imutt, 15 Netscape Messenger, 14 Webmail, 15 man, 24 optie -k, 24 man page, 24 Maple, 23 Mathematica, 22–23 mget, 30–31 mkdir, 20 more, 20 mput, 30–31 muisknoppen functies in vensters, 10 gebruik van, 10 mv, 20
quota diskruimte, 32 voor printen, 32 quota, 32 relatieve padnaam, 17 rlogin, 38 rm, 20 rmdir, 20 root, 17 root directory, 17 RSI, 6
Netscape Communicator, 13 caching, 14 inrichten van, 14 Netscape Messenger, 14
shell, 16 soffice, 40 softpkg, 22 StarOffice, 40 startscherm, 8 status van processen, 36 STOL, 41 stop, 37 studentenmail, 7 Sun Solaris, 5
openen van een icoon, 11 padnaam relatieve, 17 volledige, 17 parent process-id, 36 passwd, 15
47
tar, 33 tekst-venster, 9 terminal-venster, 9 terminologie, 5 thuiswerken, 41 tijdelijke files, 17 tilde (˜), 17 twee puntjes (..), 17 uitloggen, 25 uncompress, 32 unix2dos, 31 unzip, 33 user account, 7 user-id, 36 username, 7 vensters iconificeren, 9, 11 op voorgrond halen, 11 vergroten en verkleinen, 9, 11 verplaatsen, 11 verificatie van filetype, 21 vim, 40 vi, 40 volledige padnaam, 17 voorkomen van beeldschermklachten, 6 vraagteken, 28 wachtwoord, zie password 15 webbrowser, 12 inrichten van, 13 Webmail, 15 website FNWI, 12 I2O, 12 ICT-voorzieningen, 12 which, 23 wildcard, 28 *, 28 ?, 28 working directory, 17 xemacs, 40 xman, 24 yppasswd, 15 zip, 33 48