Är du nybörjare på Linux eller känner dig lite osäker? Här presenteras en samling kommandon som är bra att känna till. Betrakta det här som en grundläggande referens för Linux-terminalen, som även fungerar i macOS-kommandotolk.
En viktig verktygslåda för terminalen
Linux erbjuder ett stort urval av kommandon, men vi har valt ut 37 av de mest centrala. Genom att lära dig dessa kommer du att navigera i Linux-kommandotolken med betydligt större självförtroende.
Listan nedan är ordnad i alfabetisk ordning. Ett kommandos position indikerar inte dess betydelse eller komplexitet. För att få en komplett bild av ett kommandos funktioner, läs dess manual-sida. ”Man”-kommandot finns naturligtvis också med i listan – det är en förkortning för ”manual”.
1. alias
Med ”alias”-kommandot kan du skapa egna, anpassade namn för kommandon eller sekvenser av kommandon. Du skriver det korta namnet, och systemet utför det fullständiga kommandot eller sekvensen åt dig.
alias cls=clear
Det här skapar ett alias som heter ”cls”, som blir ett alternativt namn för ”clear”. När du skriver ”cls” rensas skärmen precis som om du hade skrivit ”clear”. Det här sparar några tangenttryckningar, men om du ofta växlar mellan Windows och Linux-kommandotolken kan du råka skriva Windows-kommandot ”cls” i Linux, där det inte känns igen. Nu kommer det att fungera.
Alias kan vara mer avancerade än så här. Här är ett alias, kallat ”pf” (för processfind), som är lite mer komplext. Lägg märke till citattecknen runt kommandosekvensen; de krävs om sekvensen innehåller mellanslag. Det här aliaset använder ”ps”-kommandot för att lista alla processer och skickar sedan resultatet till ”grep”. ”Grep” söker efter rader i utdata från ”ps” som matchar kommandoradsparametern $1.
alias pf="ps -e | grep $1"
Om du vill veta process-ID (PID) för ”shutter”-processen – eller om ”shutter” ens körs – kan du använda aliaset så här. Skriv ”pf”, ett mellanslag, och namnet på processen du är intresserad av:
pf shutter
Alias som skapas direkt i kommandotolken försvinner när du stänger fönstret. För att dina alias ska vara tillgängliga hela tiden, lägg till dem i filen ”.bash_aliases” i din hemkatalog.
2. cat
”Cat”-kommandot (förkortning för ”concatenate”) visar innehållet i filer direkt i terminalfönstret. Det är snabbare än att öppna filen i en redigerare, och du riskerar inte att av misstag ändra filen. För att läsa innehållet i filen ”.bash_log_out”, skriv kommandot nedan medan din hemkatalog är din aktuella arbetkatalog, vilket den är som standard:
cat .bash_logout
Om filen är längre än vad som ryms i terminalfönstret kommer texten att scrolla för snabbt för att du ska hinna läsa den. Du kan skicka utdata från ”cat” till ”less” för att göra det mer hanterbart. ”Less” låter dig bläddra fram och tillbaka i filen med piltangenterna, PgUp- och PgDn-tangenterna samt Home- och End-knapparna. Tryck ”q” för att avsluta ”less”.
cat .bashrc | less
3. cd
Kommandot ”cd” ändrar din aktuella katalog, det vill säga, flyttar dig till en ny plats i filsystemet.
Om du ska byta till en katalog som finns i den aktuella katalogen skriver du bara ”cd” följt av namnet på den andra katalogen.
cd work
Om du ska byta till en katalog någon annanstans i filsystemet anger du sökvägen till katalogen med ett inledande ”/”.
cd /usr/local/bin
För att snabbt återgå till din hemkatalog använder du ”~” (tilde) som katalognamn.
cd ~
Ett annat tips: Du kan använda ”..” (två punkter) för att representera den överordnade katalogen. Du kan skriva det här kommandot för att gå upp en katalog:
cd ..
Tänk dig att du befinner dig i en katalog. Den överordnade katalogen innehåller andra kataloger, inklusive den du befinner dig i. För att byta till en av dessa andra kataloger kan du använda ”..” för att göra det enklare.
cd ../games
4. chmod
Kommandot ”chmod” ändrar filbehörigheter för en fil eller mapp. Behörigheterna anger vem som kan läsa, skriva eller köra filen. När du listar filer med alternativet ”-l” (långt format) ser du en sträng med tecken som ser ut så här:
-rwxrwxrwx
Om första tecknet är ”-” är objektet en fil, om det är ”d” är det en katalog. Resten av strängen består av tre grupper om tre tecken. Från vänster representerar de tre första filbehörigheterna för ägaren, de tre i mitten filbehörigheterna för gruppen, och de tre till höger behörigheterna för ”andra”. Inom varje grupp står ”r” för read (läsa), ”w” för write (skriva) och ”x” för execute (köra).
Om tecknet ”r”, ”w” eller ”x” finns med, ges den filbehörigheten. Om bokstaven saknas och ett ”-” visas istället, ges inte behörigheten.
Ett sätt att använda ”chmod” är att ange behörigheterna som ett tresiffrigt nummer. Den vänstra siffran representerar ägaren, den mellersta gruppen, och den högra övriga. Siffrorna du kan använda och vad de betyder listas här:
0: Ingen behörighet
1: Exekvera behörighet
2: Skrivbehörighet
3: Skriv- och körbehörighet
4: Läsa behörighet
5: Läs- och körbehörighet
6: Läs- och skrivbehörighet
7: Läs-, skriv- och exekverabehörighet
Om vi tittar på vår exempel.txt-fil ser vi att alla tre grupper är ”rwx”. Det betyder att alla har läs-, skriv- och körbehörighet.
För att ge ägaren läs-, skriv- och körbehörighet (7 från listan), gruppen läs- och skrivbehörighet (6 från listan), och övriga läs- och körbehörighet (5 från listan) behöver vi använda siffrorna 765 med ”chmod”-kommandot:
chmod -R 765 example.txt
För att ge ägaren läs-, skriv- och körbehörighet (7 från listan) och gruppen samt övriga läs- och skrivbehörighet (6 från listan) behöver vi använda siffrorna 766 med ”chmod”-kommandot:
chmod 766 example.txt
5. chown
Med ”chown”-kommandot kan du ändra ägare och gruppägare för en fil. Om vi listar vår ”example.txt”-fil med ”ls -l” ser vi ”dave dave” i filbeskrivningen. Den första anger namnet på filägaren, som i det här fallet är användaren ”dave”. Den andra posten visar att namnet på gruppägaren också är ”dave”. Varje användare har en standardgrupp som skapas när användaren skapas. Den användaren är den enda medlemmen i gruppen, vilket visar att filen inte delas med andra användare.
Du kan använda ”chown” för att ändra ägare eller grupp, eller båda för en fil. Du måste ange namnet på ägaren och gruppen, åtskilda av ett kolon ”:”. Du måste använda ”sudo”. För att behålla ”dave” som ägare av filen men sätta ”mary” som gruppägare använder du det här kommandot:
sudo chown dave:mary example.txt
För att ändra både ägare och gruppägare till ”mary” använder du det här kommandot:
sudo chown mary:mary example.txt
För att ändra filen så att ”dave” återigen är både filägare och gruppägare använder du det här kommandot:
sudo chown dave:dave example.txt
6. curl
”Curl”-kommandot är ett verktyg för att hämta information och filer från internetadresser (URL).
”Curl”-kommandot är kanske inte en standarddel av din Linux-distribution. Använd ”apt-get” för att installera det här paketet om du använder Ubuntu eller en annan Debian-baserad distribution. För andra Linux-distributioner, använd din distributions pakethanteringsverktyg istället.
sudo apt-get install curl
Anta att du vill hämta en enskild fil från ett GitHub-repo. Det finns inget officiellt stöd för detta; du måste klona hela repot. Men med ”curl” kan vi hämta den fil vi vill ha på egen hand.
Det här kommandot hämtar filen åt oss. Observera att du måste ange namnet på filen du ska spara den i med alternativet ”-o” (output). Om du inte gör det kommer filens innehåll att visas snabbt i terminalfönstret men inte sparas på din dator.
curl https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
Om du inte vill se information om nedladdningsförloppet, använd alternativet ”-s” (tyst).
curl -s https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
7. df
Kommandot ”df” visar storlek, använt utrymme och tillgängligt utrymme för de monterade filsystemen på din dator.
Två användbara alternativ är ”-h” (human-readable) och ”-x” (exclude). Med det ”human-readable” alternativet visas storlekar i MB eller GB istället för byte. Med ”exclude” kan du tala om för ”df” att utelämna filsystem som du inte är intresserad av, till exempel pseudo-filsystem som ”squashfs” som skapas när du installerar program med kommandot ”snap”.
df -h -x squashfs
8. diff
Kommandot ”diff” jämför två textfiler och visar skillnaderna mellan dem. Det finns många alternativ för att anpassa visningen.
Alternativet ”-y” (sida-vid-sida) visar skillnaderna sida vid sida. Med alternativet ”-w” (width) kan du ange den maximala linjebredden. I det här exemplet kallas de två filerna ”alpha1.txt” och ”alpha2.txt”. ”–suppress-common-lines” hindrar ”diff” från att lista de matchande raderna, vilket låter dig fokusera på skillnaderna.
diff -y -W 70 alpha1.txt alpha2.txt --suppress-common-lines
9. echo
Kommandot ”echo” skriver ut en textsträng i terminalfönstret.
Kommandot nedan skriver ut texten ”En textsträng” i terminalfönstret.
echo A string of text
Kommandot ”echo” kan visa värdet av miljövariabler, till exempel $USER, $HOME och $PATH. Dessa innehåller värden för användarens namn, hemkatalog, och sökvägen som söks igenom efter kommandon när användaren skriver något.
echo $USER
echo $HOME
echo $PATH
Följande kommando kommer att orsaka ett pipljud. Alternativet ”-e” (escape code) tolkar det escapade tecknet som en ”bell”-karaktär.
echo -e "a"
”Echo”-kommandot är också värdefullt i shell-skript. Ett skript kan använda kommandot för att generera synliga utdata för att indikera hur långt skriptet har kommit eller vad resultatet är.
10. exit
Kommandot ”exit” stänger ett terminalfönster, avslutar ett shell-skript eller loggar ut dig från en SSH-fjärranslutningssession.
exit
11. find
Använd kommandot ”find” för att spåra filer du vet finns men inte minns var du placerade dem. Du måste ange var sökningen ska börja och vad den ska leta efter. I det här exemplet matchar ”.” den aktuella mappen och alternativet ”-name” talar om för ”find” att söka efter filer vars namn matchar sökmönstret.
Du kan använda jokertecken, där ”*” representerar valfri teckensekvens och ”?” representerar ett enskilt tecken. Vi använder ”*ones*” för att matcha alla filnamn som innehåller ordet ”ones”.
find . -name *ones*
Som vi ser har ”find” returnerat en lista med matchningar. En av dem är en katalog som heter ”Ramones”. Vi kan tala om för ”find” att begränsa sökningen till bara filer med alternativet ”-type” och parametern ”f”.
find . -type f -name *ones*
Om du vill att sökningen ska vara skiftlägesokänslig använder du alternativet ”-iname” (okänsligt namn).
find . -iname *wild*
12. finger
”Finger”-kommandot ger dig en kort översikt av information om en användare, inklusive tidpunkten för användarens senaste inloggning, hemkatalogen och användarkontots fullständiga namn.
13. free
Kommandot ”free” ger en sammanfattning av minnesanvändningen på din dator, för både primärminne (RAM) och swapminne. Alternativet ”-h” (human) används för att visa siffror med enheter som är lätta att förstå. Utan detta alternativ visas siffrorna i byte.
free -h
14. grep
”Grep”-verktyget söker efter rader som innehåller ett sökmönster. När vi tittade på alias-kommandot använde vi ”grep” för att söka igenom utdata från ett annat program, ”ps”. Kommandot ”grep” kan också söka i filer. Här söker vi efter ordet ”tåg” i alla textfiler i den aktuella katalogen.
grep train *.txt
Utdata listar filnamnet och visar rader som matchar. Den matchande texten är markerad.
Funktionaliteten och användbarheten hos ”grep” gör att du definitivt bör kolla dess manual-sida.
15. groups
Kommandot ”groups” visar vilka grupper en användare är medlem i.
groups dave
groups mary
16. gzip
”Gzip”-kommandot komprimerar filer. Som standard tar det bort originalfilen och lämnar dig med den komprimerade versionen. För att behålla både originalet och den komprimerade versionen använder du alternativet ”-k” (keep).
gzip -k core.c
17. head
Kommandot ”head” visar de första 10 raderna i en fil. Om du vill se färre eller fler rader använder du alternativet ”-n” (number). I det här exemplet använder vi ”head” med standard på 10 rader, och sedan ber vi om bara fem rader.
head -core.c
head -n 5 core.c
18. history
Kommandot ”history” listar de kommandon du tidigare har utfört i kommandotolken. Du kan upprepa vilket som helst av kommandona från historiken genom att skriva ett utropstecken ”!” och numret på kommandot från historiklistan.
!188
Om du skriver två utropstecken upprepas det föregående kommandot.
!!
19. kill
Kommandot ”kill” låter dig avsluta en process från kommandotolken. Du gör det genom att ange process-ID (PID) för processen som ska avslutas. Avsluta inte processer utan god anledning. I det här exemplet låtsas vi att programmet ”shutter” har låst sig.
För att hitta PID för ”shutter” använder vi vårt ”ps” och ”grep” trick från avsnittet om ”alias”. Vi söker efter ”shutter”-processen och får fram dess PID på det här sättet:
ps -e | grep shutter.
När vi väl har fastställt PID – 1692 i det här fallet – kan vi avsluta den så här:
kill 1692
20. less
Med ”less”-kommandot kan du visa filer utan att öppna en redigerare. Det är snabbare att använda, och du riskerar inte att ändra filen oavsiktligt. Med ”less” kan du bläddra framåt och bakåt i filen med piltangenterna, PgUp- och PgDn-tangenterna samt Home- och End-knapparna. Tryck på ”q” för att avsluta ”less”.
För att visa en fil, ange namnet på filen till ”less” på det här sättet:
less core.c
Du kan också skicka utdata från andra kommandon till ”less”. För att se utdata från ”ls” för en lista över hela hårddisken använder du det här kommandot:
ls -R / | less
Använd ”/” för att söka framåt i filen och ”?” för att söka bakåt.
21. ls
Det här kan vara det första kommandot majoriteten av Linux-användare stöter på. Det listar filer och mappar i den katalog du anger. Som standard söker ”ls” i den aktuella katalogen. Det finns väldigt många alternativ du kan använda med ”ls”, och vi rekommenderar att du granskar manual-sidan. Några vanliga exempel visas här.
För att lista filerna och mapparna i den aktuella katalogen:
ls
För att lista filer och mappar i den aktuella katalogen med en detaljerad lista använder du alternativet ”-l” (lång):
ls -l
För att visa filstorlekarna på ett mer användarvänligt sätt använder du alternativet ”-h” (human):
ls -lh
Använd alternativet ”-a” (alla filer) för att inkludera dolda filer:
ls -lha
22. man
Kommandot ”man” visar ”manual-sidorna” för ett kommando i ”less”. Manualsidorna är användarmanualen för kommandot. Eftersom ”man” använder ”less” kan du använda ”less” sökfunktioner.
För att se manualsidorna för ”chown” använder du till exempel det här kommandot:
man chown
Använd upp- och nedpilarna eller PgUp- och PgDn-tangenterna för att bläddra genom dokumentet. Tryck på ”q” för att avsluta manualsidan eller tryck på ”h” för hjälp.
23. mkdir
”Mkdir”-kommandot låter dig skapa nya kataloger i filsystemet. Du måste ange namnet på den nya katalogen. Om den nya katalogen inte ska finnas i den aktuella katalogen måste du ange sökvägen till den nya katalogen.
För att skapa två nya kataloger i den aktuella katalogen som heter ”fakturor” och ”citat” använder du dessa två kommandon:
mkdir invoices
mkdir quotes
För att skapa en ny katalog som heter ”2019” i katalogen ”fakturor” använder du det här kommandot:
mkdir invoices/2109
Om du ska skapa en katalog men dess överordnade katalog inte finns, kan du använda alternativet ”-p” (parents) för att låta ”mkdir” skapa alla nödvändiga överordnade kataloger också. I följande kommando skapar vi katalogen ”2019” i katalogen ”årliga” i katalogen ”citat”. Katalogen ”årliga” finns inte, men vi kan låta ”mkdir” skapa alla angivna kataloger samtidigt:
mkdir -p quotes/yearly/2019
Katalogen ”årliga” skapas också.
24. mv
Kommandot ”mv” låter dig flytta filer och kataloger från en katalog till en annan. Det låter dig även byta namn på filer.
För att flytta en fil måste du tala om för ”mv” var filen finns och var du vill att den ska flyttas. I det här exemplet flyttar vi en fil som heter ”apache.pdf” från katalogen ”~/Document/Ukulele” och placerar den i den aktuella katalogen, som representeras av tecknet ”.”.
mv ~/Documents/Ukulele/Apache.pdf .
För att byta namn på filen ”flyttar” du den till en ny fil med det nya namnet.
mv Apache.pdf The_Shadows_Apache.pdf
Att flytta och byta namn på filen kan göras i ett enda steg:
mv ~/Documents/Ukulele/Apache.pdf ./The_Shadows_Apache.pdf
25. passwd
”Passwd”-kommandot låter dig ändra lösenordet för en användare. Skriv bara ”passwd” för att ändra ditt eget lösenord.
Du kan också ändra lösenordet för ett annat användarkonto, men du måste använda ”sudo”. Du kommer att bli ombedd