Introductie tot het werken met een commandoregel 23 december 2004 (C) AT Computing, Nijmegen, 2004
Introductie Het volgen van een cursus waarbij een commandoregel wordt gebruikt, wil nog wel eens tegenvallen als u zo'n commandoregel bijna nooit gebruikt. Hierbij geven wij u een korte handleiding op welke manier u, met name onder Windows, eenvoudig kunt oefenen met een commandoregel. Het doel van deze korte introductie is om u wat gevoel te geven over wat u met een commandoregel kunt doen. Ook willen we u laten zien hoe u in de gaten kunt houden waar u bent. Het doel is zeker niet om u alle fijne kneepjes van het gebruik van een commandoregel bij te brengen. Ook gaan wij u niet stiekem onze eigen passie – het gebruik van UNIX en LINUX commando's – opdringen. U zult met een DOS-achtige omgeving werken. Een commandoregel starten vanuit Windows De makkelijkste manier om een commandoregel onder Windows te starten is met behulp van de opdracht “Uitvoeren...” of “Run...” in het startmenu. U krijgt dan een schermpje waarin u het te starten commando kunt intikken. Indien u een Windows XP (of Windows 2000 of nieuwer) systeem heeft moet u daar letterlijk cmd intikken. Heeft u een andere versie van Windows dan tikt u gewoon command Indien alles goed is, ziet u nu een DOS-box (een zwart “terminal-scherm” met witte letters) waarin hetzij zoiets staat als Microsoft(R) Windows 98 (C)Copyright Microsoft Corp 1981-1998. C:\WINDOWS\Desktop> ❒ Of bijvoorbeeld bij XP: Microsoft(R) Windows XP [Version 5.1.2600] (C)Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\yves> ❒ Indien u geen opdracht “uitvoeren...” of “Run...” vindt in uw startmenu, dan kunt u op de volgende manier een opdracht voor een commandoregel scherm maken: 1. Maak in uw favoriete tekstverwerker (Word of een andere) een bestand met de naam commandline.txt 2. Dit bestand vult u met afhankelijk van uw versie van Windows C:\WINDOWS\command.com of met C:\I386\CMD.EXE 3. Daarna gebruikt u “Save As ...” om het bestand onder de de naam commandline.txt en formaat-type “MS DOS Text with Line Breaks” op te slaan. Over de boodschap dat u in de file informatie kwijt kan raken, hoeft u zich geen zorgen te maken. 4. Nu moet u zorgen dat u de Verkenner ook de .txt extensie te zien krijgt. Ga daartoe eerst naar de juiste map – dus de map waar u het bestand commandline.txt hebt opgeslagen. Daarna moet u bij de opties een vinkje weghalen bij “Hide extensions of known filetypes”. 5. Hierna kunt u de naam van het bestand veranderen van commandline.txt in commandline.bat. Opnieuw krijgt u een waarschuwing en de wijziging in gedrag is nu net wat we willen. 6. U kunt nu de file commandline.bat aanklikken en als het goed is krijgt u dan het gewenste DOS box
venster. Mocht ook dit niet baten dan zult u overleg moeten plegen met uw systeembeheerder om toch aan aan goede DOS-box te komen. Een commandoregel gebruiken binnen Windows U heeft een DOS-box venster tot uw beschikking. Nu gaan we naar wat commando's kijken. Allereerst zult u zien dat in de command prompt (dat is het stuk van de regel waarachter de cursor staat), aangegeven wordt waar op het systeem u aan het werk bent. Bij ieder programma hoort namelijk een huidige werkmap, dus ook bij de commandoregel. U kunt dat ook via het commando cd zien, mits u aan cd geen enkel argument meegeeft. Na het intikken van een commando regel moet u het commando uitvoeren door op de ENTER-toets te drukkken. In de onderstaande uitwerking geven we dat aan via <ENTER>.Bovendien zullen we tekens die u zelf intikt onderstrepen: C:\WINDOWS\Desktop> CD<ENTER> C:\WINDOWS\Desktop C:\WINDOWS\Desktop> ❒ Het maakt niet uit of u CD met hoofdletters of cd met kleine letters schrijft. U ziet ook dat de plek op het systeem uit een drive letter bestaat, hier C, en daarna de plek op die drive, hier \WINDOWS\Desktop De drive letter zult u op een UNIX of Linux systeem missen, daar lijkt het erop of er maar één drive is waar alles op staat en die geen naam heeft (dat is in de praktijk overigens zelden het geval, maar het is voor een gebruiker minder relevant op welke drive een bestand staat). Nu gaan we aan cd het argument meegeven naar welke map hij moet gaan. C:\WINDOWS\Desktop> CD \<ENTER> C:\> CD<ENTER> C:\ C:\> ❒
U ziet dat de prompt opnieuw aangeeft dat we van huidige map zijn veranderd. Het antwoord uit een los cd commando blijkt opnieuw overeen te komen met de plek die de prompt al aangaf. Nu willen we graag weten welke mappen en bestanden er in de “hoofd-map” zijn (vaak de toplevel-map of -directory genoemd). Daartoe gebruiken we het commando dir: C:\> dir<ENTER> Volume in drive C has no label Volume Serial Number is 326E-10F8 Directory of C:\ LOGITECH
10-13-98 3:36p LOGITECH ... en nog veel meer regels ... 15 file(s) 3,734,045 bytes 7 dir(s) 188,203,008 bytes free C:\> ❒ De precieze uitvoer is heel erg systeem-afhankelijk. Daarom kunt u beter (in een apart geopend verkennerscherm) naar de toplevel map van de C-drive gaan in de verkenner, want dan kunt u het resultaat beter vergelijken. De volgorde waarin u de bestanden in de verkenner ziet, kunt u natuurlijk zelf kiezen. Deze volgorde komt in het algemeen niet overeen met wat u bij de uitvoer van dir ziet, maar de bestandsnamen moeten wel allemaal voorkomen. Wellicht dat de uitvoer van dir te veel is voor het scherm en dat u alleen het laatste stukje op het scherm ziet (de rest is dan aan de bovenkant van het scherm afgeschoven). In dat geval kunt u een optie aan dir meegeven, namelijk /p. Hiervan dient de schuine streep om aan te geven dat er een optie komt en de p is de optieletter. Die betekent dat de uitvoer per pagina op het scherm moet worden gezet. U ziet dan staan: C:\> dir /p<ENTER> Volume in drive C has no label Volume Serial Number is 326E-10F8 Directory of C:\ LOGITECH 10-13-98 3:36p LOGITECH ... en nog veel meer regels ... SCANDISK 15 file(s) 3,734,045 bytes NETLOG TXT 12-13-04 11:32a NETLOG.TXT Press any key to continue . . .❒ Wij hebben de /p optie met een spatie gescheiden van het commando dir. In een DOS box is dat niet verplicht, maar we doen dat alvast omdat bij Linux en UNIX de opties wel verplicht los van het commando moeten worden getikt. Zolang de volgorde van de bestanden niet klopt, blijft het vergelijken van de uitvoer van dir met wat de Verkenner laat zien vervelend, zeker als er veel bestanden en mappen staan. Als u de optie /ogn gebruik worden de bestands- en mapnamen gesorteerd. Dat kunt u in de Verkenner ook (door op het woord Naam in de balk boven de uitvoer te klikken). U kunt meerdere opties meegeven aan een commando als u maar telkens ook de schuine streep tikt: dir /ogn /p Nu we toch de Verkenner open hebben staan, kunnen we ook proberen in de “boomstructuur” van de bestanden heen en weer te bewegen. Zoals we zagen, kunt u via een argument aan cd – dit staat eigenlijk voor change directory – meegeven naar welke map u toe wilt gaan. Als de naam van de directory een spatie bevat, dan moet u dubbele quotes rond die naam tikken. Op een XP systeem bijvoorbeeld: C:\> cd “Documents and Settings”<ENTER> C:\Documents and Settings> cd<ENTER> C:\Documents and Settings> ❒ Hier kunt u weer met dir (inclusief eventueel de opties /ogn en /p) zien welke bestanden en mappen er in deze directory staan. Van hieruit kunnen we door naar een submap yves. Natuurlijk moet in het volgende yves door uw eigen login-naam op het Windows systeemvervangen: C:\Documents and Settings> cd yves
C:\Documents and Settings\yves> cd<ENTER> C:\Documents and Settings\yves C:\Documents and Settings\yves> ❒ Je kunt weer met dir zien welke bestanden er staan. We kunnen ook weer omhoog in de boom (terug naar de directory “Documents and Settings”). De naam die je moet opgeven voor de-hierboven-liggende map is letterlijk .. Wel moet je eraan denken om ook de .. weer met een spatie te scheiden van cd (strict genomen is ook dit niet nodig binnen een DOS-box, maar vanwege de eisen die UNIX en Linux stellen eisen we ook hier maar een spatie). C:\Documents and Settings\yves> cd ..<ENTER> C:\Documents and Settings> cd C:\Documents and Settings C:\Documents and Settings> cd yves C:\Documents and Settings\yves> ❒ Met name nu is het heel nuttig om regelmatig met dir naar de bestanden te kijken en dat te vergelijken met wat je in de Verkenner ziet. Uiteraard mag je ook meerder niveaus in een keer doen (het scheidingsteken tussen de mapnamen is \): C:\Documents and Settings\yves> cd ..\..<ENTER> C:\> cd C:\ C:\> cd “Documents and Settings”\yves\”My Documents” C:\Documents and Settings\yves\My Documents> cd<ENTER> C:\Documents and Settings\yves\My Documents C:\Documents and Settings\yves\My Documents> ❒ Inmiddels zult u zich afvragen waarom iemand toch zo nodig een commandregel wil gebruiken, want de Verkenner lijkt veel comfortabeler. Toch is de Verkenner ook niet alles, want als u bijvoorbeeld een overzichtje wilt maken van welke eigen documenten u heeft staan (hierbij bedoelen we de inhoud van “My Documents”), dan kunt u dat makkelijk op het scherm laten zien, maar niet zo makkelijk afdrukkken. Eventueel zou u een printscreen opdracht kunnen gebruiken, maar daarvan heeft u er dan weer meerdere nodig als er zoveel staat dat het niet in een keer op het scherm getoond kan worden. Bij een commandoregel interface lost u dat eenvoudig als volgt op: C:\> cd “Documents and Settings”\yves\”My Documents” C:\Documents and Settings\yves\My Documents> dir >dir.txt<ENTER> C:\Documents and Settings\yves\My Documents> notepad dir.txt <ENTER> C:\Documents and Settings\yves\My Documents> ❒ Eerst vangen we met het groter-dan teken de uitvoer van dir op in het bestand dir.txt. Daarna starten we notepad om die file te bewerken. Dan krijgt u dan een extra scherm van notepad , waarin het lijstje met bestanden staat. Vanuit notepad kunt u dat ook makkelijk afdrukkken. Als u nu het gevoel hebt gekregen dat u wel weet hoe je vanuit de commandoregel in de boomstructuur naar een andere plek kunt gaan, wordt het eens tijd om het spiekbriefje weg te gooien. We gaan de prompt dus nu veranderen, zodat niet meer wordt getoond waar je bent: C:\Documents and Settings\yves\My Documents> PROMPT=$G<SPATIE><ENTER>
> CD<ENTER> C:\Documents and Settings\yves\My Documents > ❒ Zoals u ziet heb je dan echt cd nodig om te zien waar in de boom (en op welke harde schijf) u bezig bent. Als u ook zo weinig problemen hebt om files terug te vinden en te bekijken via notepad, dan zal het gebruik van een commando-regel onder UNIX u ook weinig moeite opleveren. Natuurlijk zijn er wat verschillen, maar die zijn heel beperkt: • u gebruikt ls -l in plaats van dir om een lijstje files op te vragen. U ziet hier ook meteen dat binnen Linux en UNIX opties worden aangeven met een min-teken. • in plaats van cd zonder argumenten om te zien waar u in de bestandsboom staat, gebruikt u pwd (een afkorting voor print working directory) • in plaats van notepad kunt een een andere editor zoals bijvoorbeeld evim gebruiken. • En wellicht de belangrijkste verandering: in plaats van \ (backslashes) om bestandsnamen en mapnamen te scheiden gebruiken UNIX en Linux een / (forward slash) Deze verschillen vallen toch erg mee nietwaar?