Er du fersk innenfor Linux, eller trenger du bare en oppfriskning? Her presenteres et utvalg av de viktigste kommandoene du bør kjenne til. Betrakt dette som en essensiell referanse for Linux-terminalen, og for kommandolinjen i macOS.
Det grunnleggende verktøysettet for terminalen
Linux inneholder et bredt spekter av kommandoer, men vi har håndplukket 37 av de mest sentrale for deg. Ved å mestre disse kommandoene, vil du føle deg mye tryggere og mer komfortabel i Linux-kommandotolken.
Kommandoene nedenfor er sortert alfabetisk. Rekkefølgen gjenspeiler ikke nødvendigvis deres nytteverdi eller enkelhet. For en grundig forklaring av hver kommando, anbefales det å konsultere man-sidene. Kommandoen «man» er selvsagt inkludert i listen vår – den er en forkortelse for «manual».
1. alias
Med alias-kommandoen kan du definere egne navn for kommandoer eller sekvenser av kommandoer. Du kan deretter skrive inn det korte navnet du har definert, og systemet vil utføre den tilhørende kommandoen eller sekvensen.
alias cls=clear
I eksemplet over opprettes et alias kalt «cls». Dette er en alternativ måte å kalle «clear»-kommandoen på. Når du skriver «cls», vil skjermen tømmes, akkurat som om du hadde skrevet «clear». Selv om dette kan spare deg noen få tastetrykk, kan det også være nyttig hvis du veksler mellom Windows- og Linux-kommandolinjer. Da kan du bruke «cls» på en Linux-maskin, og systemet vil forstå hva du mener.
Alias kan være mer avansert enn dette enkle eksemplet. Her er et alias kalt «pf» (for prosessfinn) som er litt mer komplekst. Legg merke til bruken av anførselstegn rundt kommandosekvensen. Dette er nødvendig når sekvensen inneholder mellomrom. Dette aliaset bruker «ps»-kommandoen til å vise en liste over alle prosesser, og sender deretter denne listen til «grep»-kommandoen. «grep» søker etter linjer i «ps»-utdataene som matcher parameteren $1.
alias pf="ps -e | grep $1"
Hvis du for eksempel ønsker å finne prosess-IDen (PID) til «lukker»-prosessen – eller sjekke om den i det hele tatt kjører – kan du bruke aliaset slik. Skriv «pf», et mellomrom og navnet på prosessen du er ute etter:
pf shutter
Alias som er definert i kommandolinjen, vil forsvinne når terminalvinduet lukkes. For å gjøre dine alias tilgjengelige hver gang du åpner en terminal, bør du legge dem til i filen «.bash_aliases» i hjemmekatalogen din.
2. cat
Cat-kommandoen (forkortelse for «concatenate») viser innholdet i filer i terminalvinduet. Dette er raskere enn å åpne filen i en editor, og du unngår faren for å endre filen ved et uhell. For å lese innholdet i filen «.bash_logout», skriver du følgende kommando, forutsatt at hjemmekatalogen din er din nåværende arbeidskatalog:
cat .bash_logout
Dersom filen inneholder mer tekst enn det som får plass i terminalvinduet, vil teksten rulle forbi for fort til at du kan lese den. Du kan «pipe» utdataene fra «cat» til «less» for å gjøre lesingen lettere. «less» lar deg bla opp og ned i filen med piltastene, PgUp-, PgDn-, Home- og End-tastene. Skriv «q» for å avslutte «less».
cat .bashrc | less
3. cd
cd-kommandoen endrer din nåværende katalog. Med andre ord, den flytter deg til et nytt sted i filsystemet.
Hvis du skal navigere til en katalog som er i den nåværende katalogen, kan du ganske enkelt skrive «cd» og navnet på katalogen.
cd work
Hvis du skal navigere til en katalog et annet sted i filsystemet, angir du den fullstendige banen til katalogen med en innledende «/».
cd /usr/local/bin
For raskt å gå tilbake til hjemmekatalogen, bruker du tegnet «~» (tilde) som katalognavn.
cd ~
Her er et annet triks: Du kan bruke symbolet «..» for å referere til den overordnede katalogen. Du kan skrive inn følgende kommando for å gå opp ett nivå i katalogstrukturen:
cd ..
Tenk deg at du er i en katalog. Den overordnede katalogen inneholder flere underkataloger, inkludert den du er i. For å navigere til en av de andre underkatalogene, kan du bruke «..» for å forkorte kommandoen.
cd ../games
4. chmod
chmod-kommandoen endrer filtilgangsrettighetene for en fil eller mappe. Disse rettighetene definerer hvem som kan lese, skrive eller utføre filen. Når du viser filer med «-l» (langt format) ser du en streng med tegn som ser ut som:
-rwxrwxrwx
Hvis det første tegnet er «-«, indikerer dette at elementet er en fil. Hvis det er «d», er elementet en mappe. Resten av strengen er delt inn i tre grupper med tre tegn hver. Fra venstre representerer de tre første tegnene filtilgangsrettighetene for eieren, de tre neste for gruppen, og de tre siste for «andre». I hver gruppe står «r» for «read» (lese), «w» for «write» (skrive), og «x» for «execute» (utføre).
Hvis «r», «w» eller «x» er til stede, er den tilhørende filtilgangsrettigheten gitt. Hvis bokstaven ikke er til stede, og i stedet vises et «-«, er ikke denne tilgangsrettigheten gitt.
En måte å bruke «chmod» på er å oppgi ønsket filtilgangsrettighet for eier, gruppe og andre som et tresifret tall. Det første sifferet representerer eieren, det andre gruppen, og det siste de andre. Tallene du kan bruke, og hva de representerer, er listet opp her:
0: Ingen rettighet
1: Utføringsrettighet
2: Skriverettighet
3: Skrive- og utføringsrettighet
4: Leserettighet
5: Lese- og utføringsrettighet
6: Lese- og skriverettighet
7: Lese-, skrive- og utføringsrettighet
Når vi inspiserer filen «example.txt», ser vi at alle tre gruppene av tegn er «rwx». Dette betyr at alle har lese-, skrive- og utførelsesrettigheter for filen.
For å sette tillatelsen til å lese, skrive og utføre (7 fra listen vår) for eieren, lese og skrive (6) for gruppen, og lese og utføre (5) for andre, må vi bruke tallene 765 sammen med «chmod»-kommandoen:
chmod -R 765 example.txt
For å sette tillatelsene til å lese, skrive og utføre (7) for eieren, og lese og skrive (6) for både gruppen og andre, må vi bruke tallene 766 med chmod-kommandoen:
chmod 766 example.txt
5. chown
chown-kommandoen lar deg endre eieren og gruppetilhørigheten til en fil. Hvis vi viser filen «example.txt» med «ls -l», ser vi «dave dave» i filbeskrivelsen. Den første av disse angir navnet på eieren av filen, som i dette tilfellet er brukeren «dave». Den andre oppføringen viser at navnet på gruppen er «dave». Hver bruker har en standardgruppe som opprettes når brukeren opprettes. Denne brukeren er det eneste medlemmet av den gruppen. Dette indikerer at filen ikke er delt med andre brukergrupper.
Du kan bruke «chown» for å endre eieren eller gruppen, eller begge, for en fil. Du må oppgi navnet på eieren og gruppen, adskilt med et kolon «:»-tegn. Du må bruke «sudo». For å beholde «dave» som eier av filen, men sette «mary» som gruppetilhørighet, bruker du følgende kommando:
sudo chown dave:mary example.txt
For å endre både eieren og gruppetilhørigheten til «mary», bruker du følgende kommando;
sudo chown mary:mary example.txt
For å endre filen tilbake slik at «dave» igjen er eier og gruppe, bruker du denne kommandoen:
sudo chown dave:dave example.txt
6. curl
curl-kommandoen er et verktøy for å hente informasjon og filer fra Uniform Resource Locators (URL-er), eller internettadresser.
curl-kommandoen er kanskje ikke standard i din Linux-distribusjon. Du kan bruke «apt-get» for å installere denne pakken på systemet ditt hvis du bruker Ubuntu eller en annen Debian-basert distribusjon. På andre Linux-distribusjoner bruker du pakkebehandlingsverktøyet for din Linux-distribusjon i stedet.
sudo apt-get install curl
Anta at du ønsker å hente en enkelt fil fra et GitHub-repository. Det finnes ingen offisielt støttet metode for dette. Du er i utgangspunktet nødt til å klone hele repositoryet. Med «curl» kan vi derimot hente ut filen vi ønsker.
Denne kommandoen henter filen. Legg merke til at du må spesifisere navnet på filen du vil lagre den som ved hjelp av alternativet «-o» (output). Hvis du ikke gjør dette, vil innholdet i filen rulle raskt i terminalvinduet, men ikke bli lagret på datamaskinen din.
curl https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
Hvis du ikke ønsker å se nedlastingsinformasjonen, kan du bruke alternativet «-s» (silent).
curl -s https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
7. df
df-kommandoen viser størrelsen, brukt plass og tilgjengelig plass på de monterte filsystemene på datamaskinen.
To av de mest nyttige alternativene er «-h» (human readable) og «-x» (exclude). Alternativet «-h» viser størrelsene i Mb eller Gb istedenfor bytes. Alternativet «-x» lar deg ekskludere filsystemer som du ikke er interessert i, for eksempel «squashfs»-pseudofilsystemene som opprettes når du installerer et program med «snap»-kommandoen.
df -h -x squashfs
8. diff
diff-kommandoen sammenligner to tekstfiler og viser forskjellene mellom dem. Det finnes mange alternativer for å tilpasse visningen etter dine behov.
Alternativet «-y» (side by side) viser forskjellene side om side. Alternativet «-W» (width) lar deg spesifisere maksimal linjebredde for å unngå linjeskift. I dette eksemplet har vi to filer, «alpha1.txt» og «alpha2.txt». «–suppress-common-lines» hindrer «diff» i å liste opp de identiske linjene, slik at du kan fokusere på linjene som er forskjellige.
diff -y -W 70 alpha1.txt alpha2.txt --suppress-common-lines
9. echo
echo-kommandoen skriver ut (ekko) en tekststreng i terminalvinduet.
Kommandoen nedenfor vil skrive ut ordene «En tekststreng» i terminalvinduet.
echo A string of text
echo-kommandoen kan også vise verdien av miljøvariabler, for eksempel miljøvariablene «$USER», «$HOME» og «$PATH». Disse inneholder verdiene for henholdsvis brukernavnet, brukerens hjemmekatalog, og banen som systemet bruker for å søke etter kommandoer når brukeren skriver noe i kommandolinjen.
echo $USER
echo $HOME
echo $PATH
Følgende kommando vil lage en lyd (pling). Alternativet «-e» (escape code) tolker det escapede tegnet som en «klokke«-karakter.
echo -e "a"
echo-kommandoen er også svært nyttig i shell-skript. Et skript kan bruke denne kommandoen for å generere synlige utdata som viser fremdrift eller resultater av skriptet når det kjører.
10. exit
Exit-kommandoen lukker et terminalvindu, avslutter kjøringen av et shell-skript, eller logger deg ut fra en SSH-tilkobling.
exit
11. find
Bruk «find»-kommandoen for å spore opp filer du vet eksisterer, men ikke husker hvor du har lagret dem. Du må fortelle «find» hvor den skal starte søket, og hva den skal se etter. I dette eksemplet betyr «.» gjeldende mappe, og alternativet «-name» forteller «find» å se etter filer som samsvarer med søkemønsteret.
Du kan bruke jokertegn, der «*» representerer en hvilken som helst sekvens av tegn, og «?» representerer et enkelt tegn. Vi bruker «*enere*» for å matche alle filnavn som inneholder sekvensen «enere». Dette vil matche ord som «bein», «stenere» og «ene».
find . -name *ones*
Som vi ser, har «find» returnert en liste med treff. En av dem er en mappe som heter «Ramones». Vi kan fortelle «find» å begrense søket til kun filer. Vi gjør dette ved å bruke alternativet «-type» med parameteren «f». Parameteren «f» står for filer.
find . -type f -name *ones*
Hvis du ønsker at søket ikke skal skille mellom store og små bokstaver, bruker du alternativet «-iname» (insensitive name).
find . -iname *wild*
12. finger
Finger-kommandoen gir deg en kort oversikt over informasjon om en bruker, inkludert tidspunktet for brukerens siste pålogging, brukerens hjemmekatalog og brukerkontoens fulle navn.
13. free
free-kommandoen gir deg en oversikt over minnebruken på datamaskinen. Den viser status for både hovedminnet (RAM) og swap-minnet. Alternativet «-h» (human) brukes for å gi tall og enheter som er lettere å lese for mennesker. Uten dette alternativet presenteres tallene i bytes.
free -h
14. grep
grep-verktøyet søker etter linjer som inneholder et spesifikt mønster. Tidligere, i avsnittet om «alias», brukte vi «grep» til å søke gjennom utdataene fra et annet program, «ps». «grep»-kommandoen kan også søke i innholdet i filer. Her søker vi etter ordet «tog» i alle tekstfiler i gjeldende katalog.
grep train *.txt
Utdataene viser navnet på filen og linjene som samsvarer. Den samsvarende teksten er uthevet.
Funksjonaliteten og den allsidige nytten av «grep» gjør at du absolutt bør ta en titt på man-siden.
15. groups
Kommandoen «groups» viser hvilke grupper en bruker er medlem av.
groups dave
groups mary
16. gzip
gzip-kommandoen komprimerer filer. Som standard sletter den originalfilen og etterlater deg med den komprimerte versjonen. For å beholde både originalen og den komprimerte versjonen, kan du bruke alternativet «-k» (keep).
gzip -k core.c
17. head
Head-kommandoen viser de første 10 linjene i en fil. Hvis du ønsker å se færre eller flere linjer, kan du bruke alternativet «-n» (number). I dette eksemplet bruker vi «head» med standardinnstillingen på 10 linjer. Deretter gjentar vi kommandoen og ber om bare fem linjer.
head -core.c
head -n 5 core.c
18. history
History-kommandoen viser kommandoene du tidligere har skrevet inn i kommandolinjen. Du kan gjenta en hvilken som helst av kommandoene fra historikken ved å skrive et utropstegn «!» og nummeret på kommandoen fra historikklisten.
!188
Hvis du skriver to utropstegn, vil den forrige kommandoen gjentas.
!!
19. kill
Kill-kommandoen lar deg avslutte en prosess fra kommandolinjen. Du gjør dette ved å oppgi prosess-ID (PID) for prosessen som skal stoppes. Du bør ikke avslutte prosesser uten en god grunn. I dette eksemplet later vi som om programmet «lukker» har hengt seg opp.
For å finne PID-en til «lukker», bruker vi «ps»- og «grep»-trikset vi lærte i avsnittet om «alias» ovenfor. Vi kan søke etter prosessen «lukker» og finne dens PID som følger:
ps -e | grep shutter
Når vi har bestemt PID-en – 1692 i dette tilfellet – kan vi stoppe den slik:
kill 1692
20. less
less-kommandoen lar deg se filer uten å åpne en tekstredigerer. Det er raskere å bruke, og det er ingen fare for å endre filen ved et uhell. Med «less» kan du bla opp og ned i filen ved hjelp av piltastene, PgUp- og PgDn-tastene, samt Home og End. Trykk på «q»-tasten for å avslutte «less».
For å se en fil, skriver du «less» og navnet på filen:
less core.c
Du kan også overføre utdataene fra andre kommandoer til «less». For å se utdataene fra «ls» for en liste over hele harddisken, bruker du følgende kommando:
ls -R / | less
Bruk «/» for å søke fremover i filen, og «?» for å søke bakover.
21. ls
Dette er sannsynligvis den første kommandoen de fleste Linux-brukere møter. Den viser filene og mappene i katalogen du angir. Som standard ser «ls» i den gjeldende katalogen. Det er mange alternativer du kan bruke med «ls», og vi anbefaler at du ser på man-siden. Her er noen vanlige eksempler:
Slik viser du filene og mappene i den gjeldende katalogen:
ls
For å vise filene og mappene i den gjeldende katalogen med en detaljert liste, kan du bruke alternativet «-l» (lang):
ls -l
For å inkludere filstørrelser i en menneskevennlig form, legg til alternativet «-h» (human):
ls -lh
For å inkludere skjulte filer, kan du bruke «-a» (alle filer):
ls -lha
22. man
Man-kommandoen viser «man-sidene» for en kommando i «less». Man-sidene er brukermanualen for den aktuelle kommandoen. Siden «man» bruker «less» for å vise man-sidene, kan du bruke søkefunksjonene til «less».
For å se man-sidene for «chown», bruker du for eksempel følgende kommando:
man chown
Bruk piltastene opp og ned, eller PgUp- og PgDn-tastene for å bla gjennom dokumentet. Trykk på «q» for å avslutte man-siden, eller trykk «h» for å få hjelp.
23. mkdir
mkdir-kommandoen lar deg lage nye mapper i filsystemet. Du må oppgi navnet på den nye mappen til «mkdir». Hvis den nye mappen ikke skal være i den gjeldende katalogen, må du oppgi den fullstendige banen til den nye mappen.
For å opprette to nye mapper i den gjeldende katalogen, med navnene «invoices» og «quotes», bruker du disse to kommandoene:
mkdir invoices
mkdir quotes
For å opprette en ny mappe med navnet «2019» i mappen «invoices», bruker du denne kommandoen:
mkdir invoices/2019
Hvis du skal opprette en mappe, men den overordnede mappen ikke eksisterer, kan du bruke alternativet «-p» (parents) for å få «mkdir» til å opprette alle de nødvendige overordnede mappene også. I den følgende kommandoen skal vi opprette mappen «2019» i mappen «yearly» i mappen «quotes». Mappen «yearly» eksisterer ikke, men vi kan få «mkdir» til å lage alle de spesifiserte mappene samtidig:
mkdir -p quotes/yearly/2019
Mappen «yearly» vil også bli opp