I två av labsalarna (MVF24, MVF25) på Matematik används ett Linux-system från RedHat och i den tredje salen (MVF22) används Windows. Linux är en variant av ett operativsystem som heter Unix, men utvecklat från grunden med helt egen källkod.
Till skillnad från Windows och Mac OS är Linux ett fritt operativsystem, vilket inte bara betyder att det är gratis att ladda hem till sin egen dator, utan också att vem som helst får ändra i det, bygga vidare på det och distribuera det till andra. Därför finns det många versioner, så kallade distributioner, av Linux. Några av de vanligaste är Ubuntu, Red Hat, Fedora och Debian.
Egentligen är Linux bara namnet på själva grundprogrammet, den så kallade operativsystemkärnan, som bara håller reda på de andra programmen, och till exempel inte innehåller något fönstersystem. Men när man säger Linux menar man ofta hela distributionen, och då följer det med ett stort antal andra program, till exempel fönstersystem, textredigeringsprogram och spel.
Det är sant att Linux innehåller många verktyg som underlättar för experten, och som kräver att man läser manualer (bruksanvisningar) innan man använder dem första gången, men moderna Linux-system, är ganska lätta att använda även för nybörjaren.
Fönstersystemet är egentligen inte en del av operativsystemet i Linux, som det är i tex. Windows. Om man vill kan man köra Linux i ett rent textläge. Men det finns flera olika fönstersystem till Linux, och nästan alla användare kör något av dem.
I figuren nedan ser du ett exempel på hur skärmen kan se ut när man loggat in i Linux. (Om du klickar på figuren öppnas en ny flik med bilden i ett större format).
Skärmen påminner ganska mycket om skrivbordet i Windows (eller Mac OS). Högst upp finns en menyrad (Applications, Places och System) som man kan klicka på för att starta olika program. I figuren har man startat tre program, en webläsare som heter Firefox, ett terminalfönster och programmet Matlab. Terminalfönstret är det lilla fönstret längst fram. I webläsaren ser vi kurshemsidan för den här kursen. I matlabfönstret, som hamnat lite bakom de andra, ser vi en del av andra föreläsningen i editorn. (Vilka program som är igång syns också i listan längst ner på skärmen).
Uppgift 1. Starta Firefox, Matlab och ett terminalfönster som i figuren ovan. Firefox och Matlab hittar du i Applications-menyn och ett terminalfönster startar du genom att högerklicka med musen placerad på bakgrunden (det lila området i figuren) och välja alternativet Open Terminal (du kan också starta ett terminalfönster från Applications-menyn. Välj Applications -> System Tools -> Terminal).
I Windows (och Mac OS) bläddrar man bland sina filer genom att klicka på symboler som visar de olika mapparna man har. I fönstersystemet som används av Linux kan man göra på motsvarande sätt. Högt upp till vänster på skrivbordet (bakom firefoxfönstret på bilden ovan) finns en symbol som heter CID's Home (där CID är ditt CID). Klicka på den, så får du upp ett fönster med alla dina mappar. (Du kan också öppna fönstret genom lämpliga menyval i Places-menyn högst upp i fönstret).
Ett användbart kommando så här i början är kommandot man, som visar manualbladet (beskrivningen) för ett kommando. Det kommando man vill läsa manualbladet för anges efter man. Anropet
man lsvisar manualbladet för kommandot ls. I anropet ovan kallas man för kommando och ls för argument. Skriver man istället
man manvisas manualbladet för man-kommandot eftersom man anget man som argument. (När man har läst färdigt stänger man manualbladet genom att trycka på q).
Man kan precisera hur man vill att ett kommando ska anropas med hjälp av flaggor. Anropet
man -hvisar en kortversion av manualbladet för kommandot man. (Flaggor känns igen på att de inleds med ett minustecken).
När man anropar kommandon i Linux, anger man kommandot följt av eventuella flaggor, följt av eventuella argument.
Det ska väl också sägas att manualbladen är ganska svårlästa för den som inte är van. När man börjar använda kommandon i Linux brukar man börja använda några av de vanligaste kommandona, utan eventuella flaggor, och först när man blivit lite van börja slå i manualbladen. Figuren nedan visar ett terminalfönster efter anropet man man.
cd /chalmers/usersbyter aktuell katalog till /chalmers/users/. När man anger sökvägen relativt roten (som i exemplet ovan) kallar man det för absolut sökväg. Man kan också ange sökvägen relativt aktuell katalog. Anropet
cd ..byter ett steg upp i sökvägen (om aktuell katalog före anropet var /chalmers/users/ har man bytt till /chalmers/ efter anropet). En sökväg som anges relativt aktuell katalog kallas relativ sökväg.
Anropen
cd /chalmers/users/ cd lenalisabyter aktuell katalog till /chalmers/users/lenalisa (förutsatt att det finns en katalog som heter lenalisa i katalogen /chalmers/users/.
Anropet
cd(dvs. utan argument eller flaggor) byter till din hemkatalog. (Det går förstås också bra att ange hela sökvägen till din hemmakatalog om du vill byta dit).
lsOm man instället vill se innehållet i en viss katalog anger man sökvägen som argument. Anropet
ls /chalmers/users/lenalisa/Intromatematikvisar innehållet i katalogen /chalmers/users/lenalisa/Intromatematik (förutsatt att det finns en katalog med den sökvägen). Precis som för cd ovan kan man ange sökvägen relativt aktuell katalog. Anropen
cd /chalmers/users/lenalisa/ ls Intromatematik/kommer också att visa innehållet i katalogen med sökvägen /chalmers/users/lenalisa/Intromatematik.
ls används ofta med flaggorna -a och -l. Om flaggan -a används visas även dolda filer (tex. eventuella systemfiler eller konfigurationsfiler som finns i katalogen). Flaggan -l listar innehållet i katalgen i så kallat långt format (förutom fil/katalog namn visas ägare till filerna och katalogerna, samt när de skapades. Vem som har rätt att skriva eller läsa i filerna visas också. Skriv- och läs- rättigheter beskrivs under kommandot chmod nedan). I anropet
ls -laanvänds bägge flaggorna, och allt innehåll i aktuell katalog kommer att visas i långt format.
grep matematik lab1.txtvisar alla rader i filen lab1.txt som innehåller textsekvensen matematik. Om man vill söka efter en hel mening (ord med blanktecken emellan) omger man meningen med citationstecken. Anropet
grep "matematik är kul" lab1.txtvisar alla rader i filen lab1.txt som innehåller meningen matematik är kul. Vanliga flaggor för kommandot är -i, -w, -v och -n. Med -i ignoreras gemener/versaler, -w används då man vill matcha enbart mot hela ord, med -v visas bara de rader som inte innehåller den sökta matchingen och -n visar radnummer på träffarna.
cd /chalmers/users/lenalisa cp lab1.txt lab2.txtgör en kopia av filen lab1.txt (förutsatt att det finns en fil som heter lab1.txt i aktuell katalog). Kopian kommer att heta lab2.txt. Ursprungsfil och kopia behöver förstås inte placeras i samma katalog. Anropen
cd /chalmers/users/lenalisa/Intromatematik cp ../lab1.txt lab3.txtgör en kopia av lab1.txt som finns ett steg upp i katalogstrukturen (med .. anger man ett steg upp relativt aktuell katalog). Kopian döps till lab3.txt.
Ofta vill man kopiera flera filer eller kataloger på en gång. Flaggan -r används då. Antag att katalogen Intromatematik finns i aktuell katalog.
cp -r Intromatematik/ MatematikA/kommer att kopiera innehållet i katalogen Intromatematik till katalogen MatemaikA.
cp -r Intromatematik ../kopierar katalogen Intromatematik och allting i den en nivå upp i katalogstrukturen.
mv Intromatematik/ Intromatte/byter namn på katalogen Intromatematik till Intromatte.
mv Intromatematik ../flyttar katalogen (och dess innehåll) ett nivå uppåt i katalogstrukturen.
rm lab1.txttar bort filen med namnet lab1.txt i aktuell katalog. Om man vill ta bort en hel katalog och dess innehåll kan man använda flaggan -r.
rm -r Intromattetar bort katalogen Intromatte och dess innehåll (dvs. alla eventuella underkataloger och filer). Var försiktig när du använder flaggan -r i samband med kommandot rm, det är lätt hänt att man råkar ta bort för mycket. (Se också kommandot rmdir nedan).
mkdir MinlinuxKatalogskapar en katalog med namnet MinlinuxKatalog i akutell katalog.
rmdir MinlinuxKatalogtar bort MinlinuxKatalog från akutell katalog. Kommandot fungerar bara om MinlinuxKatalog inte har något innehåll.
För att se en fils nuvarande rättigheter används kommandot ls ihop med flaggan -l (se beskrivning av ls ovan). Antag att det finns en fil som heter lab1.txt i akutell katalog och att vi gör anropet
ls -l lab1.txtLinux kommer då att svara något i stil med
-rwxrw-r-- 1 lenalisa math11 568 Dec 24 20:04 lab1.txtFörsta tecknet (-) betyder att det är en fil (inte en katalog. Kataloger har d som första tecken).
Sedan följer tre triplar med bokstäverna r, w, x och -. Varje tripel visar vilka rättigheter som gäller för de tre grupperna av användare (user/group/other). Den första tripeln visar rättigheterna för gruppen user, den andra tripeln visar rättigheterna för gruppen group och den tredje tripeln anger rättigheterna för gruppen other. Rättigheterna för varje grupp visas i ordningen läsrättigheter (r), skrivrättigheter (w) och exekveringsrättighet (x). Bokstaven r anger att gruppen kan läsa filen, w att gruppen kan ändra filen och ta bort den, x anger att gruppen har rätt att köra filen. Om det står - istället för en bokstav, betyder det att gruppen inte har motsvarande rättighet.
rwxrw-r-- som i exemplet ovan betyder sålunda att filens ägare, gruppen user har skriv/läs och exekveringsrättingeter (rwx), gruppen group har läs och skrivrättigheter (rw-) och gruppen other har bara läsrättingheter (r--).
Anropet ovan ger ytterligare information om filen, filens ägare lenalisa, filens grupp math11 och datum när filen skapades (24 december i år kl 20:04), samt filens namn (lab1.txt)
För att ändra rättigheterna använder man chmod tillsammans med argument där man anger vilka grupper som ska ha vilka rättigheter. Några exempel:
chmod ugo+rwx lab1.txt
chmod go+r lab1.txt
chmod u-x lab1.txtDu kan bara ändra rättigheter för på filer som du själv äger.
lpr lab1.txtskriver ut filen lab1.txt på den skrivare som är satt som standard för dig. Om du vill precisera vilken skrivare utskriften ska hamna på använder du flaggan -P.
lpr -Pt-2025-color1 lab1.txtskriver ut filen lab1.txt på skrivaren med namnet t-2025-color1. (Man skriver alltså namnet på skrivaren direkt efter flaggan, inga blanktecken emellan). Vad en skrivare heter finns angivet på själva skrivaren (det ska sitta en klisterlapp med skrivarnamnet på alla skrivare.).
lpqvisar vad som finns i kö att skriva ut på den skrivare som är satt som standard för dig. På samma sätt som för lpr kan flaggan -P användas:
lpq -Pt-2017-laser1visar vad som finns i kö att skriva ut på skrivaren med namnet t-2017-laser1.
lprm 12345tar bort utskriftsjobb med nummer 12345 från din standardskrivare. Numren på utksriftsjobben framgår när du använder lpq.
lprm -Pt-2017-laser1 12345tar bort utskriftsjobb med nummer 12345 från skrivaren med namnet t-2017-laser1.