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:
- Leser det du har skrevet
- Tolker hva du mener
- Utfører handlingen
- 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:
-
Command Prompt (cmd.exe)
- Det tradisjonelle Windows-skallet
- Begrenset funksjonalitet
- Bruker forskjellig syntaks fra Unix-skall
-
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
ogDOKUMENT.TXT
er tre forskjellige filer- Kommandoer som
LS
ellerLs
vil ikke fungere, det må værels
- 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:
-
Argumenter:
- Filer eller mapper kommandoen skal jobbe med
- Kommer etter kommandoen
- Eksempel:
cat fil.txt
(fil.txt er argumentet)
-
Opsjoner/flagg:
- Starter med
-
(kort form) eller--
(lang form) - Endrer hvordan kommandoen oppfører seg
- Eksempel:
ls -l
(-l er en opsjon)
- Starter med
-
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:
- NAME: Kort beskrivelse
- SYNOPSIS: Hvordan kommandoen brukes
- DESCRIPTION: Detaljert beskrivelse
- OPTIONS: Tilgjengelige opsjoner
- EXAMPLES: Eksempler på bruk
- SEE ALSO: Relaterte kommandoer
- Mellomrom: Neste side
- b: Forrige side
- /søkeord: Søk fremover
- n: Neste treff
- N: Forrige treff
- q: Avslutt
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