Teknologi & innovasjonPublisert: 26. desember 202514 min lesing

Linux terminal — de 40 viktigste kommandoene alle utviklere bør kunne

Terminalen er utviklerens kraftigste verktøy. Lær de viktigste Linux/Unix-kommandoene som gjør deg vesentlig mer produktiv i hverdagen.

Norsk Næring
Norsk NæringRedaksjon
Å mestre terminalen skiller gode utviklere fra eksperter — det åpner muligheten til å…

Å mestre terminalen skiller gode utviklere fra eksperter — det åpner muligheten til å automatisere, feilsøke og administrere systemer med presisjon.

De 40 viktigste Linux-terminalkommandoene for utviklere: navigasjon, filer, prosesser, nettverk, tekst og systemadministrasjon med praktiske eksempler.

Annonse

Tekst og filoperasjoner — behandle innhold effektivt

cat viser innholdet i en fil: cat fil.txt. less paginerer innhold (bla med piler, q for å avslutte) — bedre enn cat for store filer. head -20 fil.txt viser de første 20 linjene. tail -50 fil.txt viser de siste 50 linjene. tail -f logg.txt følger en loggfil i sanntid — uunnværlig for feilsøking på servere.

grep søker etter tekst i filer: grep "feil" logg.txt, grep -r "funksjonsnavn" src/ (rekursivt gjennom mapper), grep -i (case-insensitiv), grep -n (vis linjenummer), grep -v (vis linjer som IKKE matcher). Kombiner med | (pipe): cat feil.log | grep "ERROR" | tail -100.

sed (Stream Editor) redigerer tekst: sed "s/gammel/ny/g" fil.txt erstatter alle forekomster. awk er et kraftig tekstbehandlingsprogram: awk "{print $1, $3}" fil.txt skriver ut kolonne 1 og 3 (separert med mellomrom). wc (Word Count): wc -l fil.txt teller linjer, wc -w teller ord. sort sorterer linjer. uniq fjerner duplikatlinjer (etter sortering). cut -d"," -f1,3 fil.csv henter kolonne 1 og 3 fra CSV.

Prosessadministrasjon — kontroller kjørende programmer

ps viser kjørende prosesser. ps aux gir full liste med bruker, CPU og minnebruk for alle prosesser. top er et interaktivt prosessovervåkingsverktøy — oppdateres kontinuerlig. htop er en bedre versjon med farger og enklere grensesnitt (installer med apt install htop eller brew install htop).

kill avslutter prosesser med PID: kill 1234. kill -9 1234 tvangsstopper. pkill avslutter prosesser etter navn: pkill nginx. jobs viser bakgrunnsjobber i nåværende shell. Ctrl+C stopper en kjørende prosess. Ctrl+Z pauser den og legger den i bakgrunnen. fg henter bakgrunnsjobben tilbake. bg gjenopptar en pauset jobb i bakgrunnen. Kommando & kjører kommandoen i bakgrunnen umiddelbart: python server.py &.

nohup kommando & kjører kommandoen og lar den leve videre etter at du logger ut. systemctl er det moderne verktøyet for tjenestestyring: systemctl start nginx, systemctl stop mysql, systemctl status postgresql, systemctl enable app (start automatisk ved oppstart), journalctl -u nginx -f (vis logger for nginx i sanntid).

Annonse

Nettverkskommandoer — diagnostisering og kommunikasjon

curl henter innhold fra URL-er: curl https://api.example.com/data. Med flagg: curl -X POST -H "Content-Type: application/json" -d '{"nøkkel": "verdi"}' https://api.example.com/endpoint. curl -o fil.txt url laster ned til fil. curl -I url viser bare HTTP-headers. wget er et alternativ for nedlasting: wget https://eksempel.no/fil.zip.

ssh (Secure Shell) kobler til fjernservere: ssh bruker@server.no. ssh -i ~/.ssh/min_nøkkel.pem ubuntu@ec2-ip for AWS EC2. scp kopierer filer over SSH: scp lokal_fil.txt bruker@server:/ekstern/sti/ og scp -r mappe/ bruker@server:/ekstern/sti/ for mapper. rsync er bedre for synkronisering: rsync -avz lokal/ bruker@server:/ekstern/ synkroniserer og overfører bare endringer.

ping sjekker om en host er tilgjengelig: ping google.com. traceroute viser ruten pakker tar til destinasjonen. netstat -tulpn eller ss -tulpn viser åpne porter. nmap scanner porter: nmap localhost viser alle åpne porter lokalt. dig og nslookup slår opp DNS: dig google.com A.

Pipe (|)Sender output fra én kommando til neste — grunnleggende Unix-filosofi
Redirect (>)Omdirigerer output til fil: kommando > fil.txt (overskriver)
Append (>>)Legger til i fil: kommando >> logg.txt
Stdin redirect (<)Les fra fil: sort < usortert.txt
&&Kjør neste kommando kun hvis forrige lyktes
||Kjør neste kommando kun hvis forrige feilet
;Kjør begge uavhengig av resultat
Subshell $(...)Bruk output av kommando: echo "Dato: $(date)"

Filrettigheter, brukere og tillatelser

chmod endrer filrettigheter. Rettigheter beskrives som rwxrwxrwx (eier, gruppe, alle andre). chmod 755 fil.sh — 7=rwx, 5=r-x: eier har full tilgang, andre kan lese og kjøre. chmod +x script.sh gjør en fil kjørbar. Numerisk: 4=les, 2=skriv, 1=kjør. 777 er full tilgang for alle — bruk aldri 777 i produksjon.

chown endrer eier: chown www-data:www-data /var/www/html/ endrer eier til www-data. sudo kjører en kommando som superbruker: sudo apt update. su bytter bruker: su - postgres logger inn som postgres-brukeren. whoami viser nåværende bruker. id viser bruker-ID og gruppe-ID.

df -h viser diskbruk (human-readable). du -sh mappe/ viser størrelse på mappe. free -m viser RAM-bruk. uname -a viser systeminformasjon (kjerneversjon, arkitektur). lscpu viser CPU-informasjon. env viser miljøvariabler. export VAR=verdi setter en miljøvariabel. Legg til i ~/.bashrc eller ~/.zshrc for permanent effekt.

Produktivitetstips — bli superbruker i terminalen

History og søk: history viser de siste 1000 kommandoene. Ctrl+R søker bakover i historikken — trykk Ctrl+R og skriv del av en tidligere kommando. !! gjentar forrige kommando. !ssh gjentar siste kommando som starter med "ssh". Lagre kompliserte kommandoer som aliases i ~/.bashrc: alias ll="ls -la" og alias gs="git status".

Tmux og screen lar deg ha multiple terminalseksjoner og la programmer kjøre etter at du logger ut. tmux new -s prosjekt starter en navngitt sesjon. Ctrl+b, d detacher (logger ut) fra sesjonen — den kjører videre i bakgrunnen. tmux attach -t prosjekt kobler til igjen. zsh med Oh My Zsh og Powerlevel10k-tema gir enormt forbedret terminal med git-status, autocompletjon og syntaksfarging.

xargs leser input og bruker det som argumenter: find . -name "*.log" | xargs rm fjerner alle logg-filer. tee skriver output til både terminal og fil: kommando | tee utdata.txt. jq er et kraftig verktøy for JSON-parsing i terminalen: curl api.example.com/data | jq ".data[].navn" skriver ut navnfeltet fra alle objekter i listen. For norske utviklere som jobber med Azure/AWS/GCP er CLI-verktøyene az, aws og gcloud uunnværlige og fungerer sømløst i terminalen.

"Terminal-ferdigheter er som å lære å skrive berøringsskrift — det krever investering, men gir deg deretter en enorm hastighetsfordel resten av karrieren."

— Systemadministrator med 20 år erfaring, Universitetet i Oslo
Annonse

Ofte stilte spørsmål

Hva handler «Linux terminal — de 40 viktigste kommandoene alle utviklere bør kunne» om?

De 40 viktigste Linux-terminalkommandoene for utviklere: navigasjon, filer, prosesser, nettverk, tekst og systemadministrasjon med praktiske eksempler.

Hva bør du vite om navigasjon og filsystem — de fundamentale kommandoene?

pwd (Print Working Directory) — viser nåværende mappe. ls — lister filer og mapper. Nyttige flagg: ls -la (vis alle inkl. skjulte, langt format med rettigheter og størrelse), ls -lh (lesbar filstørrelse som KB/MB). cd (Change Directory) — bytt mappe. cd ~ (hjemmemappen), cd .. (opp ett nivå), cd - (forrige mappe — svært nyttig). Bruk Tab for autocompletjon av mappernavn.

Hva bør du vite om tekst og filoperasjoner — behandle innhold effektivt?

cat viser innholdet i en fil: cat fil.txt. less paginerer innhold (bla med piler, q for å avslutte) — bedre enn cat for store filer. head -20 fil.txt viser de første 20 linjene. tail -50 fil.txt viser de siste 50 linjene. tail -f logg.txt følger en loggfil i sanntid — uunnværlig for feilsøking på servere.

Hva bør du vite om prosessadministrasjon — kontroller kjørende programmer?

ps viser kjørende prosesser. ps aux gir full liste med bruker, CPU og minnebruk for alle prosesser. top er et interaktivt prosessovervåkingsverktøy — oppdateres kontinuerlig. htop er en bedre versjon med farger og enklere grensesnitt (installer med apt install htop eller brew install htop).

Hva bør du vite om nettverkskommandoer — diagnostisering og kommunikasjon?

curl henter innhold fra URL-er: curl https://api.example.com/data. Med flagg: curl -X POST -H "Content-Type: application/json" -d '{"nøkkel": "verdi"}' https://api.example.com/endpoint. curl -o fil.txt url laster ned til fil. curl -I url viser bare HTTP-headers. wget er et alternativ for nedlasting: wget https://eksempel.no/fil.zip.

Hva bør du vite om filrettigheter, brukere og tillatelser?

chmod endrer filrettigheter. Rettigheter beskrives som rwxrwxrwx (eier, gruppe, alle andre). chmod 755 fil.sh — 7=rwx, 5=r-x: eier har full tilgang, andre kan lese og kjøre. chmod +x script.sh gjør en fil kjørbar. Numerisk: 4=les, 2=skriv, 1=kjør. 777 er full tilgang for alle — bruk aldri 777 i produksjon.

Norsk Næring
Skrevet avNorsk NæringRedaksjon

Norsk Næring er en del av redaksjonen i Norsk Næring og dekker teknologi & innovasjon. Redaksjonen kvalitetssikrer alt innhold mot oppdaterte og pålitelige kilder.

Redaksjonell merknad: Dette innholdet er utarbeidet av Norsk Næring med hjelp av kunstig intelligens og kvalitetssikret av redaksjonen. Informasjonen er ment som generell veiledning og erstatter ikke profesjonell rådgivning. Feil eller unøyaktigheter? Kontakt oss på help@norsknæring.no.