Göm menyn

C2. Vad är skalet?

I det här kapitlet möter vi skalet för första gången och tittar på hur vi kan arbeta med filer och kataloger. Vi går också igenom hur man hittar information om Linux via de inbyggda manualsidorna.

1. Skalfönstret

Det går utmärkt att klicka runt i fönstersystemet för att starta program, flytta filer, m.m. Men som blivande programutvecklare är det viktigt att också kunna olika skalkommandon. Du kommer bli mer effektiv och förstår bättre vad som händer under ytan. Du kommer inte att lösa alla problem via skalen, men en del.

Längst ner på skrivbordet finns en rad med ikoner för några saker som vi ofta behöver. Den andra från vänster har ett dollartecken på svart bakgrund och genom att klicka på den startar vi en terminal eller ett skalfönster.

Ikonen för att starta terminalen

I skalfönstret använder vi ett så kallat kommandospråk. Vi skriver alltså korta instruktioner till datorn för att utföra enkla uppgifter. Grundprincipen är myycket enkel. Du skriver in ett kommando och trycker Enter, så kommer skalet att utföra kommandot. Ibland skriver skalet ut ett meddelande, men långt ifrån alltid. Men en ny prompt kommer alltid upp, för att visa att skalet är redo igen.

Det som syns längst upp till vänster är en prompt. Det är skalets sätt att tala om att det är redo att ta emot kommandon. Du måste alltså "stå vid prompten", som vi brukar säga. Det innebär att skalfönstret är i fokus och att markören står och blinkar till höger om prompten. Då kan du skriva in och köra kommandon.

Ett nytt terminal-fönster

Övning
Starta ett skalfönster. Skriv in kommandot date och tryck Enter. Vad hände?

2. Arbeta med filer och kataloger

I det förra kapitlet såg vi exempel på filhanteraren Thunar. Även om den kanske är lätt att använda, tack vare det förutsägbara grafiska gränssnittet, så kommer du i längden bli mer effektiv om du använder skalfönstret för att hantera filer och kataloger. I skalet har du tillgång till många fler funktioner och efter lite träning går det mycket snabbare att skriva in dessa korta kommandon.

Skalfönstret kommer till en början att kännas förvirrande. Det presenterar ingen information om du inte själv ber omdet. Det enda du ser är prompten. Låt oss titta på ett exempel:

lisan123@tlvm-3-1-2:~$ pwd
/home/lisan123
lisan123@tlvm-3-1-2:~$ ls
 Android     Downloads   Music      scores.txt 
 Contacs     Favorites   Pictures   Searches
 Desktop     git         Public     Templates
 Documents   Links       python     Videos
lisan123@tlvm-3-1-2:~$ cd Documents
lisan123@tlvm-3-1-2:~/Documents$

I det här exemplet har användaren anpassat prompten så att den visar kontot för den inloggade användaren lisan123, därefter namnet på den dator som användaren är inloggad på, följt av den aktuella katalogen, alltså den plats i filträdet där användaren befinner sig för närvarande. Eftersom användaren är i sin hemkatalog skrivs detta ut som ~, ett tecken som vi kallar för tilde.

Vid den här prompten har användaren först skrivit kommandot pwd. Det är en för kortning av print working directory, alltså skriv ut namnet på den aktuella ktalogen. Och det är precis vad som har hänt, men i det här fallet har skalet inte använt den korta beteckningen ~ utan hela den långa sökvägen. Under roten längst upp i filsystemet finns en katalog home och i den finns en underkatalog lisen123 som är denna användares hemkatalog.

Nästa kommando är ls som är en förkortning för list structure. Det innebär att vi får en lista över allt som finns i den aktuella katalogen, alla filer och underkataloger. I det här exemplet ser vi inte tydligt vad som är filer och vad som är kataloger, men en god gissning är väl att Music är en underkatalog med musikfiler och att scores.txt är en textfil. Det är förstås alltid viktigt att ge filer och kataloger vettiga namn.

Det tredje kommandot är cd Documents. Kommandot cd är en förkortning för change directory och innebär att vi byter katalog. Vi flyttar alltså runt i filsystemet. För att veta vart vi ska, kräver kommandot ett argument, i det här fallet underkatalogen Documents. Resultatet av kommandot är att vi har flyttat oss och efteråt befinner oss just i underkatalogen Documents. Vi fick ingen egentlig bekräftelse på detta, förutom att prompten har ändrat utseende. Vi behöver alltså själva i stor utsträckning hålla i huvudet var vi är någontstans i filsystemet. Det brukar ta ett tag att vänja sig vid, men det går alltid att kolla var man är med pwd.

Övning
Kolla vilken katalog du själv står i just nu med kommandot pwd. Lista sedan innehållet med ls.

3. Sökvägar

I skalfönstret finns inga tjusiga ikoner att klicka på, eller dra och släppa för att flytta runt filer. I stället får vi skriva kommandon och ange sökvägen till de filer vi vill jobba med. En sökväg är helt enkelt en adress som pekar ut en fil eller katalog någonstans i filsystemet. Och ibland kan en sökväg peka ut flera filer.

Sökvägar kan vara relativa eller absoluta. En relativ sökväg utgår från den aktuella katalogen, alltså från där du står just nu. En absolut sökväg utgår alltid från rotkatalogen, längst upp i hierarkin. Rotkatalogen betecknas med / och vi använder samma tecken för att separera flera katalognamn i en kedja. Den absoluta sökvägen /home/lisan123 pekar alltså ut katalogen lisan123 som ligger i katalogen home som ligger direkt under roten.

Som vi såg ovan kan din hemkatalog förkortas med ~. Du kan alltså alltid skriva cd ~ för att komma hem till hemkatalogen. Andra användares hemkataloger heter till exempel ~berja456, men generellt har du inte särskilt mycket åtkomst till andras hemkataloger. Att våra system använder home för att organisera hemkataloger är rätt vanligt, men det finns även andra lösningar.

Om du vill förflytta dig nedåt en nivå i filträdet, alltså från en katalog till en underkatalog, så har vi redan sett att du kan skriva cd följt av katalogens namn. Om du vill förflytta dig ett steg uppåt kan du skriva cd .. i stället. Alla kataloger, utom rotkatalogen, innehåller nämligen en fördefinierad katalog .. som pekar ut nivån omedelbart ovanför. På samma sätt kan du alltid använda en ensam punkt . för att peka ut den aktuella katalogen.

Sökväg Förklaring
/ rotkatalogen
/home katalogen home direkt under roten
labbar katalogen labbar direkt under aktuell katalog
../info en katalog på samma nivå som aktuell katalog, alltså först en katalog uppåt och sedan ner i katalogen info
~/exempel.txt en fil i hemkatalogen
/home/lisan123/test.txt en fil i hemkatalogen för lisan123

4. Hjälp

För de allra flesta av oss är det omöjligt att komma ihåg alla Linux-kommandon. Men du kan komma långt genom att känna till grunderna samt hur du kan ta reda på mer. Linux har lite olika inbyggda hjälpsystem, men de kräver tålamod eftersom det finns mycket text att läsa.

Manualsidorna kan vi få fram med kommandot man. Ofta skriver vi man följt av ett sökord som motsvarar det vi vill ha hjälp med, till exempel ett särskilt kommando.

Du kan själv prova att skriva man ls för att få hjälp med ett kommando som vi redan har sett. Men du får ingen hjälp om du skriver man cd. Varför då? Det beror på att det finns ett litet antal kommandon som är inbyggda i själva skalet, och cd är just ett sådant. För att se en lista med kommandon som är inbyggda i skalet kan du i stället skriva help och vill du veta mer om det inbyggda kommandot cd skriver du help cd.

Manualsidorna kan vara rätt långa och vi kan behöva skrolla framåt eller bakåt. Följande tangenter gäller:

Tangent Förklaring
Enter Bläddra en rad framåt
Space Bläddra en skärmsida framåt
B Bläddra en skärmsida bakåt
Q Avsluta skrollandet
H Visa tillgängliga snabbtangenter

Övning
Leta reda på manualsidan för kommandot man.

Manualsidorna är uppbygga enligt en särskild mall. Om du förstår hur mallen ser ut är det enklare att leta efter saker. En manualsida börjar alltid med ett stycke som heter NAME som innehåller de kommandonamn som sidan beskriver. Där finns också en kort beskrivning.

Därefter kommer ett avsnitt SYNOPSIS. Det beskriver hur man kan skriva kommandot vid prompten. Det kan se lite kryptiskt ut vid första anblicken. Så här ser till exempel början av manualsidorna för ls ut:

LS(1)                            User Commands                           LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the FILEs (the current directory by default).
       Sort entries alphabetically if none of -cftuvSUX nor --sort  is  speci
       fied.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

Den generella syntaxen under SYNOPSIS säger att om vi vill använda ls så kan vi först ange någon form av flaggor, växlar eller options. Det är små korta koder som på något sätt modiferar hur ls arbetar. Vi kan sortera filerna, välja ut bara några, markerar kataloger på särskilt sätt, och så vidare. De tre punkterna anger att vi kan ange många sådana flaggor om vi vill. Hakparenteserna indikerar dock att det är helt frivilligt.

Efter flaggorna kan vi, om vi vill, ange en eller flera filer. Vi kan alltså skriva namnet på en specifik katalog, om vi vill se innehållet där, eller ett mönster som pekar ut bara vissa filer. Möjligheterna är i det närmaste oändliga. Men även detta är frivilligt.

lisan123@tlvm-3-1-2:~/python$ ls -l *.py
-rwx------ 1 lisan123 student 17620 Apr 25 12:05  lab1.py
-rwx------ 1 lisan123 student 17139 Apr 25 10:20  lab2.py
-rwx------ 1 lisan123 student  3384 Apr 25 09:58  lab3.py

I det här exemplet har vi använt flaggan -l (alltså lilla bokstaven L) vilket instruerar ls att skriva ut mer information än vanligt. Vi har också använt mönstret *.py vilket innebär att vi bara listar filer som har filändelsen .py.

Längre ner på manualsidorna kan du till exempel hitta ett stycke om kommandots bakgrund, ofta heter det stycket HISTORY. Sist i dokumentet finns också ett stycke som visar relaterade kommandon. Det kan vara bra att titta i om man inte har riktigt full koll på vilket kommando man ska använda.

Övning
Leta reda på manualsidan för kommandot ls.

Övning
Slå upp kommandot apropos i manualen. Vad gör det?

Övning
Kör kommandot man -s1 Intro och läs igenom denna introduktion till manualsidorna.

Här följer några exempel på kommandon för att få hjälp:

Kommando Förklaring
man Visar sidor ur manualen
man ls Visar manualsidor för ls
man -k output Visar en lista med kommandon som har output i beskrivningen
help Visar en lista över inbyggda kommandon i skalet
help cd Visar manualsidorna för det inbyggda kommandot cd
apropos Söker i alla manualsidor
apropos ftp Visar alla kommandon där ftp finns med

Sammanfattning

  • Terminalen eller skalfönstret används för att skriva särskilda kommandon.
  • Varje användare har en personlig hemkatalog för att lagra egna filer.
  • Den aktuella katalogen är den där vi förnärvarande jobbar.
  • En sökväg pekar ut en eller flera filer eller kataloger. En relativ sökväg utgår från aktuell katalog. En absolut sökväg utgår från roten.
  • Kommandon som vi har använt: date, pwd, ls, cd, man

Diagnos
Gör gärna övningarna i det här kapitlet innan du kastar dig över diagnos C2.


Sidansvarig: Peter Dalenius
Senast uppdaterad: 2025-06-30