Jag kommer att beskriva grunderna för att kunna använda din Raspberry PI i kommandoläge, ofta kallat text läge eller kommando läge.

När du logga in på din PI så får du upp något som liknar

detta kallas prompt på Engelska och det visa vem, var och vart du är

  • pi är vilken användare du är inloggad som
  • @ (at) vid eller på  på svenska
  • raspberry vilken dator (namn) som du är inloggad på
  • ~ visar vilken katalog som du är i just nu, ~ används i Unix för att ange användarens hemma katalog.

Filsystemet

Filsystemet skiljer sig från det du är van på en Windows maskin där alla enheter har sitt eget namn C: D: osv och man använder \ mellan olika nivåer i filträdet. På unix system finns alla i samma filsystem, och använder / (obs! motsatt den som används i Windows). Man använder sig inte av olika enhetsbeteckningar utan all ligger i samma filträd. Ett unix filträd börjar alltid med ett / vilket är “rooten” (toppen) på filsystemet. Man ansluter olika enheter men biblioteksnamn i trädet.

Ett system med 3 partioner där P1 är ansluten som / (dvs toppen av filträdet) , P2 som /home och slutligen P3 som /var ser ut när man navigerar i trädet som man är på samma disk hela tiden men när man går ner i t.ex /home så går man från P1 till P2. Fördelen med att dela upp disken/diskarna i flera dela är bl.a att inget operativsystem gillar att få slut disk. Genom att dela upp disken kan man försäkra att användarna av systemet inte kan fylla upp de delar som systemet använder.

Det finns ett antal kataloger som har en speciell funktion och finns med på de flesta unixsystem

varför det finns både /bin och /usr/bin beror på att lång tillbaka var /usr inte en lokal disk på maskinen utan delades mellan flera system via t.ex NFS (en typ av nätverksdelning). Man behövde inte uppdatera på varje maskin utan endast på den som innehöll den delade disken. Att det även fanns /bin och /sbin berodde på att systemet behöver komma åt de grundläggande kommandona även den inte kom åt den delade disken. Därför finns oftast systemnära kommandon i /bin /sbin t.ex formatering av diskar m.m och mindre viktiga ligger i /usr/bin och /usr/sbin

Användare och Grupper

Linux använder två begrepp användare (user) och grupper (group) . På ett unixsystem  sparas dessa genom att översätta namnen till nummer. Användarnamnet kallas i unix UID (User ID) och gruppen för GID (Group ID) så man kan byta namn på en användare eller grupp bara man använder samma nummer.

Rättigheter/Åtkomst

Som i moderna windowsversioner (efter windows 98) så kan man sätta rättigheter på filer och kataloger som beskriver vad en användare eller grupp får göra. Standardsättet ger endast möjlighet att sätta rättigheter för

  • 1 användare
  • 1 grupp
  • andra än de två ovanstående

man kan sedan sätta rättighter för

  • R – läsa (Read)
  • W – Skriva (Write/Delete)
  • X – Köra (Execute)

Sedan kom en utökning som kallas ACL (Access Controll List) som ger möjlighet att hantera fler användare och grupper och utöka antalet möjligheter att styra åtkomsten

Kommandon

Kommandon skrivs som <kommando> <optioner> <parametrar>, de flesta kommandon har ett antal optioner som styr hur kommandot utförs. Optioner kan bestå av ett eller flera tecken, optionen skrivs med ett – för enkeltecken och två – för långa optioner (fler än ett tecken), t.ex -a och –all . De långa är kanske lättare att läsa men de korta har fördelen att de kan packas ihop så t.ex -a -b kan skrivas som -ab . För att få veta vilka optioner och parametrar som ett kommando har använder man kommandot

man

man är ett manualsystem som innehåller en manual för de flesta kommandon i ett unixsystem, ofta finns även manualsidor för konfigurationsfiler m.m. syntaxen för man är

t.ex se man ls ut som på bilden

man ls

 

Här får man först en beskrivning av vad kommandot gör och därefter en lista på alla optioner som kommandot accepterar. Tryck h för att få hjälp om hur man navigerar i man (och generellt på unix)

help

 

Grundläggande navigering

  • PIL UPP och PIL NER för att flytta dig upp och ner rad för rad
  • Mellanslag eller f (för forward), en sida ner
  • b (för backward), en sida upp
  • g (litet g) för första sidan
  • G (stort g) för sista sidan
  • q (quit) för att sluta

Det finns till och med en manual för man som man får fram om man skriver man man

ls

ls är en av de grundläggande kommandona, motsvarar DIR i DOS. Ett exempel på ls är

ls

 

Om man har en standardinstallation så färgkodas alla filer/kataloger när man listar dom enligt följande färgkoder

  • normal fil – vit
  • katalog- blå
  • länkfil – cyan om den inte pekar på en fil som inte existerar då visas röd färg istället
  • komprimerade filer (t.ex zip) – röd
  • bildfiler – mangenta

Det finns fler filtyper/färger ( pipes/block devices m.m) men dessa ligger utanför denna grundläggande instruktion.

Genom denna färgkod kan man se att Desktop och python_games är bibliotek och testfil är en vanlig fil

Denna lista innehåller inte speciellt mycket information om biblioteken/filerna. Genom att lägga till en option -l som ger en mer omfattande (long) information som filerna.

ls-l

 

Om vi titta på lista så har vi de 3 biblioteken/filerna men med mycket mer information än tidigare, kolumnerna beskriver från vänster, rättigheter, antalet länkningar (utanför denna artikel), användare, grupp, storlek i bytes, datum som filen skapades, namn.

Rättigheterna består av 10 tecken

  • om det är en fil (-) eller katalog (d)
  • vilka rättigheter ägaren (användaren) har – 3 tecken (beskrivs nedan)
  • vilka rättigheter gruppen har – 3 tecken (beskrivs nedan)
  • vilka rättigheter övriga (ej ägare eller med i grupp) har 3 tecken (beskrivs nedan)

Rättigheter beskrivs av 3 tecken och – i stället för bokstaven betyder att rättigheten inte gäller, de tre rättigheterna är

  • r för read vilken innebär att man kan läsa filen
  • w för write vilken innebär att man kan skriva och radera filen
  • x för execute vilken innebär att filen är körbar dvs ett program eller skript

r– betyder altså att man får enbar läsa filen

testfil i exemple ovan har rättigheterna -rw-r–r– vilket innebär att användaren pi får läsa och skriva till filen, gruppen pi får läsa filen och övriga får också läsa den.

I unix finns en speciell typ av filer som börja men en punkt, dessa är oftast inställningsfiler av olika slag och visas inte normalt när man använder ls, för att se detta måste man lägga till -a, som du ser finns ett antal nya filer

ls-la

 

filen . innehåller informationen om bibliotek (ett bibliotek är egentligen bara en fil som innehåller informationen om alla filer som ligger i katalogen)

filen .. innehåller informationen om vilken katalog som ligger ovanför i träden

filer .bashrc innehåller information om vad systemet ska köra för kommandon när man logga in och .bash_logout motsvarande när man loggar ut.

Om man inte anger någon parameter så visas alla filer, man kan begränsa lista genom att skriva ett filnamn eller använda jokertecken som i windows, * betyder ett eller flera valfria tecken, ? betyder ett valfritt tecken. Man kan använda mycket mer avancerade utval när man ska lista filer. Man använder sig av något som heter regulgärutryck (se länk till wikipedia för mer information), man kan t.ex visa alla filer som börjar med bokstaven p eller t  genom att skriva ls [p,t]*

cd

cd eller change directory fungerar på samma sätt som i windows. Man navigerar mellan olika kataloger i katalogstrukturen  Om man börjar katalognamnet med en / så kallas det en absolut sökväg dvs oavsett var man står som kommer man alltid rätt, t.ex /home/pi (hemma katalogen för användare pi). Om man istället börjar med ett namn t.ex Desktop så kallas den relativ sökväg dvs. den fungerar beroende på vart man står när man kör kommandot. Kommandot fungerar om man står i katalogen /home/pi därför att det finns en katalog med namnet Desktop i den katalogen. Men om man t.ex står i katalogen / så fungerar det inte då det inte finns någon katalog som heter Desktop där.

Det finns ett par special namn som man kan använda

mkdir

mkdir som är en förkortning av make directory används för att skapa bibliotek, man anger helt enkelt namnet på det nya biblioteket efter mkdir, t,ex mkdir nydir

mkdir

 

rmdir

rmdir som är en förkortning av remove directory används för att ta bort bibliotek som inte ska vara kvar. rmdir tar inte bort bibliotek som innehåller filer utan det måste vara helt tomt. Man skriver namet på de bibliotek som man vill tar bort t.ex rmdir nydir

rmdir

 

Jag kommer att beskriva mer kommandon i del 2