PS Digit.com

Terminal-vinduet i Linux

Innholdet

Det meste på en datamaskin kan fikses og effektivt ordnes via det grafiske brukergrensesnittet (GUI), med vinduer, ikoner og menyer.

Men det kan av og til være vel så effektivt, og av og til helt nødvendig, å kjenne til kommandolinje-grensesnittet. Det er et tekstbasert grensesnitt der brukeren skriver inn kommandoer for å få datamaskinen til å utføre spesifikke oppgaver.

Det finnes flere måter å utføre en og samme ting, og selvsagt mange flere kommandoer enn det du finner her.

Terminal-vinduet i Linux er om kommandolinje-grensesnittet som brukes i Linux-distribusjoner for å samhandle med operativsystemet.

Med terminalvinduet kan en bl.a. kjøre shell-kommandoer, skrive skript og administrere systemet. Det finnes flere terminaltyper (som Bash, Zsh), som kan tilpasses med plugins og temaer.

Terminal / Kommandovinduet

(Terminal) Starte

For å åpne kommandovinduet (Terminal) i Linux, tilsvarende CMD i Microsofts Ledetekst (DOS-vinduet)

1. Skriv terminal i søkefeltet.
2. Trykk på Enter-tasten

(Terminal) Oversikt

Følgende kommandoer gir deg oversikt over hvilke kommandoer du kan bruke, hvilke parametere de har og hvordan du eventuelt også kan bruk flere kommandoer på en gang.
Kjøre kommandoer som privilegert superbruker (SuperUser)
sudo kommandoen
Avbryte en kjørende lang prosess i terminalen

Trykk på CTRL-tasten + C

Liste opp innebygde kommandoer
help
Liste opp tilgjengelige opsjoner tilhørende en innebygd kommando, eksempelvis kommandoen help
help --help
help: help [-dms] [pattern ...]
    Display information about builtin commands.
    
    Displays brief summaries of builtin commands.  If PATTERN is
    specified, gives detailed help on all commands matching PATTERN,
    otherwise the list of help topics is printed.
    
    Options:
      -d	output short description for each topic
      -m	display usage in pseudo-manpage format
      -s	output only a short usage synopsis for each topic matching
    		PATTERN
    
    Arguments:
      PATTERN	Pattern specifiying a help topic
    
    Exit Status:
    Returns success unless PATTERN is not found or an invalid option is given.
Liste opp alle kommandoer sammen med en kort beskrivelse

Alternativ #01:

apropos .

Alternativ #02:

man -k .
Liste opp alle kommandoer som begynner på en bokstav eller flere, eksempelvis som begynner på fi
compgen -c | grep "^fi"
Liste opp alle kommandoer som innehar en gitt bokstavrekke, enten i kommandonavnet eller i beskrivelsen, eksempelvis xm
apropos xm
Vise en kort beskrivelse av en bestemt kommando
whatis kommandoen
Åpne manualen for en bestemt kommando. Dette starter en visning. Tast Q (quit) for å avslutte visningen
man kommandoen
Mange kommandoer understøtter også følgende for å vise info og liste opp mulige argumenter og bruk

Alternativ #01:

kommandoen --help

Alternativ #02:

info kommandoen
Hente frem tidligere brukte kommandoer

Trykk Pil opp-tasten for å hente frem forrige inntastede kommando.

Trykk Pil ned-tasten for å hente frem neste inntastede kommando.

Liste opp alle tidligere skrevne kommandoer
history
Liste opp de 5 siste kommandoer som er blitt skrevet inn
history 5
Liste opp de 20 første kommandoer som er blitt skrevet inn
history | head -n 20
Liste opp kommandoer som er blitt brukt med et angitt ord
history | grep søkeordet

Eksempel:

history | grep mount
Tømme skjermen og fortsette som en ny sesjon, med historikken intakt
clear
Kjøre flere kommandoer sekvensielt, uavhengig av om den forrige kommandoen feiler, med semikolon
kommando01; kommando02; kommando03

Eksempel:

echo "Hei Verden" > fil.txt; echo "Fil opprettet: fil.txt"; cat fil.txt; echo "Fil innhold vist"; rm fil.txt; echo "Fil slettet: fil.txt"
Hei Verden
Fil innhold vist
Fil slettet: fil.txt
Kjøre flere kommandoer sekvensielt, bare hvis den første lykkes, med dobbel ampersand
kommando01 && kommando02 && kommando03

Eksempel:

echo "Dette er en test" > testfil.txt && echo "Fil opprettet: testfil.txt" && cat testfil.txt && echo "Innhold vist" && rm testfil.txt && echo "Fil slettet: testfil.txt"
Fil opprettet: testfil.txt
Dette er en test
Innhold vist
Fil slettet: testfil.txt
Kjøre en kommando i bakgrunnen og fortsette med terminalen, med enkelt ampersand
kommandoen &
Sende utdata fra en kommando som inndata til den neste, med pipe
kommando01 | kommando02

Eksempel:

ls | grep ".pdf"
Diverse.pdf
Innhold.pdf
Skrevet.pdf
Kopiere resultatet av en kjørt kommando til utklippstavlen, eksempelvis ls -d */
ls -d */ | xclip -selection clipboard

Dersom xclip ikke er installert, kan du installere programmet slik:

sudo apt install xclip

Resultatet kan deretter limes inn i eksempelvis Libre Office Writer, med CTRL + V.

Hvordan få frem TILDE-symbolet (~) når en skriver i Linux-terminalen

1. Trykk [AltGr] + [Tilde]-tasten, 2 ganger.

2. Slett så det ekstra tilde-symbolet som da kommer frem.

DISKER

For at du skal kunne se og arbeide med filer på en disk, må den være digitalt montert.

Dersom det er en ekstra fysisk disk montert i maskinen og en ikke får listet opp eller kommet til innholdet, så må den først monteres.

En generell regel er å unngå avmontering av interne disker, med mindre det er en spesifikk grunn til å gjøre det, for å ikke risikere uhell eller datatap. Hvis maskinen slås av uten å avmontere, vil ingen data gå tapt så lenge det ikke er pågående skriveoperasjoner til disken.

Ikke avmonter hoved-disken med operativsystemet! Dette kan føre til systemfeil, tap av data og alvorlige problemer!

På den annen side bør en avmontere USB-enheter før de skal kobles fra, for å unngå datatap eller filsystemskader.

(Disker) Mounte ekstradisk

Step-by-step

Denne trinn-for-trinn oppskriften kan benyttes som en mal for tilgang til interne ekstradisker.

NB! Husk å endre brukernavnet, disknavnet og partisjonsnummeret til det du får opplistet underveis på din maskin!

1. Liste opp disker tilkoblet i systemet
lsblk -o NAME,LABEL,SIZE,MOUNTPOINT,TYPE | grep -E "disk|part"
sda              238,5G                              disk
└─sda1           238,5G /                            part
sdb              298,1G                              disk
└─sdb1 DATAPART1 298,1G                              part
2. Liste opp diskmodellene, for å sikre riktig bruk videre i prosessen
lsblk -o NAME,MODEL | grep -E 'sda|sdb'
sda    ADATA_SSD_SP900
└─sda1
sdb    ST320LT007-9ZV14
└─sdb1
3. Liste opp brukerens brukernavn, for å sikre riktig bruk videre i prosessen
whoami
petrus
4. Opprett en monteringsmappe for ekstradiskens partisjon. Dersom du får melding om at den allerede finnes, gå til neste punkt
sudo mkdir /media/petrus/DATAPART1
5. Monter partisjonen, som i dette tilfellet er for disknavnet DATAPART1
sudo mount /dev/sdb1 /media/petrus/DATAPART1
6. Gjenta opplistingen av diskene og se om disken DATAPART1 har blitt tildelt full sti tilknyttet brukernavnet
lsblk -o NAME,LABEL,SIZE,MOUNTPOINT,TYPE | grep -E "disk|part"
sda              238,5G                              disk
└─sda1           238,5G /                            part
sdb              298,1G                              disk
└─sdb1 DATAPART1 298,1G /media/petrus/DATAPART1      part
7. Nå kan du jobbe på disken.

Du kan teste ut opplisting av innholdet på hoved-disken, den med operativsystemet og hoved-oppsettet, som egentlig har vært mulig hele veien:

ls /

Og du kan teste ut opplisting av innholdet på den nå tilgjengelige ekstradisken:

ls /media/petrus/DATAPART1

(Disker) Mounte USB-enhet

Step-by-step

Vanligvis skal ikke dette være nødvendig, men dersom du ikke får kontakt via terminalen kan dette forsøkes.

Denne trinn-for-trinn oppskriften kan benyttes som en mal for tilgang til USB-disker og minnepenner.

NB! Husk å endre brukernavnet, disknavnet og partisjonsnummeret til det du får opplistet underveis på din maskin!

1. Liste opp disker tilkoblet i systemet
lsblk -o NAME,LABEL,SIZE,MOUNTPOINT,TYPE | grep -E "disk|part"
sda              238,5G                              disk
└─sda1           238,5G /                            part
sdb              298,1G                              disk
└─sdb1 DATAPART1 298,1G                              part
sdg               57,8G                              disk
└─sdg1            57,8G /media/petrus/57ED-C9DC      part
2. Liste opp diskmodellene, for å sikre riktig bruk videre i prosessen
lsblk -o NAME,MODEL | grep -E 'sda|sdb|sdg'
sda    ADATA_SSD_SP900
└─sda1
sdb    ST320LT007-9ZV14
└─sdb1
sdg    DataTraveler_3.0
└─sdg1
3. Liste opp brukerens brukernavn, for å sikre riktig bruk videre i prosessen
whoami
petrus
4. Opprett en monteringsmappe for ekstradiskens partisjon. Dersom du får melding om at den allerede finnes, gå til neste punkt
sudo mkdir /media/petrus/57ED-C9DC
5. Monter partisjonen, som i dette tilfellet er for sdg1
sudo mount /dev/sdg1 /media/petrus/57ED-C9DC
6. Gjenta opplistingen av diskene og se om sdg1 har blitt tildelt full sti tilknyttet brukernavnet
lsblk -o NAME,LABEL,SIZE,MOUNTPOINT,TYPE | grep -E "disk|part"
sda              238,5G                              disk
└─sda1           238,5G /                            part
sdb              298,1G                              disk
└─sdb1 DATAPART1 298,1G                              part
sdg               57,8G                              disk
└─sdg1            57,8G /media/bruker/57ED-C9DC      part
7. Nå kan du jobbe på disken.

Du kan teste ut opplisting av innholdet på hoved-disken, den med operativsystemet og hoved-oppsettet, som egentlig har vært mulig hele veien:

ls /

Og du kan teste ut opplisting av innholdet på den nå tilgjengelige ekstradisken:

ls /media/petrus/57ED-C9DC
8. Når ferdig, kjør en umount før den tas fysisk ut av maskinen igjen:
sudo umount /media/petrus/57ED-C9DC

HIERARKIET

Navn på mapper og filer

Husk at fil- og mappenavn i Linux er case-sensitive (skiller mellom store og små bokstaver).

(Hierarkiet) Navigering

Gå opp ett stepp i hierarkiet
cd ..
Gå til rotmappen, toppen av hierarkiet
cd /
Gå inn i en mappe
cd mappenavnet

Eksempelvis:

cd sys
Gå inn i en lengre sti av mapper
cd /sti/til/min/mappe

Eksempelvis:

cd /var/log/apt
Gå direkte til brukerens hjemmemappe, uavhengig av hvor en står i hierarkiet
cd ~
Gå direkte til brukerens mappe Documents, uavhengig av hvor en står i hierarkiet
cd ~/Documents
Gå direkte til en undermappe av Documents, med navn som har mellomrom, uavhengig av hvor en står i hierarkiet
cd ~/Documents/"Min Mappe"

(Hierarkiet) Miljøvariabler (Environment variables)

Liste opp alle miljøvariablene
printenv
Se stien til brukerens hjemmemappe
echo $HOME
/home/petrus
Gå til brukerens hjemmemappe
cd $HOME
Vise nåværende posisjon i hierarkiet, med full sti
echo $PWD

MAPPER

Navn på mapper og filer

Husk at mappenavn og filnavn i Linux er case-sensitive (skiller mellom store og små bokstaver).

(Mapper) Liste opp

Liste opp innholdet i mappen der en står

Alternativ #01:

ls

Alternativ #02:

find . -maxdepth 1 -not -path '*/.*' -print0 | sort -z | xargs -0 echo
Liste opp hele innholdet i mappen der en står, inkludert skjult mapper og filer

Alternativ #01:

ls -a

Alternativ #02:

find . -maxdepth 1 -not -path '*/.*' -print
Liste opp innholdet i mappen der en står, og legge til en skråstrek (/) etter mappenavn
ls -F
Liste opp innholdet i mappen der en står, med utvidet informasjon i listeform
ls -l
Liste opp innholdet i mappen med tilhørende undermapper, og sende resultatet til en TXT-fil
ls -R > ~/Documents/innholdet_ls.txt
Liste opp mapper fra der en står, kun mappenavn

Alternativ #01:

ls -d */

Alternativ #02:

find . -maxdepth 1 -type d -not -name '.' -not -name '.*' -print | sort
Liste opp kun skjulte mapper fra der en står

Alternativ #01:

ls -d .*/

Alternativ #02:

find . -maxdepth 1 -type d -name '.*' -print | sort
Liste opp kun mapper der en står, med tilhørende undermapper (også skjulte)
find . -type d
Liste opp kun mapper i angitt mappe, med tilhørende undermapper (også skjulte)
find /sti/til/mappen -type d

Eksempelvis:

find ~ -type d
find /sys/fs -type d
Liste opp kun mapper der en står, med tilhørende undermapper (ikke skjulte)
find . -type d -not -path '*/.*'
Liste opp kun mapper i angitt mappe, med tilhørende undermapper (ikke skjulte)
find /sti/til/mappen -type d -not -path '*/.*'

Eksempelvis:

find ~/Documents -type d -not -path '*/.*'
find /etc/skel -type d -not -path '*/.*'
Liste opp kun mapper (ikke skjulte) i den nåværende katalogen (der en står)
find . -maxdepth 1 -type d -not -path '*/.*'

Katalogstrukturen (nivå 1):

/home/petrus/Documents
├── mappe_01a
├── mappe_01b
├── mappe_01c
└── mappe_01d
Liste opp kun mapper (ikke skjulte) i den nåværende katalogen og ett nivå ned (i undermapper)
find . -maxdepth 2 -type d -not -path '*/.*'

Katalogstrukturen (nivå 2):

/home/petrus/Documents
├── mappe_01a
│   ├── mappe_02a
│   └── mappe_02b
├── mappe_01b
│   └── mappe_02a
├── mappe_01c
└── mappe_01d
Liste opp kun mapper (ikke skjulte) fra den nåværende katalogen og ned til tredje nivå (til nivå 3)
find . -maxdepth 3 -type d -not -path '*/.*'

Katalogstrukturen (nivå 3):

/home/petrus/Documents
├── mappe_01a
│   ├── mappe_02a
│   │   └── mappe_03a
│   ├── mappe_02b
├── mappe_01b
│   └── mappe_02a
│       ├── mappe_03a
│       ├── mappe_03b
│       └── mappe_03c
├── mappe_01c
└── mappe_01d
Liste opp kun mapper (ikke skjulte) fra den nåværende katalogen og ned til tredje nivå, men kun de som starter på bokstaven D (liten og stor)
find . -maxdepth 3 -type d -iname 'd*' -not -path '*/.*'
./Downloads
./Videos/Denne_er_tom
./Documents
./Desktop
./Pictures/Ferier/denne_er_for_test

(Mapper) Grafisk visning

Vis fra der en står, alle mapper og filer, ikke skjulte
tree
Vis fra der en står, alle mapper og filer, også skjulte
tree -a
Vis fra der en står og alle dennes undermapper
tree -d
Vis alle mapper der en står (på nivå 1)
tree -d -L 1

Katalogstrukturen (nivå 1):

/fra/din/posisjon
└── mappe_01
.
.
. og så videre
Vis alle mapper fra der en står og deres mapper (nivå 2)
tree -d -L 2

Katalogstrukturen (nivå 2):

/fra/din/posisjon
└── mappe_01
    └── mappe_02
.
.
. og så videre

Eksempelvis 2 nivå inn, stående i /home-katalogen:

/home
.
├── bruker1
│   ├── Desktop
│   ├── Documents
│   ├── Downloads
│   ├── Music
│   ├── Pictures
│   ├── Public
│   ├── snap
│   ├── Templates
│   └── Videos
└── bruker2
    ├── Desktop
    ├── Documents
    ├── Downloads
    └── Templates
Vis fra der en står, i tre nivåer, alle mapper (nivå 3)
tree -d -L 3

Katalogstrukturen (nivå 3):

/fra/din/posisjon
└── mappe_01
    └── mappe_02
        └── mappe_03
.
.
. og så videre

(Mapper) Opprette

Opprette en ny mappe der en står
mkdir navnet_på_mappen

Eksempler:

mkdir Samlingen
mkdir "Gamle skisser"
Opprette flere nye mapper samtidig, der en står
mkdir mappe1 mappe2 mappe3

Eksempler:

mkdir Biler Busser Tog
mkdir MinMappe Minmappe minmappe
Opprette ny mappe med en undermappe, der en står
mkdir -p ny_mappe/undermappe

Eksempler:

mkdir -p Prosjekter/0001
mkdir -p Feriebilder/Norgesturer

(Mapper) Endre navn

Endre navn på en mappe, der en står
mv gammelt_navn nytt_navn

Eksempler:

mv Prosjekt Prosjektkopi
mv "Sopp i skog" Skogssopp
Gjøre en mappe usynlig, der en står
mv mappenavnet .mappenavnet

Eksempler:

mv Sikkerhet .Sikkerhet
mv "Min hemmelige mappe" ".Min hemmelige mappe"

(Mapper) Kopiere

Kopiere en mappe, der en står
cp -r kilde_mappe destinasjon_mappe

Eksempler:

cp -r Prosjekt Prosjektkopi
cp -r Prosjekt "Gamle prosjekter"
Kopiere en mappe, til en minnepenn
cp -r /sti/til/mappe /sti/til/navn_på_minnepenn/

Eksempler:

cp -r ~/Documents/prosjekt /media/petrus/KINGSTON/
cp -r ~/Pictures/ /media/petrus/USB Disk/
Kopiere en mappe, fra en minnepenn
cp -r /sti/til/navn_på_minnepenn/sti/til/mappe /sti/til/mappe

Eksempler:

cp -r /media/petrus/SanDisk/X-Files ~/Documents/"OLD Files"
cp -r /media/petrus/Corsair/Sommerturen ~/Videos 

(Mapper) Flytte

Flytte en mappe
cp -r kilde_mappe destinasjon_mappe

Eksempler:

cp -r ~/Downloads/Prosjekt /home/petrus/Desktop/
cp -r ~/Documents/"OLD Files" ~/Documents/X-Files

(Mapper) Slette

Slette en mappe
rm -r mappenavn

FILER

Navn på mapper og filer

Husk at mappenavn og filnavn i Linux er case-sensitive (skiller mellom store og små bokstaver).

(Filer) Liste opp

Liste opp innholdet i mappen der en står
ls
Liste opp alle filer i mappen der en står, kun filnavn
ls -p | grep -v /
Liste opp kun skjulte filer der en står
ls -d .*
Liste opp tomme filer
find ~ -type f -empty
Liste opp alle filer (inkludert skjulte) i mappen der en står, i tabellform, sortert etter dato
ls -la --sort=time | grep -v '^d' | awk '{print $9, $6, $7, $8}' | column -t
Liste opp alle filer (inkludert skjulte) i mappen der en står, i tabellform, sortert etter størrelse
ls -la --sort=size | grep -v '^d' | awk '{print $9, $5}' | column -t
Liste opp alle filer (inkludert skjulte) i mappen der en står, sortert etter filtype, og kun filnavn
ls -p | grep -v / | awk -F. '{if (NF>1) print $NF, $0; else print "noext", $0;}' | sort | awk '{print $2}'
Liste opp alle TXT-filer i mappen der en står, kun filnavn
ls -p *.txt | grep -v /
Liste opp alle filer, inkludert skjulte og i alle undermappene fra der en står, og sende resultatet til en TXT-fil
ls -laR > /home/bruker/Documents/filoversikt.txt
Liste opp alle MP3-filer i mappen og undermappene, presentert i angitt TXT-fil med katalog først, sortert numerisk
find . -type f -name "*.mp3" ! -path '*/.*' 2>/dev/null | sort -V | awk -F/ '
{
    dir = $0;
    sub("/[^/]*$", "", dir);
    if (dir != prev) {
        if (prev != "") print ""; # Skriver ut en tom linje før ny mappe
        print dir; # Skriv ut mappenavnet
        prev = dir; # Oppdaterer forrige mappe
        count = 0;  # Resetter tellingen for hver ny mappe
    }
    count++; # Øker tellingen for hver fil
    # Skriv ut filnavnet uten ekstra mellomrom
    printf("%02d. %s\n", count, $NF); 
}' > /home/brukernavn/Documents/mp3-filer.txt
Liste opp alle TXT-filer i mappen og undermappene, presentert i angitt TXT-fil med katalog først, sortert kronologisk
find . -type f -name "*.txt" ! -path '*/.*' 2>/dev/null | sort -V | awk -F/ '
{
    dir = $0;
    sub("/[^/]*$", "", dir);
    if (dir != prev) {
        if (prev != "") print ""; # Skriver ut en tom linje før ny mappe
        print dir; # Skriv ut mappenavnet
        prev = dir; # Oppdaterer forrige mappe
    }
    # Skriv ut filnavnet uten ekstra mellomrom
    print $NF; 
}' > /home/brukernavn/Documents/txt-filer.txt

(Filer) Opprette nye

Opprette en ny fil
touch filnavn

Eksempler:

touch "ProgRock mal.txt"
touch test-skript.sh

(Filer) Endre navn

Endre navn på en fil
mv gammelt_navn nytt_navn

Eksempler:

mv kladd.html index.html
mv Jazz.pdf JazzRock.pdf

(Filer) Kopiere

Kopiere til en annen mappe, en fil
cp filnavn /sti/til/mappenavn/

Eksempler:

cp Barokken.odt /Musikkhistorie/"Klassisk Musikk"/
cp Sopparter.csv ~/Dokumenter/
Kopiere til en annen mappe, alle av en bestemt filtype
cp filtype /sti/til/mappenavn/

Eksempler:

cp *.pdf ~/Documents/X-Files/"OLD Files"/
cp *.avi ~/Videos/Turer/2025-01-26/

(Filer) Flytte

Flytte til en annen mappe, en fil
mv filnavn /sti/til/mappenavn/

Eksempler:

mv Steinsopp.odt /Sopp/Spiselige/
mv Planen.csv ~/Dokumenter/
Flytte til en annen mappe, alle av en bestemt filtype
mv filtype /sti/til/mappenavn/

Eksempler:

mv *.pdf ~/Documents/Navnlister/Klubben/
mv *.ogg ~/Musikk/Konverterte/Komprimerte/

(Filer) Slette

OBS!

NB! Filer slettet med kommandoen rm kan ikke gjenopprettes! Kommandoen må brukes med forsiktighet.

Filene slettes permanent. Det er alltid lurt å dobbeltsjekke filnavnet før du sletter!

Slette en fil
rm filnavn

Eksempler:

rm "Gammel Plan.pdf"
rm Kjedelig_Sang.mp3
Slette en fil, med bekreftelse
rm -i filnavn

Eksempler:

rm -i "Prosjekt 4, Plan.pdf"
rm -i Favorittsang_02.mp3
Slette filer etter filtype
rm filtypenavn

Eksempler:

rm *.csv
rm *.gif
Slette filer etter filtype, med bekreftelse
rm -i filtypenavn

Eksempler:

rm -i *.jpg
rm -i *.mp4
Slette alle filer av angitt filtype, i stående mappe og dennes undermapper, ekskludert usynlige
find . -type f -name "*.filtype" ! -name ".*" -exec rm {} +

Eksempler:

Liste opp filene før sletting:

find . -type f -name "*.bak" ! -name ".*" -exec ls {} +

Slette filene:

find . -type f -name "*.bak" ! -name ".*" -exec rm {} +
Slette alle filer av angitt filtype, med full sti til mappen med innholdet, ekskludert usynlige
find /sti/til/mappe -type f -name "*.filtype" ! -name ".*" -exec rm {} +

Eksempler:

Liste opp filene før sletting:

find /home/petrus/Documents/Slettes01 -type f -name "*.mp3" ! -name ".*" -exec ls {} +

Slette filene:

find /home/petrus/Documents/Slettes01 -type f -name "*.mp3" ! -name ".*" -exec rm {} +
Slette alle filer av angitt filtype, med full sti til mappen med innholdet, inkl. usynlige
find /sti/til/mappe -type f -name "*.filtype" -exec rm {} +

Eksempler:

Liste opp filene før sletting:

find /home/petrus/Documents/Slettes01 -type f -name "*.txt" -exec ls {} +

Slette filene:

find /home/petrus/Documents/Slettes01 -type f -name "*.txt" -exec rm {} +

(Filer) Skjule

Gjøre en fil skjult, slik at den ikke vises i standard filvisning
mv filnavn .filnavn

Eksempel:

mv hemmelig.pdf .hemmelig.pdf
Gjøre en skjult fil synlig, slik at den vises i standard filvisning
mv .filnavn filnavn

Eksempel:

mv .ikke_hemmelig.txt ikke_hemmelig.txt

(Filer) Skrivebeskytte

Gjøre en fil skrivebeskyttet, slik at den ikke kan redigeres
chmod +r filnavn

Eksempel:

chmod +r bare_lese.odt
Fjerne skrivebeskyttelsen til en fil
chmod -r filnavn

Eksempel:

chmod -r rediger_denne.txt

INNHOLD I FILER

(Innhold) Vise

Vise innholdet i en fil
cat filnavnet
Vise innholdet i en større fil, og bla gjennom uten at alt blir liggende igjen i terminalvinduet
less filnavnet

Visningen avsluttes ved å taste Q (quit)

Vise innholdet i en større fil, de 15 første linjene
head -n 15 filnavnet
Vise innholdet i en større fil, de 15 siste linjene (ikke alltid til å stole på)
tail -n 15 filnavnet
Vise innholdet i en fil, og åpne visningen i et standardprogram relatert til filtypen
xdg-open filnavnet

Eksempelvis:

BILDER

xdg-open "Navnet på filen.gif"
xdg-open "Navnet på filen.jpg"
xdg-open "Navnet på filen.png"

DOKUMENTER

xdg-open filnavnet.csv
xdg-open filnavnet.odt
xdg-open filnavnet.pdf

MUSIKK

xdg-open "Navnet på filen.ogg"
xdg-open "Navnet på filen.mp3"
xdg-open "Navnet på filen.wav"

TEKSTFILER

xdg-open filnavnet.conf
xdg-open filnavnet.log
xdg-open filnavnet.txt

VIDEO

xdg-open "Navnet på filen.avi"
xdg-open "Navnet på filen.mov"
xdg-open "Navnet på filen.mp4"
Åpne en filutforsker i det området en står i terminalen

For GNOME-brukere, eksempelvis distribusjonene Ubuntu, Fedora eller Zorin OS:

nautilus .

For KDE-brukere, eksempelvis distribusjonene Kubuntu, openSUSE eller KDE Neon:

dolphin .

For Xfce-brukere, eksempelvis distribusjonene Xubuntu eller Manjaro med Xfce:

thunar .

For MATE-brukere, eksempelvis distribusjonene Ubuntu MATE eller Linux Mint med MATE:

caja .

For LXDE-brukere, eksempelvis distribusjonene Lubuntu eller Peppermint OS:

pcmanfm .

(Innhold) Skrive inn

Opprette en txt-fil og skrive en tekst inn i filen
echo "Dette er teksten min" > MinNyeFil.txt
Legge til tekst i en eksisterende fil
echo "Neste linje med tekst" >> MinNyeFil.txt
Opprette en txt-fil og skrive inn resultatet av en kommando til filen, eksempelvis date kommandoen
date > MinNyeFil.txt
Legge til tekst fra en kjørt kommando, eksempelvis ls, i en eksisterende fil
ls >> MinNyeFil.txt
Kjøre en kommando og sende resultatet til utklipp, eksempelvis ls kommandoen
ls | xclip -selection clipboard

Programmet xclip må være installert. Installeres slik:

sudo apt install xclip

(Innhold) Søke

Søke etter en tekstfrase i en fil
grep søkeord filnavn

Eksempel:

grep "akkurat Disse ordene" MinFil.txt
Søke etter 2 frittstående ord i en fil, skrevet som angitt
grep -w -e "ord1" -e "ord2" filnavn

Eksempel:

grep -w -e "Epler" -e "pærer" MinFil.txt
Søke etter en bestemt tekst i filer i mappen der en står, store eller små bokstaver
grep -i søkeord filtype

Eksempel:

grep -i "Epler" *.txt
Søke etter en bestemt tekst i filer i mappen der en står, store eller små bokstaver, og vise kun filnavnet
grep -i -l søkeord filtype

Eksempel:

grep -i -l "Epler" *.txt
Søke etter en bestemt tekst i filer i mappen og alle undermapper, store eller små bokstaver, og vise kun filnavnet
find . -type f -name "*.txt" -exec grep -i -l "søkeord" {} +

Eksempel:

find . -type f -name "*.txt" -exec grep -i -l "Epler" {} +
Søke etter en bestemt tekst i filer i mappen der en står, store eller små bokstaver, og sende resultatet sortert til en TXT-fil
find . -type f -name "*.txt" -exec grep -i -H "søkeord" {} + | awk -F: '
{
    sub(/^\.\//, "");
	if ($1 != prev) {if (prev) print "";
	print $1;
	prev = $1
	}
	print $2
	}' > filnavn.txt

Eksempel:

find . -type f -name "*.txt" -exec grep -i -H "Epler" {} + | awk -F: '
{
    sub(/^\.\//, "");
    if ($1 != prev) {if (prev) print "";
    print $1;
    prev = $1
    }
    print $2
}' > ~/Documents/"Epler i filene.txt"
Søke etter en bestemt tekst i filer i mappen og dennes undermapper, store eller små bokstaver, og sende resultatet sortert til en TXT-fil
find . -type f -name "*.txt" -exec grep -i -H "søkeord" {} + | awk -F: '
{
    sub(/^\.\//, "");
    if ($1 != prev) {if (prev) print "";
    print $1;
    prev = $1
} print $2}' > filnavn.txt

Eksempel:

find . -type f -name "*.txt" -exec grep -i -H "Epler" {} + | awk -F: '
{
    sub(/^\.\//, ""); 
    if ($1 != prev) {
        if (prev) print ""; 
        print $1; 
        prev = $1
    } 
    print $2
}' > ~/Documents/Eplefunn.txt
Søke etter en bestemt tekst i filer i mappen og dennes undermappe kun ett nivå ned (1 er der en står), store eller små bokstaver, og sende resultatet sortert til en TXT-fil
find . -maxdepth 2 -type f -name "*.txt" -exec grep -i -H "søkeord" {} + | awk -F: '
{    sub(/^\.\//, "");
     if ($1 != prev) {
         if (prev) print "";
         print $1;
         prev = $1
    } print $2
}' > filnavn.txt

Eksempel:

find . -maxdepth 2 -type f -name "*.txt" -exec grep -i -H "Epler" {} + | awk -F: '
{
    sub(/^\.\//, ""); 
    if ($1 != prev) {
        if (prev) print ""; 
        print $1; 
        prev = $1
    } 
    print $2
}' > ~/Documents/Eplefunn.txt

(Innhold) Sammenlikne

Sammenlikne to filer og melde om de er identiske eller ikke
if cmp -s filnavnet-01 filnavnet-02; then
    echo "Filene er identiske"
else
    echo "Filene er forskjellige"
fi

Visningen avsluttes ved å taste Q (quit)

Sammenlikne to filer og melde om de er identiske, og hvis ikke så åpnes det en visning på hva som er forskjellig
if diff filnavnet-01 filnavnet-02 > /dev/null; then
    echo "Filene er identiske"
else
    diff filnavnet-01 filnavnet-02 | less  # Viser forskjellene i 'less'
fi

Visningen avsluttes ved å taste Q (quit)

Sammenlikne filer i alle undermapper og melde dersom det finnes identiske filer, med full sti til filen
find . -type f -exec md5sum {} + | sort | uniq -w32 -dD | awk '{print $2}'
Sammenlikne mapper i alle undermapper og melde dersom det finnes identiske mapper, med full sti
find . -type d -not -path '*/.*' | awk -F/ '{print $NF}' | sort | uniq -d | while read -r name; do find . -type d -name "$name" -not -path '*/.*' -print; done

HARDWARE

(Hardware) BIOS

Liste opp samlet informasjon om BIOS på maskinen
sudo dmidecode -t bios
Vise navnet på BIOS-produsenten
sudo dmidecode -s bios-vendor

Eksempelvis #01:

Dell Inc.

Eksempelvis #02

Phoenix Technologies LTD
Vise versjonsnummeret til BIOS
sudo dmidecode -s bios-version

Eksempelvis #01:

A07

Eksempelvis #02:

V1.11
Vise utgivelsesdatoen for BIOS
sudo dmidecode -s bios-release-date

Eksempelvis #01:

11/08/2012

Eksempelvis #02:

12/23/2008

(Hardware) GRAFIKKORT / SKJERMKORT

Vise informasjon om det dedikerte grafikkortet, inkludert produsent og modell
lspci | grep -i vga
Vise informasjon om det dedikerte grafikkortet og dets konfigurasjon
inxi -G
Vise detaljert oversikt over grafikkortet, inkludert minne og driverversjoner
sudo lshw -C video
Vise informasjon om det integrerte grafikkortet
sudo dmidecode -t 10

(Hardware) HOVEDKORT

Vise produsenten av hovedkortet
sudo dmidecode -s baseboard-manufacturer

Eksempelvis #01:

Dell Inc.

Eksempelvis #02:

Acer
Vise navnet på hovedkortet
sudo dmidecode -s baseboard-product-name

Eksempelvis #01:

0Y56T3

Eksempelvis #02:

FourPeaks
Vise serienummeret til hovedkortet
sudo dmidecode -s baseboard-serial-number
Vise versjonsnummeret til hovedkortet
sudo dmidecode -s baseboard-version
Vise den unike koden som brukes til å identifisere og spore hovedkortet
sudo dmidecode -s baseboard-asset-tag

(Hardware) KABINETTET

Vise produsent av chassiset
sudo dmidecode -s chassis-manufacturer

Eksempelvis #01:

Dell Inc.

Eksempelvis #02:

Acer
Vise serienummeret til chassiset
sudo dmidecode -s chassis-serial-number
Vise type hassis
sudo dmidecode -s chassis-type

Eksempelvis #01:

Tower

Eksempelvis #02:

Notebook

(Hardware) LAGRINGSENHETER

Liste opp alle diskene, partisjonene og loopback-enhetene som er tilgjengelige i systemet
sudo lsblk -o NAME,LABEL,SIZE,MOUNTPOINT,MODEL,TYPE
Liste opp alle lagringsenheter som er tilgjengelige i systemet, unntagen loopback
sudo lsblk -o NAME,LABEL,SIZE,MOUNTPOINT,MODEL,TYPE | grep -v loop

Eksempelvis #01:

NAME   LABEL       SIZE MOUNTPOINT   MODEL            TYPE
sda              238,5G              ADATA SSD SP900  disk
└─sda1           238,5G /                             part
sdb              298,1G              ST320LT007-9ZV14 disk
└─sdb1 DATAPART1 298,1G                               part
sr0               1024M              DVD+-RW GT80N    rom

Eksempelvis #02:

NAME   LABEL     SIZE MOUNTPOINT   MODEL             TYPE
sda            149,1G              WDC WD1600BEVT-2  disk
└─sda1         147,1G /                              part
└─sdb2             1K                                part
└─sdb5           1,9G                                part
sr0             1024M              DVD RW AD-7560S   rom
Liste opp dyptgående informasjon om tilkoblede disker og spesifikasjonene til fysiske porter
sudo lshw -class disk
Liste opp en enkelt liste over diskene som er tilkoblet og tilgjengelige
ls -l /dev/disk/by-id/

(Hardware) LYDKORTET

Liste alle tilgjengelige lydkort og deres enheter
aplay -l
Vise detaljer om hvilke lydmoduler (drivere) som er lastet inn i systemet
lsmod | grep snd
Vise mer detaljert informasjon om lydkortene, inkludert produsent, modell og konfigurasjon
sudo lshw -C sound
Vise ALSA-versjonen som er installert
cat /proc/asound/version

(Hardware) MINNE

Vise detaljert informasjon om cache-minnet
sudo dmidecode -tcache
Vise oversikt over RAM-bruken og swap-minnet
free -h

(Hardware) NETTVERKSKORTET

Liste opp alle nettverkskort med deres navn og produsent
lspci | grep -i net
Liste opp detaljert informasjon om nettverksadaptere
sudo lshw -C network

(Hardware) PRINTERE

Liste opp alle skrivere og deres status
lpstat -p

(Hardware) PROSESSOR (CPU)

Vise prosessorfamilien til datamaskinens CPU
sudo dmidecode -s processor-family

Eksempelvis #01:

Xeon
Xeon

Eksempelvis #02:

Core 2
Vise produsenten av datamaskinens CPU
sudo dmidecode -s processor-manufacturer

Eksempelvis #01:

Intel
Intel
Vise prosessorversjonen
sudo dmidecode -s processor-version

Eksempelvis #01:

Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GH
Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GH

Eksempelvis #02:

CPU Version
Vise prosessorfrekvensen
sudo dmidecode -s processor-frequency

Eksempelvis #01:

2000 MHz
Unknown

Eksempelvis #02:

2530 MHz
Vise maskinens arkitektur / prosessorplattformen
uname -p

Eksempelvis #01:

x86_64

Eksempelvis #02:

i636

(Hardware) RAM

Vise detaljert informasjon om RAM-modulene
sudo dmidecode -t memory
Vise detaljert informasjon om RAM-bruken
cat /proc/meminfo
Vise informasjon om de fysiske slottene i datamaskinen
sudo dmidecode -tslot

(Hardware) SYSTEM

Vise informasjon om systemet på maskinen
sudo dmidecode -t system
Vise en kort men detaljert oppsummering av maskinvaren på systemet
sudo lshw -short
Vise detaljert informasjon om maskinvaren, og send resultatet til en fil
sudo lshw > system_info.txt

Åpne filen, i GNOME-miljø:

gedit system_info.txt

Åpne filen, i KDE-miljø:

kate system_info.txt

Åpne filen, i Linux Mint:

xed system_info.txt
Vise en kort oversikt over systemet, systeminformasjonen
uname -a

Eksempelvis #01:

Linux Dell-T5600-HMGP 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Eksempelvis #02:

Linux MinLinux 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:41:17 UTC 2019 i686 i686 i686 GNU/Linux
Vise navnet på systemleverandøren
cat /sys/class/dmi/id/sys_vendor

Eksempelvis #01:

Dell Inc.

Eksempelvis #02:

Acer
Vise systemprodusenten av datamaskinen
sudo dmidecode -s system-manufacturer

Eksempelvis #01:

Dell Inc.

Eksempelvis #02:

Acer
Vise vertsnavnet til systemet
uname -n

Eksempelvis #01:

Dell-T5600-HMGP

Eksempelvis #02:

MinLinux
Vise produktnavnet til systemet

Alternativ #01:

sudo dmidecode -s system-product-name

Alternativ #02, litt mer detaljert:

cat /sys/class/dmi/id/product_name

Eksempelvis:

Precision T5600
Vise systemversjonen
sudo dmidecode -s system-version
Vise serienummeret til systemet
sudo dmidecode -s system-serial-number
Visa datamaskinens UUID (Universally Unique Identifier)
sudo dmidecode -s system-uuid
Vise informasjon om maskinens arkitektur
uname -m

Eksempelvis #01:

x86_64

Eksempelvis #02

i686

(Hardware) TILKOBLINGER

Vise informasjon om tilkoblinger på systemet
sudo dmidecode -tconnector

PC-INFO

(PC-Info) Brukerkontoer

Vise navnet på maskinen og pålogget bruker
hostname; whoami
Vise navnet på nåværende bruker
whoami
Vise navnet på de brukerkontoer som er logget inn for øyeblikket
who
Vise utfyllende info om en bestemt brukerkonto
getent passwd kontonavnet
id kontonavnet
Vise alle brukerkontoer på maskinen
cut -d: -f1 /etc/passwd
Vise alle brukerkontoer på maskinen, med beskrivelse av kontotype
cut -d: -f1,5 /etc/passwd
Legge til en ny brukerkonto
  1. Åpne terminalen.
  2. Logg inn som rotbruker eller bruk sudo for å få administrative rettigheter.
  3. Opprett ny brukerkonto:
sudo useradd -m -s /bin/bash kontonavnet
  1. Sett et passord for den nye brukeren:
sudo passordet kontonavnet
  1. Legg til brukeren i relevante grupper, for eksempel sudo (Administrator-rettigheter):
sudo usermod -aG sudo kontonavnet
Bytte passordet på en brukerkonto
sudo passordet kontonavnet
Slette en brukerkonto
sudo userdel gammelbruker

(PC-Info) Drivere

Liste opp alle installerte drivere og deres status
lsmod
Liste opp alle PCI-enheter og deres drivere, og flagge hvilke som er i bruk
lspci -k
Liste opp alle USB-enheter
lsusb

(PC-Info) Nettverk

Detaljert liste over tilgjengelige Wi-Fi-nettverk (SSID)
nmcli dev wifi list
Vise en oversikt over alle konfigurerte nettverksforbindelser, inkl. aktivt

Alternativ #01:

nmcli connection list

Alternativ #02:

nmcli connection show
Liste opp en kort oversikt over nettverksinnstillingene, tilsvarende CMD ipconfig

Alternativ #01:

ifconfig

Alternativ #02:

ip a
Liste opp Gateway (inngangsport), ruterens IP-adresse
ip route | grep default
Sjekke responstid, om det er treghet (latens) og eventuelle pakketap, med et ping-signal sendt 7 ganger til en IP-adresse
ping -c 7 8.8.8.8
Liste opp ruten og responstiden datapakker tar fra enheten til en annen IP-adresse eller domenenavn, eksempelvis:
tracepath linux.org
Liste opp DNS-informasjon om et domene, som IP-adresse og tilknyttede servere, eksempelvis:
nslookup microsoft.com
Vise socket-statistikk
ss -s
Vise nettverksstatistikk
ip -s link
Liste opp detaljert informasjon om nettverkstilkoblinger og tilhørende prosesser for identifisering av uautoriserte tilkoblinger
  1. Skriv: sudo netstat -tulnp -c > activity.txt
  2. Etter 2–3 minutter, tast CTRL-tasten + C
  3. Skriv: activity.txt for å åpne filen kommandoen ble skrevet til.
  4. Noter ned IP-adresser og porter som vises.
  5. Sjekk hvilke programfiler som er knyttet til hver tilkobling: lsof -i
  6. Dersom ukjente eller fremmede programmer, sjekk på nettet for mer info om programmene.
  7. Sjekk om noen IP-adresser som ser mistenkelige ut eller tilhører ukjente enheter.
  8. Bruk WHOIS for å finne ut mer om IP-adressen og hvilken organisasjon den tilhører.
  9. Lukk mistenkelige tilkoblinger med Task Manager (Oppgavebehandling) til å avslutte tilknyttet programvare.
  10. Vurder å blokkere mistenkelige IP-adresser i brannmuren.
Vise rutingtabellen, for se hvordan datamaskinen ruter nettverkstrafikken

Alternativ #01:

route -n

Alternativ #02:

netstat -rn

Alternativ #03:

ip route show

Alternativ #04:

ip rule list
Liste opp en oversikt over enheter datamaskinen har kommunisert med, sammen med deres IP- og MAC-adresser
arp
Bruk følgende for å tilbakestille nettverksinnstillinger på en Linux maskin med nettverksproblemer
  1. Frigi IP-adressen: sudo dhclient -r
  2. Få ny IP-adresse: sudo dhclient
  3. Kjør en omstart av enheten: sudo reboot og dersom dette ikke hjelper, gå videre.
  4. Tøm DNS-cache: sudo systemd-resolve --flush-caches eller sudo service dns-clean restart
  5. Kjør omstart på nettverksgrensesnittet: sudo systemctl restart NetworkManager
  6. Omstart av enheten: sudo reboot
Punktliste for å forsøke å løse problemer med internett-forbindelsen
  1. Start enheten på nytt for å se om det kan løsne problemet.
  2. Forsøk å koble til nettverket med andre enheter for å se om problemet er spesifikt for én enhet.
  3. Dersom trådløs forbindelse, sjekk at Wi-Fi er slått PÅ.
  4. Dersom trådløs forbindelse, sjekk at flymodus er slått AV.
  5. Dersom trådløs forbindelse, forsøk å flytte enheten nærmere ruter eller tilgangspunkt.
  6. Dersom kablet forbindelse, sjekk at kabelen er i god stand og riktig tilkoblet.
  7. Hvis mulig forsøk å koble enheten med en kabel direkte mot ruteren.
  8. Noen ganger kan brannmurinnstillinger eller antivirusprogrammer blokkere nettverkstilkoblinger. Sjekk innstillinger, eventuelt koble fra midlertidig.
  9. Sjekk lamper på ruteren, om det er rødt lys eller ingen lys.
  10. Kjør en omstart på ruteren for å se om det kan løsne problemet.
  11. Sjekk om det er driftsforstyrrelser i området.
  12. Kontakt internettleverandøren.

(PC-Info) OS

Det finnes ingen enkel måte å liste opp installerte programmer, men informasjon om operativsystemet kan en finne på flere måter.

Vise navnet på kjernen
uname -s

Eksempelvis:

Linux
Vise versjonen av Linux-kjernen
uname -r

Eksempelvis #01:

5.4.0-150-generic

Eksempelvis #02:

3.13.0-170-generic
Vise mer detaljert informasjon om kjernen
uname -v

Eksempelvis #01:

#167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023

Eksempelvis #02:

#220-Ubuntu SMP Thu May 9 12:41:17 UTC 2019
Vise informasjon om OperativSystemet, Linux-distribusjonen og versjon

Alternativ #01:

cat /etc/os-release

Alternativ #02:

hostnamectl

Alternativ #03:

lsb_release -a

Alternativ #04:

uname -a
Vise installasjonsdatoen på kjørende Linux-distribusjon

Alternativ #01:

sudo stat /var/log/installer

Alternativ #02:

ls -lt /var/log/installer

Alternativ #03:

sudo dumpe2fs /dev/sda1 | grep 'Filesystem created:'

Forfattet av Petrus Bojanowski