Linux CLI

Bild 1: Kommandoskal eller SHELL

För att du enkelt ska kunna använda några av operativsystemets funktioner som styr dators hårdvara måste du först kunna kommunicera med operativsystemet. Till din hjälp finns det som kallas kommandoskal eller användargränssnitt. Kommandoskalet kallas på engelska shell som betyder skal eller kommandotolk.

Det finns ofta flera olika skal/kommandotolk som du kan välja mellan. I Linux är bash (Bourne Again Shell) ett vanligt skal men du kan också använda c-shell eller korn-shell.

Hur kommer man åt kommandotolken?

Det gör du med Terminalprogrammet. Terminal är kommandobaserade gränssnitt som kallas CLI, Command Line Interface och fungerar i princip som följande:

Bild 2: Terminal
  • På terminalen visas en prompt som ger dig möjlighet att ange ett kommando.
  • Du anger det kommando som ska utföras genom att skriva det på prompten.
  • Kommandotolken tolkar ditt kommando så att operativsystemet kan utföra kommandot om det är möjligt, annars får du ett felmeddelande från tolken.
  • Slutligen när kommandot är utfört visas prompten på nytt, redo att ta emot fler kommando.

Prompt

Bild 3: Prompt

Prompten visar användarnamn som är inloggad på en viss dator.

  • Symbolen @ separerar användarnamn och datornamn.
  • Kolon (:) är det tecken som separerar värdnamn och arbetskatalogen.
  • Tilde (”~”) är ett specialtecken som representerar hemkatalogen.
  • Den speciella dollartecken ($) säger att den inloggade användaren har begränsade rättigheter och att användaren inte är administratör (#).

Kommando ls

Bild 3: Kommando LS

För att se innehåll i en viss katalog används kommandot ls:

chalo@lin14:~$ ls

Som framgår på bilden till höger, listar kommandot ls innehållet i katalogen och därefter visas prompten igen, redo att ta emot fler kommando. Alla kommandon och filnamn i Unix och Linux är ”case sensitive” exempelvis kommandot ls måste skrivas med små bokstäver och inte stora.

Bild 4: Kommando LS -L

För en mer detaljerad lista över kataloginnehållet kan vi ange kommandots alternativ, även känd som switchar. Det är ett sätt att finjustera kommandot, till exempel ls -l

chalo@lin14:~$ ls -l

Som framgår på bilden till höger visar ls -l kommando mycket mer information om innehållet i hemkatalogen. Observera att den första bokstaven i listan är bokstaven d som står för directory.

Dolda filer

Med ls -a kan dolda filer visas, dolda filer är oftast filer som innehåller inställningar/konfigurationer till olika tjänster och program. Deras filnamn börjar med en punkt. Det finns förstås inget som hindrar att man kombinerar de båda möjligheterna (ls -la).

 Automatisk komplettering

De flesta Linux kommando kan komplettera ord användaren skriver på prompten, du behöver trycka på TABB tangenten för att använda denna funktion. När TABB inte fungerar innebär att du behöver ange mer information till exempel ett tecken till.

Om du är i en situation där det finns flera liknande namn på filer eller kataloger trycker du TABB två gånger för att få en lista med alla möjliga träffar.

Rensa skärmen

Innan vi gör något annat låt oss rensa skärmen för att ta bort skräp som produceras av utsignalen från våra tidigare kommandon.
chalo@lin14:~$ clear

 Ändra arbetskatalogen

Bild 5: Kommando PWD

Som default ställer Linux prompten i användarens hemkatalog, /home/användarnamn. Användarens hemkatalog representeras med tecken ~.

  • chalo@lin14:~$
  • chalo@lin14:~$ cd Documents
  • chalo@lin14:~/Documents $

Bilden till höger visar hur den aktuella arbetskatalogen kan tas fram med kommandot pwd (”print working directory”).

Därefter exekveras kommandot cd ~ för att flytta tillbaka till användarens hemkatalog.

  • chalo@lin14:~/Documents $ cd ~
  • chalo@lin14:~$ pwd
  • /home/chalo

Till skillnad från MS-DOS och Windows använder Linux ett snedstreck (”/”) snarare än ett bakstreck (”\”) för att åtskilja katalogerna.

Flera alternativ finns för kommandot cd:

cd ..    —— hoppa ett steg upp i filträdet
cd ~     —— hoppa tillbaka till katalogen där du var innan
cd /     —– hoppa till rot
cd /etc     — hoppa till en viss katalog

Den speciella katalognamn ”..” (dubbel-dot) betyder ”en katalog upp”:

Flytta filer

Bild 6: Flytta filer

Låt oss säga att vi hämtat två bilder med en webbläsare från internet och att de har sparats i katalogen nedladdningar (Downloads). Dessa bilder ska flyttas till en egen katalog under huvudkatalogen Pictures.

  1. Vi börjar med att verifiera utgångspunkten (fullständig sökvägen)
  2. Vi tittar vad som finns i katalogen Downloads. Två filer ska finnas med liknande namn men som skiljer sig i filändelse.
  3. Vi tittar vad som finns i katalogen Pictures.
  4. Vi skapar en folder med namn Animals i huvudmappen Pictures 
  5. Vi ändrar arbetskatalogen till ~/Downloads 
  6. Vi flyttar filerna till ~/Pictures/Animals

Ta bort filer

Vi har två pingvinbilder men vi behöver bara en, den andra ska tas bort med kommando RM (remove). Sedan ska vi också ta bort katalogen Animals.

Bild 7: Ta bort kataloger och filer

Notera att en fil kommer att finns kvar i katalogen Animals.

Varning! Till skillnad från Microsoft Windows papperskorg finns det inget sätt att ångra en radering med rm.

För att ta bort kataloger/folder ka användas kommando RM med -r alternativ eller RMDIR. Kommandot RMDIR (remove directory) tar bort kataloger ifall dem är tomma.

Skapa och Kopiera textfiler

Vi skapar först två kataloger i katalogen ~/Documents, Originals och Copies. Några filer kommer att skapas och sparas i mappen Originals. Sedan kopieras dessa filer till mappen Copies.

Bild 8: Skapa kataloger och filer

Det finns flera varianter av kommando för att skapa filer och fylla dem med något innehåll. Följande kommandon ska användas: echo, cat, touch och skapande av filer via omdirigering (>)

Nu kan vi kopiera filer från ~/Documents/Originals till ~/Documents/Copies

Ändra namn på filer och kataloger

Förutom att flytta filer kan MV kommandot användas för att ändra namn på filer och även på kataloger. När man ändrar namn på kataloger bör man tänka på katalogens innehåll som kanske används av andra program.

Nu är vi klara och avslutar Terminalprogrammet genom att ange kommandot exit.

Du kanske undrar varför skall man lära sig massor med bökiga kommandon när det finns enkla grafiska program?

  1. Guider och handledning blir enkel. Istället för en lång beskrivning över hur och var du skall klicka (med bilder till), så kan man få ett fåtal kommandon som man enkelt kopierar till terminalen och kör.
  2. Kontroll. Med terminalen så kan man få full kontroll över vad som görs, och hur.
  3. Trygghet. Att lära sig grunden i terminalen ger en trygghet som användare. Ubuntu har ett så kallat ”felsäkert läge” som du kan logga in i, vilket enbart är textbaserat. Det är bra att känna sig lite hemma i detta

Uppdatera Ubuntu

Tryck på tangenter CTRL och Alt och t för att öppna en terminal. För att hämta uppdateringar från nätet skriv följande kommando:

chalo@lin14:~/sudo apt-get update

Ange ditt lösenord och tryck på Enter. Ubuntu hämtar uppdateringar och sedan visar hur dem bearbetas.

För att uppgradera mjukvara exekvera följande kommando:

chalo@lin14:~/sudo apt-get upgrade

För att installera nya program/mjukvara/paket exekvera följande kommando:

chalo@lin14:~/sudo apt-get dist-upgrade

Några användbara Linux kommando

Kommando Beskrivning
cd <sökväg> Change Directory, kommandot för att navigera i katalogstrukturen. Om du bara skriver dc och därefter trycker du på Enter hamnar du i din hemkatalog.
cd home Ändrar arbetskatalogen till din hemkatalog oavsett den aktuella katalogen därifrån kommandot exekverats.
cd / Ändrar arbetskatalogen till högsta platsen (root) i katalogstrukturen.
cd . Betyder aktuellt katalog
cd .. Betyder huvudkatalogen, till exempel om arbetskatalogen är /usr/bin, /usr är huvudkatalogen.
ls Listar innehållet i en katalog
ls -a Visar även dolda filer
ls -l Visar behörigheter till filerna. Om du vill se alla filer som börjar på bokstaven a skriver du ls –a a*
mkdir Skapar kataloger, till exempel för att skapa katalogen Test exekvera: mkdir Test
rm Tar bort filer och kataloger (rm -r <katalogensnamn> eller rm -rf <katalogensnamn>)
pwd Visar aktuellt arbetskatalog
clear Rensar skärmen
cp Kopierar filer, till exempel för att flytta filen commands.txt till användarens Desktop exekveras: /home/chalo/commands.txt /home/chalo/Desktop/
mv Flyttar filer eller kataloger
find Letar efter filer, till exempel find /home/chalo/ -name commands.txt
ifconfig Visar nätverkskonfiguration, IP adress, m.m.
ifdown Stänger ner nätverkskortet. För att stänga ner eth0 exekvera: ifdown eth0
ifup Startar upp nätverkskortet. För att starta eth0 exekvera: ifup eth0
passwd Ändra lösenordet för aktuell användare. För att ändra någon annan användarens lösenord exekvera: passwd <användarnamn>
nano Textredigerare
shutdown -h Avslutar Linux och stänger av datorn
shutdown -r Avslutar Linux och startar om datorn
w För att se vilka som är inloggade och vem du är inloggad som.
sudo För att exekvera kommando som root.