1. Shell
1.1 Vad är ett shell?
Ett shell är ett program som tar kommandon från användaren och exekverar dessa på datorn. Ett shell under UNIX har vissa likheter med Microsoft command.com. De shell som finns har oftast även programmeringsmöjligheter.
1.2 Kommandon och argument
Kommandon och argument i ett shell skiljs åt med mellanslag. I vissa fall finns kommandot inbyggt i shell, annars laddas kommandot (programmet) in från disk. Ifall kommandot eller argumentet består av flera ord (mellanslag) kan man gruppera orden med hjälp av tecknet ".
ls ~/
echo "Hello World"
2. Bibliotek och fil hantering
2.1 Absoluta och relativa sökvägar
Om du anger en sökväg som ej börjar på "/" eller "~" så antar shell att sökvägen du anger är relativ till biblioteket du står i. Detta kallas relativ sökväg. Om sökvägen du anger börjar på "/" eller "~" så antar shell att sökvägen du anger är relativ till root biblioteket (det första biblioteket) och oberoende av vilket bibliotek du står i. Detta kallas absolut sökväg.
relativ: ls bin
absolut: ls ~/mail
2.2 Navigera runt i filsystemet
Med hjälp av kommandot cd biblioteknamn kan du navigera runt i filsystemet (ändra vilket bibliotek du står i). cd .. hoppar till föräldrern till det bibliotek som du står i. pwd visar vilket bibliotek du står i. cd utan argument, cd ~ eller cd ~användarnamn byter bibliotek till ditt hemma bib liotek.
2.3 Lista innehållet i bibliotek
Kommandot ls listar de filer som finns i biblioteket du står i. ls biblioteksnamn listar de filer som finns i biblioteket du anger. Om du anger argumentet -la till kommandot ls listas alla filer och filrättigheter.
ls -la
2.4 Skapa bibliotek
mkdir biblioteksnamn skapar ett nytt bibliotek med det namnet du anger.
mkdir Dokument
2.5 Kopiera filer
Kopiera filer gör du med hjälp av kommandot cp filnamn destination. Ifall destina tionen inte är ett bibliotek får filen destinationsnamnet. Vill du kopiera filen till biblioteket du står i anger du . som destination.
cp ~/.login ~/bin
cp ~/.login ~/login.bak
2.6 Flytta och döpa om filer
Genom att skriva mv filnamn destination kan du flytta/döpa om en fil. Ifall destina tionen inte är ett bibliotek får filen destinationsnamnet. Om du vill döpa om en fil flyttar du den helt enkelt till samma bibliotek som den finns i fast med ett nytt namn.
mv ~/dead.letter ~/HarryBellafonte
mv ~/HarryFellafonte ~/Dokument
mv HarryFellafonte dead.letter
2.7 Ta bort filer/bibliotek
Kommandot rm filnamn tar bort en fil. Bibliotek raderar du med hjälp av kommandot rmdir biblioteksnamn. Vill du ta bort ett bibliotek och alla filer och bibliotek som finns i detta biblioteket kan du använda kommandot rm -r biblioteksnamn, men tänk efter PI gånger innan du använder detta kommandot.
rm dead.letter
rm Dokument
rm -r Dokument
2.8 Rättigheter
Om du vill ändra rättigheterna på en fil eller ett bibliotek använder du kommandot chmod rättighet(er) filnamn/biblioteksnamn. Kommandot lägger till och/eller tar bort rättigheter på filer/bibliotek. Den första bokstaven/bokstäverna i rättigheter skall vara: a för all, g för group och u för user. Efter denna bokstaven anger du ett minus om du vill ta bort rättigheter eller ett plus om du vill lägga till. Efter plus/minus anger du vilka rättigheter du vill ändra. Bokstaven som du anger är: x för execute, r för read och w för write.
chmod ag-rxw ~/
chmod u-r spoff
chmod a+r ~/dead.letter
chmod u+r ~/dead.letter
2.9 Titta på filer
cat filnamn visar filens innehåll.
cat ~/dead.letter
2.10 Hjälp
I UNIX finns det online hjälp på nästan alla shellkommandon och applikationer. man kom mando visar hjälp på det kommando du anger. Du kan även använda man -k ord för att få fram en lista på vilka hjälptexter som finns om det ordet du angav.
man ls
man -k compiler
3. Text editor
3.1 Emacs
Emacs är en text editor (plus en hel del till) som är mycket vanlig under UN*X. Vissa personer påstår att ordet emacs betyder Escape-Meta-Alt-Control-Shift. När du har använt emacs ett tag kommer du säkert att förstå denna förkortningen.
3.2 Starta emacs
Emacs startar du genom att skriva emacs. Du kan även på kommando raden ange vilka filer du vill editera.
3.3 Emacs menyer
Efter nästan alla menyval i emacs finns det en text inom parentes som anger vilken tangent bords kombination du kan trycka på för att utföra meny kommandot. T.ex. efter menyvalet files/Open file... står det (C-x C-f). Detta betyder att du skall hålla nere control knappen, först trycka x och sedan på f. Står det (C-x 2) betyder detta att du skall hålla nere control, trycka på x och sedan släppa upp control och trycka på knappen 2. M- betyder att du skall hålla nere knappen meta. Genom att trycka (C-h t) visar emacs en tutorial.
4. Utskrift
4.1 Skriva ut en textfil eller en postscript fil
Kommandot lpr -Pqms filnamn skriver ut en fil på QMS skrivaren.
4.2 Visa skrivar kön
Genom att skriva lpq -Pqms visas alla dokument som finns i skrivar kön (qms skrivaren).
4.3 Ta bort dokument ur skrivar kön
För att ta bort ett dokument ur skrivar kön måste du först veta vilket id nummer dokumentet har i skrivar kön. Med hjälp av kommandot lpq -Pqms kan du kolla id nummert. Skriv sedan lprm -Pqms idnummer för att ta bort dokumentet.
4.4 Olika skrivare
På skolan har vi två olika skrivare, dessa kallas för qms och hp4si. I skrivar kommandona kan du använda argumentet -Php4si för att hänvisa till skrivaren hp4si iställer för qms.
5. Process hantering
I UNIX finns det något som heter multitasking som betyder att man kan köra flera program samtidigt. Ett shell har en möjligthet att ha flera kommandon igång samtidigt, dock så kan bara ett kommando/shell åt gången ha hand om tangenbordsinmatningen. Detta kommandot kallas för en foreground process (endast ett kommando kan vara en foreground process). Alla andra kommandon kallas för background process. Ett kommando kan även vara suspended (fryst).
5.1 Lägga ett kommando i bakgrunden
Om du enkelt vill lägga ett kommando i bakgrunden kan du skriva ett & tecken efter komman dot.
emacs &
5.2 Avbryta ett kommando
Ifall shell kör ett kommando som du vill avbryta så är det bara att trycka ner control-c. Då avbryts oftast det kommando som är en foreground process.
5.3 Frysa ett kommando
Genom att trycka control-z fryser du det kommando som är en foreground process. Skriver du bg lägger du det senaste frysta kommando som en bakground process. Kommandot fg lägger det senaste frysta kommandot som en foreground process.
5.4 Lista startade processer
Kommandot ps listar nästan alla program som körs. Vill du se alla program som körs på datorn skriver du ps -ef.
ps
ps -ef
ps -ef | grep pt97abc
5.5 Döda processer
Ibland (ofta) händer det att du vill avsluta en process. Kommandot kill processid dödar processen. Vill inte processen försvinna skriver du kill -9 processid. Vill du döda alla processer skriver du kill -9 -1. -1 betyder alla processer.
6 Shell finesser
I shell finns diverse finesser för att göra livet lättare för programmeraren. Dessa är bland annat history, tab completition och repitition av senaste kommando.
6.1 Tab completition
Tab completition kan ske på två sätt, antingen på kommando eller på argument. Ifall du skriver en del av ett kommando och trycker på tab så visar shell alla kommandon som börjar på de bokstäverna du skrivit in. T.ex. skriver du rm och trycker på tab så visar shell alla kommandon som börjar på rm. Shell klarar också av att använda tab completition på argument. Skriver du in t.ex. ls ~pt97a och trycker på tab så visar shell alla hemma bibliotek som tillhör användare som har ett användarnamn som börjar på pt97a.
6.2 Kommando history
Du kan navigera i kommando historian genom att trycka på pil upp och pil ner.
6.3 Repition av senaste kommando
Du kan repetera det senaste kommandot genom att skriva !!. Du kan också skriva !bok stäver för att repetera det senaste kommandot som börjar på de bokstäver du skrev in. Tab completition fungerar även vid repitition av senaste kommando.
6.4 Wildcards
Wildcards, även kallat pattern matching, används för att matcha filnamn. I wildcards betyder asterix (*) noll eller flera av vilken som helst bokstav och frågetecken (?) endast och exakt en av vilken som helst bokstav. Kommandot cp *.fm5 /tmp kopierar alla filer som slutar på .fm5 till biblioteket /tmp. ls -d ~pt97?a? listar alla pt97 vars andra bokstav i användar namn är a.
7 Diverse applikationer
7.1 Remote login (rlogin)
Remote login betyder att du kan logga in och köra program på en annan dator än den du sitter vid.
rlogin chimera
Under Windows kan man köra ett program som heter telnet och logga in på en UNIX dator.
7.2 Mail program (pine)
Pine är en enkel textbaserad mail program. Startas med kommandot pine.
7.3 Kolla vem som är inloggad (rusers)
Programmet rusers kollar vem som är inloggade på UNIX datorerna på skolan.
7.4 Snacka (talk)
Om du vill prata med en polare (behöver inte vara någon polare) skriver du talk använ dare@dator.
7.5 Fixa bilder (xv)
Programmet xv är ett bildbehandlingsprogram som klarar av att konvertera mellan de flesta bildformat.