Kapitel 4. Basal UNIX

Indholdsfortegnelse
4.1. Virtuelle konsoller
4.2. Filer og deres rettigheder
4.3. Indholdet af filer
4.4. Et par små nyttige kommandoer
4.5. On-line manualen
4.6. Joker-tegn, redirection og pipes
4.7. Proces-kontrol
4.8. Den klassiske UNIX editor vi
4.9. Videre med Linux

Linux er et UNIX-lignende styresystem med alle dets fordele og ulemper. UNIX' historie går tilbage til slutningen af 1960'erne, hvor en gruppe forskere ved AT&T's forskningslaboratorium eksperimenterede med computerens uanede muligheder.

Dengang UNIX var ungt, var der ikke noget, der hed grafiske brugergrænseflader og mus. Næh, brugeren sad foran en tekstterminal og tastede alle kommandoer ind. Denne noget primitive måde at arbejde med en computer på, genfinder vi i moderne UNIX, og eftersom Linux er et UNIX-lignende styresystem, har du naturligvis også mulighed for at indtaste kommandoerne på dit tastatur. Begynder du at bruge Linux seriøst, vil du dog nok finde ud af, at tekst-kommandoerne ikke er en primitiv arbejdsform - men langt mere effektivt og hurtigere end Windows måden.

Nu må du ikke tro, at det kun er af gammel vane, at UNIX-brugere taster deres kommandoer ind på en kommandolinje; faktisk er det muligt at udføre endda meget komplekse opgaver med meget lidt tastearbejde. Dette skyldes, at der med UNIX altid følger et hav af hjælpeprogrammer med. Lad os give dig et eksempel - bare rolig, vi forventer ikke, at du allerede nu kan gennemskue, hvordan det fungerer, men vi vil bare vise dig, hvor lidt tastearbejde der skal til for at udføre store opgaver. Lad os antage, at du har en hjemmeside liggende på maskinen www.andeby.dk. Du er en produktiv person med mange interesser, så din hjemmeside består af mange html-filer. En dag flytter du, og din hjemmeside skal skifte maskine - din nye maskine hedder www.kongeh.org. Dit problem er, at du skal rette alle links på dine sider. I UNIX (og dermed også Linux) kan det gøres ganske let. Du udfører blot kommandoen:

 find . -type f | egrep -i '\.html?$' |\
   xargs perl -i -pe 's/www\.andeby\.dk/www\.kongeh\.org/gi' 

Når du udfører kommandoen, bliver alle filer, som ender på "html" (bl.a. også "HTML" og "htm"), fundet (find). Du benytter et program ved navn perl til at foretage selve søg-og-erstat-proceduren. Dette eksempel er nok lidt for avanceret til vores lille bog her, men vi håber, at du nu kan se, hvor kraftfuld en enkel kommandolinje kan være i UNIX.

Når du indtaster kommandoer på en kommandolinje, benytter du dig af et program, som i daglig tale omtales shellen (eng. "shell"). Der findes mange forskellige shells, men BASH (Bourne Again SHell) er den mest udbredte under Linux. Shellen fortolker hvad du skriver, og udfører de kommandoer, du ønsker.

Vi kan også fra starten fortælle dig, at store og små bogstaver ikke er det samme for filnavne. Du kan også godt bruge meget lange filnavne, og der er ikke den samme DOS-opbygning med fil-endelser på maksimalt tre bogstaver (CONFIG.SYS osv.). I modsætning til Microsoft Windows vises alle filer med * og ikke *.* - dertil kommer skjulte filer .* - dette er ret vigtigt.

Du skal også lege lidt med tasterne pil-op og pil-ned, som løber igennem de gamle kommandoer igen. Ctrl-A og Ctrl-E bruges til at gå til starten og slutningen af en linje.

Tabulator-funktionen er utroligt rar, hvis man skal skrive lange filnavne igen og igen. Ved at skrive den første del af en kommando eller et filnavn og trykke på den én gang, prøver shellen at gætte, hvad du mener. Er der kun én mulighed skriver shellen denne mulighed. Er der flere muligheder, kan du trykke på tabulator igen og få vist alle mulighederne.

Hvis du skriver

tou<TAB> sikke_et_langt_filnavn
skulle det gerne blive til
touch sikke_et_langt_filnavn
idet der ikke er andre kommandoer, der begynder med 'tou'
tou<TAB> sik<TAB>
Det fungerer i øvrigt ved, at shellen i første "ord" leder efter en eksekverbar fil i de biblioteker, som er angivet i systemvariablen $PATH eller i den sti, som angives foran selve kommandoen. Efter kommandoen ledes der efter filnavne i det angivne bibliotek.

4.1. Virtuelle konsoller

Nu skal du til at lære kommandoer til Linux. Faktisk har du allerede lært en kommando - startx, som fik X til starte op. Der, hvor du i den simple tekstmode skrev startx, kalder vi for konsollen. Linux' konsollen er i virkeligheden ikke så primitiv, som du tror.

Der er faktisk mere end en konsol. Linux konsolsystem består af en række virtuelle konsoller. Du skifter mellem dem ved at trykke på ALT og en funktionstast mellem F1 og F7 hvor "Alt-F7" dog er tilbage til den grafiske X skærmflade, hvis den er startet op. Hvis du står i X og skal tilbage til de tekstbaserede konsoller, skal du bruge "Ctrl-Alt-F1" op til "Ctrl-Alt-F6". Linux er et ægte multitasking system, så du kan bare logge ind på flere terminaler og arbejde. I hver konsol kører der en shell, som fortolker dine kommandoer. Linux er - som vi allerede har sagt mange gang - meget fleksibelt, så faktisk kan du have forskellige shells kørende i forskellige konsoller!