Praktiske oppgaver for å bli kjent med terminalen
Ved hver oppgave vil du finne følgende boks:
I boksen er det instruksjoner på hva du skal skrive eller lagre i et tekstdokument for å vise at du har gjennomført oppgaven. Bruk gjerne en enkel .txt fil, og du kan godt lagre svar på alle oppgavene i samme fil.
Hvis du jobber med Linux på en virtuell maskin, anbefales det å logge inn gjennom ssh, da det vil gi en noe bedre brukeropplevelse sammenlignet med å jobbe i vinduet til VirtualBox. Følg instruksjonene her. Du kan også gjerne bruke nøkkelpar som vist her.
Del 2.1: Grunnleggende navigering og filhåndtering
Oppgaver relatert til 2.1 - Filbaner og navigering
Oppgave 1.1: Utforsk systemet
- Åpne terminalen
- Finn ut hvilken mappe du er i
- List innholdet i mappen
- List innholdet med detaljert visning
- Hvilke forskjeller ser du mellom vanlig og detaljert visning?
Lagre utskrift av detaljert visning av mappeinnholdet i en fil, enten ved å markere og kopiere fra terminalvinduet, eller ved å bruke >
(Se Inndata, utdata og kjeding)
Oppgave 1.2: Navigering
- Gå til hjemmemappen din
- Gå til rotmappen
- Gå tilbake til hjemmemappen
- Gå opp én mappe
- Gå tilbake til forrige mappe du var i
Skriv opp kommandoene du brukte for hvert av punktene over.
Oppgave 1.3: Mappestruktur
- Lag en ny mappe som heter "terminal_oppgaver"
- Gå inn i den nye mappen
- Lag tre undermapper: "dokumenter", "bilder" og "backup"
- List innholdet for å verifisere at mappene ble opprettet
- Gå inn i "dokumenter", deretter tilbake til "terminal_oppgaver"
Skriv opp kommando du brukte for å lage mappene. Lagre utskrift av mappeinnholdet i tekstfilen din.
Del 2.2: Filoperasjoner
Oppgave 2.1: Opprette filer
- Lag en ny fil "notater.txt" i "dokumenter" mappen du laget i oppgave 1.3.
- Lag en kopi av filen, velg navn på ny fil selv.
- Omdøp den nye filkopien, velg navn selv.
- List opp innholdet i mappen "dokumenter"
Skriv opp kommando du brukte for å lage ny fil, kopiere og omdøpe den. Lagre utskrift av mappeinnholdet i tekstfilen din.
Oppgave 2.2: Kopiere og flytte
- Kopier "notater.txt" til "backup"-mappen
- Lag en ny fil som heter "temp.txt" i "dokumenter"
- Flytt "temp.txt" til "bilder"-mappen
- Prøv å liste innholdet i alle tre mappene for å verifisere hvor filene er
Skriv ned kommandoene du brukte for å kopiere og flytte filer.
Oppgave 2.3: Filnavn og sletting
Sjekk ut notatet om filoperasjoner
- Omdøp "temp.txt" til "flyttet.txt"
- Lag en ny fil med mellomrom i navnet: "min fil.txt" - hva må du passe på her?
- List opp filene i mappen, legg merke til hvordan filen med mellomrom ser ut.
- Slett "flyttet.txt"
- Verifiser at filen er borte
Skriv ned kommandoer du brukte for å omdøpe fil, lage ny fil og slette fil.
Del 3: Tekstbehandling og søk
Oppgave 3.1: Opprette og vise tekstfiler
- Gå til "dokumenter"-mappen
- Lag en ny fil som heter "notater.txt"
- Åpne filen i
nano
og skriv minst 15 linjer tekst (det kan være korte linjer med ett ord) - Lagre og avslutt
- Vis innholdet i filen med
cat
- Vis innhold fra filen med
tail
oghead
- Vis innholdet med
less
- Hva er forskjellen på disse?
- Lagre kopi av utskrift fra
tail
i tekstdokumentet. - Skriv kort om forskjellen på
cat
,tail
oghead
. - Skriv også ned hvordan du lagret og lukket tekstfilen i
nano
- Hvordan navigerte du i og lukket filen når du åpnet den i
less
?
Oppgave 3.2: Navigere i tekst
- Åpne filen fra forrige oppgave i
less
og brukless
til å:- Søke etter et ord i teksten
- Gå til slutten av filen
- Gå tilbake til starten
- Gå til en spesifikk linje
Skriv ned snarveiene (tastetrykk) du brukte i 2.
Oppgave 3.3: Navigere i man-side
Her brukes mange av de samme snarveiene som i less
. Se sidene
Navigere i tekst og
om manualen.
Del 4: Tar du utfordringen?
Oppgave 4.1: Mappeorganisering
Notatet om filoperasjoner er nyttig for å løse denne.
- Lag følgende mappestruktur:
prosjekt/
├── kode/
│ ├── python/
│ └── javascript/
├── data/
│ ├── input/
│ └── output/
└── dokumentasjon/ - Opprett en README.txt i hver mappe
- Naviger mellom mappene på ulike måter (absolutte og relative stier)
Skriv ned kommandoer for 5 ulike navigeringer i filstrukturen, der du både bruker relative og absolutte filbaner/stier.
Oppgave 4.2: Filoperasjoner med vilkår
- Lag flere filer med ulike filendelser (.txt, .md, .py)
- List kun filer med en bestemt filendelse
- Kopier alle tekstfiler til en backup-mappe
- Finn den største filen i mappehierarkiet
tips
- Denne løses med en kommando, med riktige opsjoner, men det kan være vanskelig å finne dem.
- Prøv å lete i man-siden til
ls
Skriv ned kommandoene du brukte for å liste bestemte filer og kopiere bare tekstfiler. Skriv ned kommando for å finne største fil i mappehierarkiet, hvis du har funnet den.
Oppgave 4.3: Systemutforskning
Sjekk ut tabellen med kommandoer nederst.
- Finn ut:
- Hvem du er logget inn som
- Hvilken versjon av operativsystemet du bruker
- Hvor mye diskplass som er tilgjengelig
- Hvilke prosesser som kjører
Skriv ned kommandoene du brukte.
Oppgave 4.4: Filinnhold
Lag en kopi av man-siden til bash
med man bash > man_bash.txt
- Vis de første 5 linjene av filen
- Vis de siste 10 linjene
- Tell antall linjer i filen
- Finn alle forekomster av et bestemt ord
- Tell antall ord i filen
Skriv ned kommandoer du brukte for å løse hver av oppgavene.
Oppgave 4.5: Søk i tekst med wildcards
Bruk grep grep
med passende opsjoner for å løse oppgavene
Bruk filen fra forrige oppgave.
- Finn alle linjer som inneholder ordet "PATH"
- Finn linjer som inneholder enten "alias eller "Alias"
- Tell hvor mange ganger "shell" forekommer
- Finn alle linjer som starter med "SHELL"
- Finn linjer med ord som starter med bokstaven "c" og slutter på "bility"
- Kommandoene du brukte for hvert søk
- Antall treff du fant
- Eventuelle utfordringer du møtte på
Tips for å løse oppgavene
- Bruk
man
eller--help
hvis du står fast - Prøv å bruke Tab-completion når du skriver filnavn
- Husk at terminalen skiller mellom store og små bokstaver
- Skriv ned kommandoene du lærer for senere referanse
- Hvis noe ikke fungerer, les feilmeldingen nøye
Oversikt over relevante kommandoer
Kommando | Eksempel | Forklaring |
---|---|---|
pwd | pwd | Print Working Directory - viser hvor du er |
cd | cd Documents | Change Directory - bytter mappe |
ls | ls | List - viser innhold i mappen |
ls -l | ls -l | List long - detaljert visning med rettigheter og størrelse |
mkdir | mkdir prosjekt | Make Directory - lager ny mappe |
mkdir -p | mkdir -p a/b/c | Lager hele mappestien hvis den ikke finnes |
touch | touch fil.txt | Lager ny tom fil eller oppdaterer tidsstempel |
cp | cp fil.txt kopi.txt | Copy - kopierer fil |
mv | mv gammel.txt ny.txt | Move - flytter eller omdøper fil |
rm | rm fil.txt | Remove - sletter fil (permanent!) |
rm -r | rm -r mappe | Recursive remove - sletter mappe og innhold |
rmdir | rmdir tomMappe | Remove Directory - sletter tom mappe |
cat | cat fil.txt | Concatenate - viser innhold av fil |
head | head fil.txt | Viser 10 første linjer |
head -n | head -n 5 fil.txt | Viser 5 første linjer (default 10) |
tail | tail fil.txt | Viser siste linjer (default 10) |
wc | wc fil.txt | Word Count - teller linjer, ord og tegn |
grep | grep "ord" fil.txt | Søker etter tekst i fil |
less | less fil.txt | Viser innhold side for side |
nano | nano fil.txt | Enkel tekstbehandler |
man | man ls | Manual - viser hjelpeside for kommando |
date | date | Viser dato og tid |
whoami | whoami | Viser innlogget brukernavn |
df | df | Disk Free - viser diskplass |
df -h | df -h | Viser diskplass i lesbart format (GB/MB) |
free | free | Viser minnebruk |
top | top | Viser kjørende prosesser og systemstatus |
Husk at disse kommandoene kan ha flere nyttige opsjoner - utforsk dem med man
!