Linux tutorial 4: Introduktion til Linux terminalen
Dette er fjerde del af min Linux tutorial.
Linux terminalen er en integreret del af linux. Selvom du godt kan klare dig uden, er det alligevel et vigtigt redskab i Linux. I denne tutorial introducerer jeg dig for det vigtigste i Linux terminalen. Du kan dog sagtens anvende Linux uden at kende til terminalen. Ønsker du det, springer du blot dette kapitel over.
Terminal emulator
Selvom du ikke kører linux, kan du alligevel godt køre en terminal i et andet styresystem. Dette kan være en god ide, hvis du f.eks. skal teste forskellige scripts. Anvendelige terminal emulatorer til andre systemer er:
- MacOS: Terminal (standard), iTerm 2
- Windows: PuTTY
- Linux: Terminal, KDE Konsole, XTerm
Basal visning
Når du åbner en terminal vil der typisk stå:
brugernavn@værtsnavn: ~$
Symbolet ~ (tilde) er et symbol der angiver dit hjemmebibliotek, f.eks. /home/brugernavn. $ angiver slutningen i linjen og hvor du kan skrive en kommando.
Hvis du f.eks. var i mappen /var/log og var logget ind som root ville linjen se således ud:
root@værtsnavn: /var/log#
# angiver at du er logget ind som root. Root er en superbruger konto der findes i Linux og som der kræves når der skal foretages administrationsmæssige kommandoer.
Kommandoer
Hvis du vil køre en kommando, kan du blot angive adressen til en kørbar fil, som f.eks. kan være en binær fil eller et script. Der findes mange af disse installeret i linux som standard, som gør det muligt at installere, navigere og konfigurere styresystemet.
Når man kører en kommando, kaldes dette en proces. Når du indtaster en kommando, må du vente med at indtaste en ny til processen er kørt færdig.
Husk på at næsten alt er case-sensitiv i linux, hvilket betyder at der er forskel på store og små bogstaver. Dette gælder også i filer og mappenavne. Herudover også kommandoer, argumenter og indstillinger. Husk derfor, hvis noget ikke virker, at tjekke om du har stavet rigtigt.
Når du kører en kommando, kan du også angive et argument. Hvis du ikke angiver et argument, køres standardargumenter. For kommandoen cd betyder dette at du returneres til brugerens hjemmebibliotek. Kommandoen ls vil uden argumenter liste alle filer og mappe i nuværende mappe du er i. Kommandoen ip vil vise en guide til hvordan du angiver argumenter til ip.
Prøv engang at køre kommandoen ls uden argumenter og se om filerne i nuværende mappe ikke nævnes. Denne kommando hed i det gamle Microsoft DOS dir hvis du har anvendt det før.
Argumenter
Men du kan også angive argumenter sammen med en kommando. Et argument kan også kaldes en parameter, og påvirker hvordan din kommando køres. Et argument kan angives efter en kommando, adskilt af et mellemrum. F.eks. kan du ved kommandoen cd angive et argument som angiver adressen du vil hen til.
cd /usr/bin
Hvis du indtaster denne kommando kommer du til mappen /usr/bin. Prøv evt. at køre kommandoen ls for at se filer i mappen.
Indstillinger
For nogle kommandoer kan du også angive en indstilling. En indstilling kaldes også en flags eller switch og ændrer på opførslen af kommandoen. Det er en slags specielle argumenter. Man angiver en indstilling efter en kommando, adskilt af “-“. Nogle indstillinger starter også med “–“. F.eks. kan du skrive:
ls -l
Hvilket er en såkaldt “long list” der udskriver en mere detaljeret liste over filer og mapper i en mappe. Det kan være detaljer som sikkerhedsindstillinger, ejerskab, størrelse og tid. Du kan også skrive:
ls -a
Hvilket viser en liste inkl. alle skjulte filer.
Hvis du både vil have en detaljeret liste og se alle skjulte filer skriver du blot:
ls -l -a
eller
ls -la
Fordi hvis du starter en indstilling med “-” tæller hvert bogstav for en indstilling. Med “–” tæller hvert ord for en indstilling.
Bemærk også at skjulte filer i linux begynder med “.” og skjulte mapper begynder med “..”. Dem får du med når du anvender “-a” indstillingen.
Både argumenter og indstillinger
Du kan også både angive argumenter og indstillinger. Et eksempel er:
ls -la /home
Hvor “ls” er kommando, “-la” er indstillinger og “/home” er et argument. Dette udskriver en liste over indholdet i mappen “/home” som er detaljeret og inkluderer skjulte filer og mapper.
Variabler
Variabler er navngivne værdier der bestemmer hvordan kommandoer skal køres i terminalen. Disse aktiveres f.eks. når terminalen åbnes. Skriv f.eks. kommandoen env, hvorefter du vil se alle variabler der er blevet indstillet i den session som din terminal kører. Du vil få en lang liste, men prøv at kigge efter PATH der kunne se således ud:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PATH angiver en liste over mapper adskilt af “:” hvor terminalen skal kigge efter filer når der indtastes en kommando. F.eks. findes env i mappen /usr/bin og vi kan derfor køre denne kommando uden at skulle angive adressen fordi den er angivet i PATH environment variablen.
Hvis du forsøger at tilgå en variabel uden indhold vises ingenting.
Vis værdien for en variabel
Hvis du vil vise værdien for en variabel angiver du kommendoen echo og variablen som argument med tegnet “$” foran, f.eks.
echo $PATH
Variabler indeholder altså værdier. Variablen $HOME indeholder adressen på hjemmebiblioteket og i stedet for at indtaste adressen på hjemmebiblioteket når du vil derhen kan du altså skrive:
cd $HOME
Sæt værdien for en variabel
Du kan også angive hvilken værdi din variabel skal have. Indtast blot variablens navn, tegnet “=” og hvilken værdi den skal have – f.eks.
VAR=value
Denne kommando sætter altså værdien “value” til variablen “VAR”. Bemærk hvis du sætter en værdi for en variabel der allerede eksisterer overskrives indholdet. Hvis den ikke eksisterer vil den blive oprettet.
Bemærk at værdier for variabler kun gemmes sålænge sessionen for terminalen kører.
Brugbare kommandoer
Lad os lige til slut lære nogle basale kommandoer som er gode at kunne:
- cd anvendes til at flytte placering til en bestemt mappe. Angiv blot som argument den mappe du vil hen til. Vil du flytte et niveau op skriver du “cd ..“
- ls udskriver en liste over alle filer og mapper i den nuværende mappe.
- pwd fortæller dig hvilken mappe du lige nu befinder dig i.
- less udskriver kun indholdet af en fil til skærmen er fyldt. På den måde kan du langsomt scrolle ned gennem filen. For at scrolle ned kan du anvende pageDown eller pageUp for at scrolle op. For at søge efter noget tekst i en fil skriver du blot “/” foran søgeordet, f.eks. “/søgeord”. Dette viser det første resultat der findes. For at gå videre til næste resultat skriver du n. For at gå tilbage til sidste resultat skriver du N. For at komme ud af less programmet skriver du q.
- cat viser også indholdet af en fil, men vender øjeblikkeligt tilbage til terminalen.
- head viser de første 10 linier i filen.
- tail viser de sidste 10 linier i filen.
- echo skriver noget tekst til skærmen.
- touch lader dig oprette en ny tom fil. Angiv ønsket filnavn som argument.
- mkdir lader dig oprette en ny mappe. Angiv ønsket mappenavn som argument.
- mv lader dig flytte en fil. Angiv kilde som første argument og destination som andet argument.
- cp lader dig kopiere en fil eller mappe. Angiv kilde som første argument og ønsket navn som andet argument. For at kopiere en mappe inklusiv indhold skal du også angive indstillingen “-r”.
- rm lader dig slette en fil.
- rmdir lader dig slette en mappe uden indhold. Har mappen indhold skal du også angive indstillingen “-r”.
- nano lader dig åbne en fil.
Jeg håber dette gav dig en lille introduktion til linux terminalen. Der er meget mere at lære, men dette er noget af det basale du kan starte med.
Nu hvor du kender Linux terminalen vil jeg i næste kapitel vise dig et konkret eksempel hvor jeg har brugt den. Eksemplet omhandler hvordan man slår touchskærmen fra på en computer fra Linux.