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
1 |
pi@raspberry ~ $ |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/etc Systeminställningar för systemet och kommandon /dev Specialfiler för olika enheter /bin Kommandon som alla får köra /lib Olika typer av programbibliotek /proc Läsa och skriva information direkt till operativsystemet /var Filer som används av olika kommandon, t.ex loggfiler m.m /opt Extra applikationer /sbin Kommandon som bara root får köra /home Användarna filer ligger normalt här /tmp Katalog för temporär lagrning /usr innehåller kommando bibliotek m.m /usr/bin Kommandon som alla får köra /usr/sbin Kommandon som bara root får köra |
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
1 |
man <kommandonamn> |
t.ex se man ls ut som på bilden
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)
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
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.
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
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
1 2 3 4 5 |
cd .. Flyttar dig ett steg upp i katalogträdet cd Flyttar dig till din hemmakatalog (/home/pi) cd ~ Flyttar dig till din hemmakatalog cd ~root Flyttar dig till root's hemmakatalog cd - Flyttar dig till katalogen före sista cd kommandot |
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
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
Jag kommer att beskriva mer kommandon i del 2
Recent Comments