Fundamentele UNIX commando's

ArticleCategory: [Kies een categorie voor je artikel]

UNIX Basics

AuthorImage:[Hier komt een kleine foto van jou]

[Manuel Muriel Cordero]

TranslationInfo:[Info over schrijver(s) en vertaler(s)]

original in es Manuel M. Cordero

en to nl Floris Lambrechts

AboutTheAuthor:[een korte biografie over de auteur]

Manuel Muriel studeert voor Ingenieur Computerwetenschappen aan de Universiteit van Sevilla. "Computerwetenschappen is mijn hobby en het onderwerp van mijn studies. Linux was een grote ontdekking voor mij. Daarnaast hou ik ook nog van lezen, vooral fictie (Tolkien is mijn idool :), basketbal spelen met m'n vrienden, en films (vooral SF; Ik hou van Blade Runner, 2001, Forbidden Planet,...)"

Abstract:[een kleine samenvatting/beschrijving van het artikel]

Ervaren Linuxgebruikers mogen het besturingssysteem dan wel heel eenvoudig en krachtig vinden, maar voor een nieuwe gebruiker die niet vertrouwd is met UNIX-omgevingen, lijkt Linux in het begin archaïsch en moeilijk te leren. De auteur geeft een zeer beknopte inleiding tot enkele fundamentele UNIX commando's, die het leerproces van nieuwe gebruikers hopelijk wat gemakkelijk maakt.

ArticleIllustration:[Titel-illustratie van het Artikel]

[Ilustratie]

ArticleBody:[Het eigenlijke artikel: zet hier teks en HTML codes]

Introductie

Dit artikel is bedoeld voor nieuwe gebruikers van Linux (en van elke UNIX). Het kan ook nuttig blijken voor meer ervaren gebruikers.

Misschien gebruiken enkele lezers hun systeem thuis als tekstverwerker, spelcomputer of voor de boekhouding. Voor deze thuisgebruikers kunnen termen als "besturingssysteem" vrij vaag zijn omdat zij hun bij hun systeem Windows 95 (zogezegd) "bijkregren" hebben; misschien hebben ze andere software "geleend" van een vriend of van een vriend van een vriend. Zij willen enkel dat de computer zonder problemen z'n werk doet en raken snel verveeld wanneer hun machine boodschappen geeft als "Memory Protection Error in 0FAG:BD07". Zij hebben aan deze meldingen totaal geen boodschap.

Op een dag hoor je van een gratis besturingssysteem (operating system of OS) dat doet wat het belooft, Linux genaamd, en je beslist het te proberen door een gespecialiseerd magazine te kopen met een gratis CD.

Na een ingewikkelde installatieprocedure waarin de harde schijf gepartitioneerd moest worden, een moeilijke operatie, bleef er waarschijnlijk een grote partitie voor Windows over en een kleintje voor Linux. Na een herstart met het nieuwe systeem krijg je zoiets als:

LILO: _

Dit is het moment om de naam te typen die je toegewezen kreeg tijdens de installatie op de Linux partitie. Dan volgt er een aantal schermen met geheimzinnige boodschappen en tenslotte een login prompt:

Red Hat Linux 2.0.32
darkstar login: _

Nu moet je "root" invoeren gevolgd door het paswoord dat je kon kiezen tijdens de installatie.

Nu zie je zoiets als:

root@darkstar:~# _

Wat nu?


Dingen doen met Linux

Nu dit beeld op het scherm staat vraag je je misschien af of het allemaal wel de moeite waard was. In het begin presenteert Linux geen gebruiksinterface met flitsende vensters of zelfs maar een GUI (Graphical User Interface). De snelste weg om aan zo'n windows-omgeving te geraken is door het typen van het commando startx

Ik neem nu aan dat tijdens de installatie de instellingen van de videokaart correct zijn ingegeven. Als dat niet het geval is, verschijnt er nu een foutmelding.

Nu is het de bedoeling om eindelijk eens iets produktiefs te doen. Probeer bijvoorbeeld de programma's van de StarOffice suite eens uit. Dit is een kantoorpakket zoals dat van Microsoft, met veel utilities. Verschillende artikelen van LinuxFocus helpen je om het te installeren en te gebruiken (tekst verwerker en presentatiepakket). Een gratis demo versie van StarOffice is te krijgen op http://www.stardivision.com/. De programma's voldoen uitstekend voor het dagelijkse werk van de gewone gebruiker.

Bij elke fatsoenlijke distributie van het Linux besturingssysteem zitten zeer interessante en krachtige programma's, zoals:

Naast deze algemene hulpmiddelen zijn er nog vele andere gespecialiseerde programma's voor software ontwikkeling, CAD, wiskundige analyse, wetenschappelijke toepassingen, enz.

Veel van die programma's werken onder het X Window Systeem dat we eerder al opgestart hebben, en andere gebruiken de command line interpreter (shell) die je ziet wanneer het systeem opgestart is. Linux gebruikt, zoals alle UNIX-en, deze opdrachtregel omdat daarmee zeer efficiënt verschillende taken kunnen uitgevoerd worden zonder onnodige vensters te gebruiken. Voor veel taken is de shell gewoon een efficiëntere omgeving.


Basis systeembeheer

Elke computergebruiker moet de inhoud van zijn harde schijf kennen en administratieve taken uitvoeren op de geïnstalleerde software. De opdrachtregel is nuttiger en flexibeler dan de gemiddelde grafische omgeving.

Vanaf hier nemen we aan dat de gebruiker een minimale kennis heeft van MSDOS of een ander besturingssyteem met een gelijkaardige shell.

Het Linux systeem is onderverdeeld in bestanden (files). Er zijn verschillende soorten files:

Gewone bestanden:
bevatten de opgeslagen gegevens van het gewone dagelijkse werk.
Directories:
dit zijn bestanden die werken als mappen die andere bestanden bevatten, inclusief andere mappen, waardoor een hiërarchische structuur ontstaat.
Links:
een bestand kan verschillende namen hebben en geopend worden vanuit verschillende directories. Links zijn verwijzingen of "snelkoppelingen" (shortcuts) naar andere bestanden.
Devices:
(of apparaten), dit zijn bestanden die verbonden zijn met een onderdeel van de computer (monitor, floppy, harde schijf, CD speler, etc.) zodat als een programma toegang wil tot een apparaat, het toegang zal vragen tot één van deze bestanden
Pipes en stacks:
zijn speciale bestanden, gebruikt door programma's om te communiceren.

Als je nu de opdracht pwd invoert, krijg je het volgende:

/root

Dit is de huidige directory, de begindirectory van de 'superuser' of systeembeheerder. Root betekent in het Engels oorsprong, vandaar. We zijn nieuwsgierig dus we gaan er eens een kijkje nemen met de opdracht: cd /

Nu bekijken we de inhoud van de directory met het list-commando : ls




# ls



dev          home        lost+found      root



var          bin         dosc            mnt 



sbin         boot        etc             tmp



lib          proc        usr



Al deze directories hebben een eigen functie in het UNIX file system (bestandsssysteem):

Directory Functie
dev Bevat alle device files.
home Dit is de 'parent' directory voor alle gebruikers 'accounts'. Inderdaad, met Linux is het mogelijk om met meerdere mensen tegelijk op hetzelfde moment op dezelfde computer te werken (Linux is een echt multi-user besturingssysteem). Een nieuw gebruikers account wordt aangemaakt met de opdracht: adduser [gebruikersnaam] (gebruikersnaam kan eender welke naam zijn). Ik raad aan om een account te maken om de dagelijkse klusjes te doen en de root-account enkel te gebruiken voor onderhoudstaken, omdat je als root b.v. per ongeluk alle bestanden kan wissen, terwijl een gewone gebruiker dat simpelweg niet kan.
lost+found U kent misschien de Norton Utilities waarmee u bestanden in verloren clusters terug kunt toveren. U kan vanaf nu op twee oren slapen, want onder Linux worden de bestanden bij een probleem met de harde schijf automatisch hersteld. Als het onmogelijk is om de oorsprong van het bestand te achterhalen, plaats het systeem het teruggehaalde bestand in deze directory. Dit is één van de vele redenen waarom Linux zoveel beter is dan eender welk Microsoft OS.
root Dit is de werkdirectory van de superuser, zoals /home dat is voor de gewone gebruikers
var Bevat verschillende tijdelijke bestanden, b.v. systeem-boodschappen, post van de gebruiker, printtaken enz...
bin Hierin staan de belangrijkste commando's van het systeem
dosc De naam van deze directory kan verschillen. Hier krijg je toegang tot de eventuele Windows- (of MSDOS-) partities in het systeem.
mnt Voor het benaderen van een CD-ROM speler wordt meestal deze directory gebruikt via een proces dat "mounten" (to mount) genoemd wordt. Om de CD toegankelijk te maken via de /mnt directory, typ mount -t iso9660 /dev/cdrom /mnt. Dit commando kan verschillen afhankelijk van de configuratie van uw systeem.
sbin Hier bevinden zich de complexe commando's voor het systeembeheer. Voor de veiligheid zouden ze enkel toegankelijk en uitvoerbaar mogen zijn door de systeembeheerder (root), dus niet door gewone gebruikers.
boot Deze plaats is gereserveerd voor de kernel, het belangrijkste deel van het OS. Sommige distributies plaatsen de kernel in / .
etc Deze directory bevat de configuratie bestanden die gebruikt worden bij het opstarten en voor de window system configuratie (te vergelijken met CONFIG.SYS and AUTOEXEC.BAT in DOS).
tmp Deze directory wordt door applicaties gebruikt om tijdelijke bestanden of gewoon rommel op te slaan. Meestal wist het systeem ze automatisch tijdens het opstarten.
lib De directory met de belangrijke systeem libraries (bibliotheken). Linux spaart geheugen door code die door meerdere programma's gebruikt wordt in één enkel bestand te zetten. Van zo'n bestand, een library, wordt dan telkens maar één enkele kopie gebruikt.
proc Dit is een weergave van de programma's in het geheugen. Het wordt gebruikt door programma's zoals ps, top of kill om ons te laten zien welke programma's er draaien op het systeem en (als er nog tijd voor is) hun uitvoering stop te zetten (kill). Zo wordt een herstart vermeden en gaan er dus geen gegevens verloren, een functie die Windows overduidelijk mist.
usr Hier komen de applicaties, samen met hun documentatie en hun libraries.

Meestal is het niet nodig om de bestanden in de hoofddirectory ('/' of root) te veranderen.


Enkele commando's

Linux is een OS dat gebouwd is voor communicatie met de gebruiker via de opdrachtregel (command line), alhoewel er ook een grafische omgeving voor bestaat (het X Window Systeem). Eerder zagen we al hoe X gestart kan worden met de opdracht startx. Wanneer de gebruiker inlogt op het systeem ziet hij een prompt zoals dit:

root@darkstar: ~# _

, een typische opdrachtregel prompt - de structuur en het uitzicht van de prompt kunnen veranderd worden naargelang de wensen van de gebruiker. In dit voorbeeld duidt de tekst vóór "@" op de huidige gebruiker (root ) en darkstar staat voor de host-naam van het systeem. Het ~ teken staat voor de home directory van de gebruiker, in het geval van de beheerder is dat dus /root. Een "#" prompt ten slotte wijst erop dat deze gebruikers account de superuser rechten heeft. De gebruiker kan nu eender welke opdracht invoeren met de knipperende cursor, b.v. :




root@darkstar:~# ls -l bobby_



Hier zijn we hoe de gebruiker een boodschap (statement) geeft die bestaat uit een opdracht (ls), een commando-optie (-l) en een parameter (bobby). Na een druk op de enter-toets zal Linux het bestand bobby 'listen' (d.w.z. het zal de kenmerken ervan tonen, zoals grootte, de datum van de creatie, en andere gegevens die we later nog in detail bespreken). Natuurlijk wordt een bestand enkel 'gelist' als het ook echt bestaat.

De normale syntax voor een shell statement is een commando gevolgd door de optie(s), gescheiden door een spatie.

ls -l -a bobby

Opties kunnen ook samen voorkomen:

ls -la bobby

Ook meerdere bestanden kunnen tegelijk aangesproken worden, telkens gescheiden door een spatie:

ls bobby joe maria

Dit zal de bestanden bobby, joe en maria 'listen' zonder details. Voor een meer gedetailleerde beschrijving, zoals daarjuist, kan de -l optie gebruikt worden

ls -l bobby joe maria


Meer informatie

Linux heeft een grote hoeveelheid online documentatie over het gebruik van het systeem. Als je meer info wil over een opdracht waarvan je de naam kent, probeer dan:

man [opdracht]

Dan krijg je de man page (van manual, handleiding) van die opdracht. Bijna alle opdrachten hebben hun eigen man page. Om bijvoorbeeld meer te weten te komen over de man opdracht zelf, typ gewoon man man. Op die manier moet je nooit opties van de UNIX opdrachten onthouden, want via de man page zijn ze makkelijk en snel terug te vinden.

Man page van de opdracht man: man man

Als je de naam van de opdracht niet kent, probeer dan het volgende:

apropos [onderwerp]

dit toont een lijst van alle opdrachten die iets te maken hebben met dit onderwerp.

Sommige commando's geven een korte en duidelijke beschrijving van hun werking en de mogelijke opties wanneer ze uitgevoerd worden met de parameter --help. Het commando ls bijvoorbeeld

ls --help

Wanneer een commando gegevens toont die niet op één scherm passen, gebruikt u de PageUp en PageDown toetsen op het toetsenbord om door de schermen te bladeren.

De meeste Linux distributies worden met een grote hoeveelheid documentatie over de programma's en utilities geleverd. Die documentatie bevindt zich in /usr/doc. Om bijvoorbeeld de informatie over tetex te lezen, ga je gewoon naar die directory en je typt more tetex. De meeste bestanden in de /usr/doc directory zijn gewone ASCII files met 'platte' tekst.

En er is nog meer. De info pagina's bevatten beschrijvingen van opdrachten en programma's die gelezen kan worden met de tekstverwerker emacs met de toetsencombinatie [Control+h][Control+i].

En nóg meer informatie vindt u op het web:

http://slug.ctv.es
http://www.linux.org
http://www.cs.us.es
http://www.redhat.com
http://www.debian.org

Er zijn ook nieuwsgroepen over Linux (nntp protocol):

news:comp.os.linux.software: voor vragen over software
news:comp.os.linux.hardware: voor vragen over configuratie van hardware
news:comp.os.linux.development: vragen over programmeren in Linux

En ten slotte zijn er op enorm veel irc's ook #linux kanalen.


Eenvoudig bestandsbeheer

Als je DOS kent, ken je waarschijnlijk nog de opdrachten dir, cd, rd, md en andere. We zullen de Linux-equivalenten ervan bekijken en zo leren bestanden te kunnen manipuleren. De mogelijkheid blijft bestaan om meer details te krijgen over de gebruikte opdrachten via man [opdracht].

ls: de inhoud van de directory weergeven

Dit commando hebben we al eerder gebruikt. Laten we er nog dieper op ingaan.

Als we de opdract geven:




$ ls -l 



drwxr-xr-x   3 fenix  fenix     1024 Jun 15  1997 Calendar 



drwx------   5 fenix  fenix     1024 Nov  6 19:35 Desktop 



drwx------   2 fenix  fenix     1024 May 16  1997 Mail 



drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 X11 



lrwxrwxrwx   1 root   root        11 Mar 13 20:53 ada -> private/ada 



drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 bin 



lrwxrwxrwx   1 root   root         9 Mar 13 20:53 c -> private/c 



-rw-------   1 fenix  fenix   868352 Apr  7 21:19 core 



lrwxrwxrwx   1 root   root        12 Mar 13 20:53 lisp -> private/lisp 



drwx------   2 fenix  fenix     1024 Jun 13  1997 mail 



-rw-rw-r--   1 fenix  fenix      302 Apr  7 20:30 mine.bmp 



drwxrwxr-x   2 fenix  fenix     1024 Mar 10 00:28 mydocuments 



drwxr-xr-x   2 fenix  fenix     1024 Nov  6 18:59 nhs 



drwx------   2 fenix  fenix     1024 Mar 12 18:05 nsmail 



drwxrwxr-x   2 fenix  fenix     1024 Feb 17 21:27 odd 



drwxrwxr-x   8 fenix  fenix     1024 Mar 12 23:04 private 



lrwxrwxrwx   1 root   root        14 Mar 13 20:53 prolog -> private/prolog 



-rw-r--r--   1 fenix  fenix    23051 Jan 27 21:14 system.fvwm2rc 



drwxrwxr-x   4 fenix  fenix     1024 Mar 22 15:36 tmp 



lrwxrwxrwx   1 root   root        11 Mar 13 20:53 www -> private/www 



-rwxr-xr-x   1 fenix  fenix     1239 Nov  6 19:46 xinitrc.bak



Dit noemen we een lange lijst, die ons veel belangrijke informatie geeft over de directory. We kunnen 6 velden onderscheiden:

Het eerste geeft ons informatie over de rechten (permissions) van het bestand. Het bestaat uit 10 letters, verdeeld in de eerste letter en 3 groepen van 3 letters.

De eerste letter duidt op het bestandstype:

- gewoon bestand
d directory
l link
c speciaal bestand, character device (device = apparaat): er kan enkel infomatie naar verstuurd of van ontvangen worden byte per byte zonder de mogelijkheid om dezelfde data te lezen.
b speciaal bestand, block device: dit device laat willekeurige positionering-operaties toe (!?).
p pipes
f stacks

De andere letters, de permission flags, duiden aan wie toegang heeft tot dit bestand en wat die ermee mag doen. Van de drie groepen duidt de eerste aan wat de eigenaar van het bestand ermee kan doen, het tweede deel zijn de rechten van de groep (de gebruiker kan behoren tot een gebruikersgroep) en de derde zijn de rechten van alle andere gebruikers.

De drie letters duiden op het volgende:

De eerste letter:
- kan het bestand niet lezen, als het een directory is kan de inhoud niet bekeken worden.
r kan het bestand lezen.
De tweede letter:
- kan het bestand niet overschrijven (noch aanpassen), als het een directory is kunnen daar geen bestanden in gemaakt of gewist worden.
w kan overschrven worden (bestanden kunnen gemaakt en gewist worden als het een directory is).
De derde letter:
- kan het bestand niet uitvoeren, als het een directory is is die niet toegankelijk (niet te gebruiken met cd).
x kan het bestand uitvoeren.
s Dit attribuut kan enkel van toepassing zijn op uitvoerbare bestanden. Het programma wordt uitgevoerd met de permissies van de eigenaar van het bestand in de plaats van die van degene die het uitvoert. Het is niet erg als je het gebruik van dit "s" attribuut niet goed begrijpt, het is enkel nuttig voor ervaren gebruikers. De naam ervan is "SetUID".

Deze rechten kunnen veranderd worden met de opdracht chmod dat we later zullen zien.

Het volgende veld staat voor het aantal links dat naar het bestand verwijst.

Het volgende is de eigenaar van het bestand.

Het vierde wijst op de groep waartoe de gebruiker behoort. Zo hebben alle anderen die tot de groep behoren dezelfde rechten voor dit bestand. Deze rechten vormen de tweede groep van 3 permission flags.

Het volgende geeft de bestandsgrootte in bytes.

Het zesde is de datum en uur van de laatste aanpassing.

En het laatste is de bestandsnaam. Als het een link is, wordt het gelinkt bestand aangeduid met -> [bron]

In Linux zijn er ook verborgen bestanden. Zij beginnen altijd met een punt (.).

Verborgen bestanden kunnen weergegeven worden met de optie -a. Alle verborgen en niet-verborgen bestanden worden dan gelist.




$ ls -a 



.profile    .bash_profile     .bashrc    .xinitrc 



mime.bmp    misdocumentos



cp: bestanden kopiëren

Dit commando kopieert bestanden zodat u het onder verschillende namen en in verschillende directory's kan plaatsen.

cp [bestand] [doel]

Als het doel geen bestaande directory is, wordt het gekopiëerde bestand opgeslagen onder die naam.

mv: bestanden verplaatsen

mv is "MoVe". Met deze opdracht kunnen we een bestand een andere naam geven of verplaatsen naar een andere directory.

mv [bestand] [doel]

Als het doel geen bestaande directory is, wordt het bestand herbenoemd met die naam.

cd: van directory veranderen

Dit is bijna net hetzelfde als in DOS. Toch enkele verschillen:

cd zonder meer brengt je naar je home directory. Als je de superuser bent ga je dus automatisch naar /root/; als je bob bent ga je naar /home/bob.

Zoals je ziet zijn worden de directory's gescheiden door streepjes die rechts schuin zijn (/slashe/), terwijl ze in DOS links schuin zijn (\backslash\)

Ten slotten kan /home vervangen worden door het teken ~. Dus cd ~pipo brengt je naar /home/pipo

mkdir: directory's maken

Dit is heel simpel: mkdir [directorynaam] maakt een directory met die naam.

rmdir: een lege directory verwijderen

Als je een lege directory wil verwijderen, doe je dat met rmdir [directorynaam]. Als er wel bestanden of andere directory's in staan gebruik je de opdracht rm.

rm: bestanden wissen

Verwijder eender welk type bestand met rm [bestandsnaam].

Ander belangrijke opties zijn:
-i vraagt voor bevestiging om bestanden te wissen.
-r verwijdert een directory en heel zijn inhoud.
-rf werwijdert een directory en zijn inhoud zonder bevestiging.

ln: links naar andere bestanden maken

Linux laat toe om hetzelfde bestand met verschillende namen of vanuit verschillende directory's aan te spreken. Dat gebeurt met links. Er zijn twee soorten:

Harde links worden gemaakt met: ln

En symbolische links met ln -s [bron-bestand] [doel-bestand]

cat: de bestandsinhoud weergeven

Dit commando toont de inhoud van een bestand op het scherm.

cat [bestandsnaam]

more: de bestandsinhoud pagina per pagina weergeven

Als het bestand te lang is (als het niet op het scherm past), kunnen we de eerste lijnen niet lezen. Een oplossing daarvoor is de scherm buffer gebruiken (met Mays + Repag). Maar deze buffer heeft maar een beperkte grootte en dikwijls werkt hij gewoon niet. De opdracht more laat ons toe om de bestanden pagina per pagina te bekijken. De syntax is:

more [bestandsnaam]

Dit is een interactief programma. De nuttigste "toetsen" (interactieve opdrachten) zijn:

Toets Functie
spatiebalk
1 pagina vooruit
b 1 pagina terug
enter 1 pagina vooruit
/[tekst] zoek de volgende tekst in het bestand
?[tekst] zoek de laatste tekst in het bestand
q stop

Er is een programma dat hetzelfde doet en uitgebreider is, less.

chmod: permissies veranderen

Hiermee kunnen we de rechten van een bestand aanpassen. Een gewone gebruiker kan dit enkel doen met bestanden waarvan hij de eigenaar is; de root (superuser) kan dit doen met alle bestanden. Het wordt gebruikt met 2 parameters, gescheiden door een spatie.

chmod [wie][+/-] [nieuw recht] [bestand]

Met wie kunnen we verwijzen naar:

Wie Beschrijving
u De gebruiker die eigenaar is van het bestand
g De groep die eigenaar is van het bestand
o De andere gebruikers
a Alle gebruikers (eigenaar, groep, anderen)

Met + voegen we een permissie toe en met - verwijderen we die.

In nieuw recht geven we aan welk recht toegevoegd of verwijderd moet worden. Deze worden beschreven door de letters in het eerste veld in een lange lijst met ls (dit betekent r:lezen (read), w:schrijven (write), x:uitvoeren (execute) of bezoeken, s:SetUID)

Een voorbeeld om dit duidelijk te maken:

chmod u+rw mijn

Hiermee krijgt de eigenaar, jij dus, lees- en schrijfrecht over het bestand mijn.

chmod a-x directory

En hiermee verwijderen we voor alle gebruikers (inclusief uzelf, de eigenaar) het bezoekrecht van de directory

chmod heeft ingewikkelde opties, die we niet bespreken, maar die je kan gebruiken als je de man page leest met de opdracht:

man chmod


Jokertekens voor bestanden

Met Linux is het mogelijk om handelingen te doen met meerdere bestanden tegelijk in plaats van 1 voor 1. We kunnen verwijzen naar een groep bestanden die bepaalde kenmerken in hun naam gemeen hebben. Dit doen we door jokertekens te gebruiken in de bestandsnamen. Enkele zijn misschien al bekend van MS-DOS:

* : kan elke tekst zijn ( 0, 1 of meer tekens

Hiermee kunnen we:

rm *

alle bestanden verwijderen

rm a*

alle bestanden die beginnen met a verwijderen

rm bet*as

alle bestanden die gebinnen met bet en eindigen op as verwijderen

? : elk teken (1)

Hiermee kunnen we:

cat c?t

alle bestanden weergeven dit beginnen met c, dan 1 willekeurige letter hebben en eindigen op t weergeven.

[group]: elke tekst tussen de haakjes

Zo kunnen we:

more [tp]erez

pagina per pagina de bestanden terez en perez laten zien, als ze bestaan.

cp c[AEIOU]endo directory

alle bestanden die beginnen met c, gevolgd door een hoofdletter klinker en eindigen op endo kopieren naar directory.

We kunnen "-" gebruiken om intervallen te maken:

mv *[a-z] rommel

verplaatst alle bestanden die eindigen op een niet-capitale letter naar de directory trash.

We kunne ook een negatief interval gebruiken:

ls [!a-zA-Z]*

toont alle bestanden waarvan het eerste teken geen (hoofd)letter is.


Redirecting

Linux is om veel redenen krachtig, maar één van de handigste functies van de opdrachtregel is het redirect-en.

Hiermee kan de uitvoer van een opdracht of programma naar een bestand uitgevoerd worden in plaats van op het scherm te verschijnen. Ook kunnen we, als dat nodig is, de inhoud van een bestand als invoer naar een andere opdracht of programma zenden, de uitvoer toevoegen aan de inhoud van een bestand, en ten slotte ook de uitvoer van een opdracht gebruiken als de invoer van een andere opdracht.

> (groter dan): rechtse redirecting

Met dit symbool kunnen we de uitvoer naar een bestand zenden. Een voorbeeld:

cal > februari

Zo wordt de uitvoer van de opdracht cal - hier de calender van een maand - in het bestand februari geschreven.

< (kleiner dan): linkse redirecting

Hiermee wordt de inhoud van een bestand gebruikt als invoer voor een opdracht.

mail thomas < brief

Hiermee zenden we via e-mail een brief aan thomas

>> (dubbel groter dan): toevoegen aan het eind

Zodat we de uitvoer kunnen toevoegen aan het einde van een bestand, zonder de bestaande inhoud te overschrijven. Met het enkele >-teken wordt de bestaande inhoud van het bestand vervangen door de uitvoer.

cat bestand1 bestand2 bestand3 >> overzicht-bestand

We voegen dus aan het einde van het overzicht-bestand de inhoud van de bestanden bestand1, bestand2 en bestand3 toe.

| (streep): pipe tussen opdrachten

Hiermee wordt de uitvoer van een opdracht gebruikt als de invoer van een ander. Verwar dit niet met speciale pipe bestanden, die worden anders gebruikt. Een voorbeeld:

who | grep "thomas"

who toont de gebruikers die op het systeem aanwezig zijn, welke terminals ze gebruiken en hoelang ze al ingelogd zijn. grep filtert de uitvoer zodat enkel de regels met thomas erin bewaard blijven. We weten dat thomas de naam is van een gebruiker die we willen bereiken en dat er in het systeem geen terminal genaamd thomas is. Met deze opdracht weten we dus meteen of thomas al dan niet ingelogd is.

We bekijken dit stap voor stap. Geef eerst de opdracht who en daarna de opdracht who, met een pipe verbonden met grep en een ingelogde gebruiker (uzelf bv.). Voor een overtuigend resultaat kan je inloggen met verschillende namen en met meerdere consoles. In totaal kan je 7 cosoles gebruiken. Daarnaast laat Linux toe om vebinding te maken met andere computers via gangbare netwerk-hardware zoals token-ring, ethernet, modem, etc.. Wisselen van console gebeurt met de toetsen Alt+F1 (voor de eerste), Ctrl+Alt+F2 (tweede), Ctrl+Alt+F3, Ctrl+Alt+F4, Ctrl+Alt+F5 en Ctrl+Alt+F6. Ctrl+Alt+F7 en Ctrl+Alt+F8 zijn grafische terminals, geactiveerd door startx. Overschakelen tussen grafische en tekst-consoles is mogelijk.


Tekstverwerkers

Natuurlijk hebben we tekstverwerkers (text editors) nodig. Dat zijn programma's die tekst in ASCII formaat kunnen lezen, wegschrijven en bewerken. Er is geen aantoonbare 'beste' tekstverwerker; er zijn er veel verschillende met elk hun eigen verdiensten. Er worden fanatieke, bijna religieuze discussies gevoerd over wie meer mans is op basis van welke editor hij gebruikt :-). Ikzelf beveel diegene aan die voor jou de beste lijkt. Er zijn er veel verschillende, hier volgt een kort overzicht.

Hiermee sluiten we dit eerste artikel over de grondbeginselen van Linux systeembeheer af. De volgende aflevering bespreekt gedetailleerd de GNU bestands-utilities en daarna zal ik het hebben over de meestgebruikte tekstverwerkers voor Linux, vi en joe).