Skip to main content

1 - Bli kjent med terminalen og skallet Bash

Terminalen er et tekstbasert grensesnitt for å kommunisere med datamaskinen din. I stedet for å klikke med musen, skriver du kommandoer som forteller datamaskinen nøyaktig hva du vil den skal gjøre. Selv om det kan virke skummelt i begynnelsen, gir terminalen deg kraftige verktøy for å jobbe mer effektivt. Mange utviklere foretrekker terminalen fordi den gir mer presis kontroll og mulighet for automatisering av oppgaver.

Kommandolinjeprosessor (skall)

Et skall er programmet som tolker kommandoene du skriver i terminalen. Tenk på det som en tolk mellom deg og datamaskinens operativsystem. Når du skriver en kommando, er det skallet som:

  1. Leser det du har skrevet
  2. Tolker hva du mener
  3. Utfører handlingen
  4. Viser resultatet tilbake til deg

Ulike skall (engelsk: shell)

Akkurat som det finnes mange forskjellige programmeringsspråk, finnes det flere typer skall. Hvert skall har sine egne fordeler og spesialiteter, men de grunnleggende prinsippene er like. De mest vanlige er:

  • Bash (Bourne Again Shell)
  • Zsh (Z Shell)
  • PowerShell (Windows)
  • Fish (Friendly Interactive Shell)

UNIX / Linux

På Unix-baserte systemer (som Linux og macOS) er Bash det mest utbredte skallet. Det kommer som standard på de fleste Linux-distribusjoner og er kjent for å være:

  • Kraftig og fleksibelt
  • Godt dokumentert
  • Kompatibelt med eldre Unix-skall
  • Støttet av et stort brukerfellesskap

macOS brukte tidligere Bash som standard, men har nå byttet til Zsh, som er en modernisert versjon med flere funksjoner.

Windows

Windows har to hovedtyper skall:

  1. Command Prompt (cmd.exe)

    • Det tradisjonelle Windows-skallet
    • Begrenset funksjonalitet
    • Bruker forskjellig syntaks fra Unix-skall
  2. PowerShell

    • Moderne og kraftig
    • Objektorientert tilnærming
    • Bedre integrasjon med Windows-systemer
    • Kan også installeres på Linux og macOS

Windows 10 og nyere støtter også Windows Subsystem for Linux (WSL), som lar deg kjøre et fullverdig Linux-system direkte i Windows. Dette gir deg tilgang til Bash og andre Unix-verktøy.

Bash

Bash er ikke bare et skall, det er også et skriptspråk. Dette betyr at du kan:

  • Kombinere kommandoer
  • Lage variabler
  • Bruke kontrollstrukturer (if, for, while)
  • Lagre sekvenser av kommandoer i filer (skript)

Viktige kommandoer

Her er de mest grunnleggende kommandoene du bør kjenne til:

Filsystem:

pwd                    # Vis nåværende mappe
ls # List filer og mapper
cd mappenavn # Bytt mappe
mkdir mappenavn # Lag ny mappe
rmdir mappenavn # Slett tom mappe
touch filnavn # Lag ny tom fil
rm filnavn # Slett fil
cp kilde mål # Kopier fil
mv gammel ny # Flytt/omdøp fil

Visning og redigering:

cat fil.txt            # Skriv ut hele filen til terminal
less fil.txt # Vis filen side for side
head fil.txt # Skriv ut første 10 linjer til terminal
tail fil.txt # Skriv ut siste 10 linjer til terminal
nano fil.txt # Åpne fil i Nano editor

Systeminfo:

date                   # Vis dato og tid
whoami # Vis brukernavn
df -h # Vis diskplass
free -h # Vis minnebruk
top # Vis kjørende prosesser

STORE og små bOKstAvER

I Unix-systemer er store og små bokstaver forskjellige. Dette betyr at:

  • Dokument.txt, dokument.txt og DOKUMENT.TXT er tre forskjellige filer
  • Kommandoer som LS eller Ls vil ikke fungere, det må være ls
  • Dette gjelder også mappenavn og nesten alt annet i terminalen

Dette er en vanlig kilde til feil for nybegynnere, så vær ekstra oppmerksom på dette.

Argumenter og parametre

Kommandoer kan ta ulike typer input som endrer hvordan de oppfører seg:

  1. Argumenter:

    • Filer eller mapper kommandoen skal jobbe med
    • Kommer etter kommandoen
    • Eksempel: cat fil.txt (fil.txt er argumentet)
  2. Opsjoner/flagg:

    • Starter med - (kort form) eller -- (lang form)
    • Endrer hvordan kommandoen oppfører seg
    • Eksempel: ls -l (-l er en opsjon)
  3. Kombinasjoner:

    ls -l dokumenter     # -l er opsjon, dokumenter er argument
    cp -r mappe1 mappe2 # -r er opsjon, mappe1 og mappe2 er argumenter

Manualen (man)

Manualen er den innebygde dokumentasjonen i Unix-systemer. Den er ditt viktigste verktøy for å lære nye kommandoer.

Slå opp en side

man ls     # Vis manualen for ls
man cp # Vis manualen for cp
man man # Ja, manualen har til og med en manual!

Søk etter en side

Hvis du ikke vet nøyaktig hvilken kommando du trenger:

man -k [søkeord]  # Søk i alle manualsider

# Eksempel:
man -k file # Finn alle kommandoer relatert til filer

Finne frem i en man-side

Man-sider er organisert i seksjoner og følger en standard struktur:

  1. NAME: Kort beskrivelse
  2. SYNOPSIS: Hvordan kommandoen brukes
  3. DESCRIPTION: Detaljert beskrivelse
  4. OPTIONS: Tilgjengelige opsjoner
  5. EXAMPLES: Eksempler på bruk
  6. SEE ALSO: Relaterte kommandoer
Navigering i man
  • Mellomrom: Neste side
  • b: Forrige side
  • /søkeord: Søk fremover
  • n: Neste treff
  • N: Forrige treff
  • q: Avslutt
man og less

Navigering i man bruker (stort sett) samme snarveier som ved bruk av less som vi ser på i delen som handler om Tekstbehandling og søk