Terminalen
Terminalen är din bästa vän! Det kan vara svårt att tro första gången du öppnar den, men det är sant. Kommandoraden är ett otroligt mäktigt verktyg som låter dig ta kontrollen över din dator på ett ojämförbart sett förutsatt att du dedikerar lite tid till att lära dig hur man använder den.
Det är enkelt att komma igång med terminalen men det tar en livstid att bemästra den. Alla som använder sig av datorn kan sin terminal olika väl och oavsett kompetensnivå finns det alltid någon som kan den bättre än dig. Jämför därför inte dig själv med andra, utan lek istället, se vad du kan lära dig och hur du kan använda terminalen för att strömlinjeforma dina datalogiska vardagssysslor.
Manualsidor
Section titled “Manualsidor”Alla kommandon som nämns i denna artikel har en motsvarande manualsida under
man [kommandonamn]Skriv ovanstående i terminalen för att hitta vidare läsning om ett givet kommando.
Grundläggande navigering
Section titled “Grundläggande navigering”Katalogstrukturen
Section titled “Katalogstrukturen”Din dator lagrar allt den har i filer och kataloger. Kataloger kan innehålla
både filer och kataloger medan filer inte kan innehålla andra kataloger eller
filer. En lämplig liknelse är ett träd. Filer är blad på trädet medan kataloger
är kvistar. Ju längre upp i katalogstrukturen du kommer destå tjockare är kvistarna
tills du når trädets rot. I Linux kallas den översta katalogen / därför
“root” (på engelska).
Katalogstrukturen innehåller även en mängd andra kataloger som du kan läsa om på manualsidan “hier”
man hierEn viktig förkortning att känna till är ~ (utläses “tilde”) som betyder
/home/[användarnamn]. Detta är din personliga hemkatalog där du lämpligen
lägger dina personliga filer.
Utläsning och förflyttning
Section titled “Utläsning och förflyttning”För att se var i katalogstrukturen du befinner dig kan du använda dig av
pwdsom står för “path (to) working directory”.
För att se vad som finns i din nuvarande katalog kan du använda “list” kommandot med
lsFör att läsa vad som finns i en annan katalog kan du skriva
ls /sökväg/till/katalogtill exempel
ls ~/DownloadsEn viktig förkortning att känna till är .. som står för “ovanstående katalog”.
Du kan se vad ovanstående katalog innehåller med
ls ..För att flytta till en annan katalog använder du
cd /sökväg/till/katalogtill exempel
cd ~/Documentsför att flytta till Documents i din hemkatalog
följt av
cdför att flytta tillbaka till din hemkatalog.
Notera att cd står för “change directory”.
Grundläggande filhantering
Section titled “Grundläggande filhantering”För att skapa en ny katalog använder du “make directory” genom att skriva
mkdir /sökväg/till/ny/katalogtill exempel kan vi skapa en katalog test i Documents mappen genom att skriva
mkdir ~/Documents/testI ovanstående katalog kan vi sedan skapa en fil kallad hejsan med
touch ~/Documents/test/hejsaneller skapa en fil och direkt börja redigera den med
nano ~/Documents/test/hejsanOm du nu skriver något och sedan stänger programmet med ctrl-x så
kan du sedan läsa ut innehållet med “concatenate”
cat ~/Documents/test/hejsanFör att radera filen används “remove” genom att skriva
rm ~/Documents/test/hejsanFör att radera en katalog måste även alla potentiella filer i katalogen
raderas, vi garanterar att detta sker genom att bruka den så kallade rekursiva
flaggan -r. Om vi vill radera den ovan skapade mappen test skriver vi
rm -r ~/Documents/testoavsett om den i verkligheten innehåller filer eller inte.
Strömmar och stömmanipulering
Section titled “Strömmar och stömmanipulering”All text i terminalen transporteras genom så kallade “strömmar”. När du skriver text i
terminalen matar du in text i stdin-strömmen (standard in). När du exekverar ett kommando
får du ut information på stdout (standard out) och errout (error out). stdout innehåller
all ordinarie information som programmet skriver ut, medan errout är en dedikerad ström för
felmeddelanden.
Som terminalanvändare ges vi tillgång att manipulera dessa strömmar för att få datorn att göra det vi vill. Vi tillhandahålls ett antal byggblock:
-
|: “pipe”, dirigerar omstdoutfrån ett kommando tillstdinpå ett annat. Ett relativt avancerat exempel på vad|låter dig göra är följandew | cut -f 1 -d\t | uniq | wc -lwvisar vem som är inloggad och vad de gör.cutser till att endast deras användarnamn skrivs ut.uniqtar bort alla duplicerade namnwc -lräknar antalet rader påstdin.
Detta kommando listar alltså ut alla som är inloggade och räknar sedan upp hur många de är.
-
>och>>: “plough” och “double plough” används för att dirigera in strömmar i filer. Skillnaden mellan dem är att>tömmer målfilen medan>>lägger tillstdini slutet på filen. Som exempel på detta betraktaecho "hejsan" > fildetta skriver ut “hejsan” till
stdoutoch skickar sedanstdouttillfilvars innehåll ersätts med “hejsan” -
*: “wildcard” används för att representera “vad som helst”. För att hitta alla pdf:er i en katalog kan vi till exemel skrivals *.pdfvilket betyder “list (
ls) all objects (*) suffixed by .pdf (.pdf)”. Enligt samma principer kan vi även hitta filer som börjar på ett särskilt sätt medls abc*som hittar alla filer med prefixet
abcföljt av vad som helst. -
&&och&: Används för att exekvera flera kommandon.echo "hello" && echo "world"skriver “hello” till
stdout, väntar till att den processen signalerat att den är färdig och skriver sedan “world” tillstdout.echo "hello" & echo "world"väntar inte på att kommandot till vänster om
&ska köra klart utan skapar direkt en ny process för kommandot på höger sida. Detta kan användas för att köra flera saker samtidigt i separata processer. -
Det finns många fler nyckelord som kan användas för att få extremt kraftfull funktionalitet ur terminalen, för många för att gå igenom här. Dessa ger dock en stark grund för att börja göra saker även om listan inte är fullständig. För vidare läsning se
man bash
Grundläggande prestandaöversikt
Section titled “Grundläggande prestandaöversikt”För att få en uppfattning om hur flitigt en dator används kan du exekvera kommandot
htopFör att få veta hur mycket diskutrymme som finns kvar på datorn kan du använda
df -hFör att veta hur mycket plats en specifik fil använder kan du använda
du -hFör att skriva ut aktiva processer direkt till kommandoraden kan du använda
ps -auxÖvrigt grundläggande
Section titled “Övrigt grundläggande”För att söka efter filer i katalogstrukturen kan du använda
find / -name [filnamn] 2> /dev/nullsom söker igenom hela katalogstrukturen och direkt slänger alla i /dev/null (se man hier)
För att söka i en textfil eller i stdout kan du använda
grep [sökterm] [fil]