Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix



Relevanta dokument
Föreläsning 1 Unix. Datorer och datoranvändning Föreläsningar 2018/19. Operativsystem. Unix

kommando -fl argument

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, Raphael Corsoski, Erik Eliasson, Christian von Schultz, 2008.

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

Lab 7, 48 steg till ett bättre liv i Unix-labbet

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Introduktion till datormiljön och Python

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Datorsystem och programmering

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Kort-kort om utdelade användarkonton och datormiljön på NADA

Terminal vad det är vad man kan göra med den

komplex av nödvändiga, understödjande program som kallas Utanpå OS existerar ett - eller flera olika - slags skal som

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

MS-DiskOperativSystem Sammanfattning och Övningar

Introduktion till Unix och Linux

Programkonstruktion med datorintroduktion, 2D1339

Övningar för del I av kursen

SCI-A0000: Introduktion till Linux, hösten 2016

Editering, Kompilering och Exekvering av Javaprogram

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Kom igång med Windows 8.1

Datorer och datoranvändning Föreläsningar 2015/16

Introduktion till datateknik för språkvetare

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

Praktiska saker... Om Laboration 1. Studietips. Praktiska saker. Att studera hemifrån på PC. Seminarier & Lektioner & Handledning & Hemsida

Kort-kort om utdelade användarkonton och datormiljön på NADA

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

En handledning för studerande på Högskolan Kristianstad

Filers innehåll. Grundläggande databehandling. Representation av text. pffb = påhittat filformat för bilder

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Lathund för Linuxkommandon

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Operativsystem och användargränssnitt

DATORINTRODUKTION 2010 LABORATION 1

Introduktion till datateknik för språkvetare

Introduktion till LTH:s Unixdatorer

DD1311 Programmeringsteknik för CL1 Laborationer läsåret

Introduktion till LTH:s Unixdatorer

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Programmering i C++ Kompilering från kommandoraden

U N I X G R U N D K U R S Ö V N I N G S U P P G I F T E R

Textbearbetning i skalet och man-sidor

Arbeta effektivare med OS X

Datorintro för elektro på Solaris

Kommandotolken hittar du under Start->Program->Tillbehör->Kommandotolken

E-POST3 Ett lättanvänt e-postprogram med stöd för talsyntes

SMD 134 Objektorienterad programmering

Instruktion för laboration 1

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

1.#Bakgrund# En#kort#introduk+on#+ll#Unix# Klassiskt#första#bemötande# Håkan#Jonsson# Ins+tu+onen#för#systemteknik# Luleå#tekniska#universitet#

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Övning Installation av Gentoo och/eller Arch Linux

UNIX. 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Laboration 1. Mål. Vad laborationen går ut på. Redovisning

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

Instruktion för laboration 1

1 Logga in 1. 2 Byta lösenord 1. 3 Hemkatalog 1. 4 Unixintroduktion Viktiga kommandon Läsa 3

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

SF1672, Linjär Algebra med Matlab för F1 Lab0

Föreläsning 3.1: Datastrukturer, en översikt

DRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002

Olika shell. Skalprogrammering. Pipor och omdirigering av strömmar

OneDrive/SharePoint. Innehåll

Föreläsning 1 & 2 INTRODUKTION

For att fa information om kommandon eller program sa nns det manualsidor. Dessa

Objektorienterad Programmering (TDDC77)

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Unix. För en systembeskrivning se: För en systembeskrivning se:

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Unix. Dagens föreläsning. Unix. GUI/Textgränssnitt

Unix. Dagens föreläsning. Unix. GUI/Textgränssnitt. Syfte. Mål

HF0010. Introduktionskurs i datateknik 1,5 hp

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

Snabbguide AlphaSmart NEO2

Åtkomst och användarhandledning

FÖRORD. Version 2017 av detta läromedel är omskrivet för Windows 10. Jan-Eric Thelin, september 2017.

Handbok Kfloppy diskettformaterare

Kapitel 11. Program Skript Att köra program Interpreterande och kompilerande programspråk

Steg 4 b. Molntjänster Onedrive Office 365 Windows 10. Mars -16 Liljedalsdata.se. Liljedalsdata Molntjänster En del av steg 4 Sida 1

HF1010, Introduktionskurs i datateknik, 1.5 hp, hösten Föreläsning 1

eller Övningar i filhantering Tema: Mappar och filer i Windows samt Lagringsenheterna OBS! Endast för medlemmar i SeniorNet, Klubb Södertälje!

Handbok KDE:s Menyeditor. Milos Prudek Anne-Marie Mahfouf Lauri Watts Översättare: Stefan Asserhäll

Datorer och datoranvändning Föreläsningar 2016/17

Installation/Flytt av Rebus

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Guido van Robot och olika UNIX-kommandon

LAB 1 MS-DOS MicroSoft-DiskOperating System -Microsoft MS-DOS = synonymt med DOS -IBM PC-DOS -Novell DR-DOS

Din egen webserver med Apache

Transkript:

Datorer och datoranvändning Föreläsningar 2014/15 Per Holm Per.Holm@cs.lth.se Unix 2 (lab 1) Lågnivåprogrammering 23 (lab 2) Datorns hårdvara 45 L A TEX 69 (lab 3) Internet 98 (lab 4) Operativsystem 117 Matlab 134 (lab 5) Programspråk och GUI 156 Förberedelse inför laboration 1. Operativsystem, Unix historik Filer och kataloger Kommandon Filskydd Kommandotolk Processer Föreläsning 1 Unix Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 2 / 177 Operativsystem Unix Dator kör program Operativsystem en samling program som gör det möjligt att köra vanliga program Operativsystemet hanterar: de program som körs (program körs ofta parallellt, operativsystemet ser till att programmen får minne och tid att exekvera) yttre enheter (tangentbord, mus, skärm, nätverk,... ) lagring av data (filer,... ) skydd, felhantering kommunikation med användaren Linux, Windows, Mac OS X, Unix, DOS,... Historik: 1960-talet: Multics Multiplexed Information and Computing System stort operativsystem för stora datorer. Skulle lösa alla problem. 1969: Ken Thompson (AT&T Bell Labs) började skriva Unix, litet operativsystem för små datorer, avsett för programmerare. Idéer från Multics. 1973: Unix skrevs om i C av Dennis Ritchie, började distribueras. Två huvudvarianter: System V (AT&T), BSD (Berkeley University). Senare: mycket utveckling, många varianter (Linux, Mac OS X, NetBSD, A/IX, HP/UX, Irix,... ). Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 3 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 4 / 177

Kännetecken för Unix Filer i Unix Grundläggande: Unix är: Kärna liten, grundläggande funktioner Processer, tidsdelning Filskydd Fleranvändarsystem Kommandotolk Litet, standardiserat, flyttbart Inte för nybörjare, fast mycket enklare att lära sig nuförtiden när det finns grafiska användargränssnitt och skrivbordsmiljöer (MATE, Gnome, KDE,... ) I en dator måste man kunna lagra program (Word, Excel, Javakompilator, spelprogram,... ) och data (brev, hemsidor, programmeringsuppgifter,... ). Man lagrar program och data i filer. En fil finns normalt på skivminne och har ett namn. Filnamn i Unix: namn.tillägg (Calculator.java, Calculator.class, brev.txt, test1,...) tillägget är bara en extra upplysning, bestämmer inte filtypen Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 5 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 6 / 177 Kataloger Varje fil finns i en katalog. Kataloger kan innehålla underkataloger, så man får en hierarkisk struktur, ett filträd: / var usr h bin tmp d1 d8 dd a b c d... dic14zza dat14xyn Mail dod ptdc-workspace Filnamn I praktiken är det inte så rörigt som det ser ut på den förra bilden! Ett fullständigt (absolut) filnamn börjar från rotkatalogen och man räknar upp alla katalogerna med / emellan: /h/d8/c/dat14xyn/dod/lab1/example.txt Men Unix håller reda på en aktuell katalog som man själv kan ändra. Om lab1 är aktuell katalog så kan man komma åt ovanstående fil med följande namn (relativt filnamn): example.txt Om dat14xyn är aktuell katalog så kommer man åt filen med namnet: lab1 lab1 dod/lab1/example.txt example.txt Calculator.java Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 7 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 8 / 177

Förkortade filnamn Kommandotolk En del filer har förkortade namn: ~ (tilde) hemkatalogen för aktuell användare ~user hemkatalogen för användaren med användarnamnet user. (punkt) aktuell katalog.. (punktpunkt) katalogen ovanför aktuell katalog i filträdet Antag att dod/lab1 är aktuell katalog. Man kan navigera upp och ned i filträdet enligt följande exempel: ~/ptdc-workspace/lab1/calculator.java (till hemkatalogen, ner i ptdc-workspace, ner i lab1)../../ptdc-workspace/lab1/calculator.java (upp ett steg, upp ett steg, ner i ptdc-workspace, ner i lab1) Man kommunicerar med Unix genom att ge kommandon. Ett särskilt program i operativsystemet, kommandotolken, shell, läser in kommandona och utför det som ska göras. Det finns flera olika kommandotolkar. På Linuxdatorerna i E-huset används kommandotolken zsh ( z-shell ). Andra vanliga kommandotolkar är sh och csh. Kommandotolken läser kommandon som ges i ett terminalfönster på skärmen. Så här arbetar tolken: Upprepa i all oändlighet: Läs ett kommando Om kommandot är ett riktigt kommando: utför det som ska göras, annars: skriv ut "zsh: command not found" Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 9 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 10 / 177 Kommandoformat Kommandon för filhantering Varje kommando skrivs på en rad: kommandonamn -option1 -option2... argument1... Exempel på kommandon för att hantera filer: Kommandot talar om vad som ska göras. Argumenten är (oftast) filer eller kataloger som påverkas av kommandot. Exempel: Optionerna modifierar kommandot på något sätt. javac Calculator.java cp -i report.tex old.tex Kompilerar Calculator.java med Javakompilatorn, skapar Calculator.class Kopierar report.tex till old.tex. -i betyder att systemet frågar om old.tex ska skrivas över om den redan finns cp orig kopia less fil ls [-la] kat mv fil1 fil2 rm fil1... Kopiera filen orig till kopia. Skriv ut fil på skärmen, en sida i taget. Skriv ut en innehållsförteckning över katalogen kat (aktuell katalog om ingen katalog ges). -l skriv i ett längre format, -a skriv också ut punktfiler. Döp om fil1 till fil2. Om fil2 är en katalog så flyttas filen till den katalogen. Tag bort de angivna filerna. Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 11 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 12 / 177

Kataloghantering Filskydd 1 Exempel på kommandon för att hantera kataloger: cd kat mkdir kat pwd rmdir kat Ändra aktuell katalog till kat. Utan argument blir det hemkatalogen (samma som cd ~). Skapa underkatalogen kat i den aktuella katalogen. Skriv ut namnet på aktuell katalog. Tag bort kat. Man måste först ta bort alla filerna i katalogen. Varje fil har en ägare. Ägaren identifieras med användarnamn och grupp, till exempel dat14xyn i gruppen students. Ägaren kan skydda filer så att andra inte kan komma åt dem eller öppna filer så att andra kan komma åt dem. Filskydd och ägare (och storlek och datum) skrivs ut om man gör ls -l: hacke-3{dat14xyn}: ls -l -rw-r----- 1 dat14xyn students 4940 aug 21 11:14 example.txt skydd ägare grupp Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 13 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 14 / 177 Filskydd 2 Filskydd 3 Kommando för att ändra filskydd: -rw-r----- 1 dat14xyn students 4940 aug 21 11:14 example.txt u g o Tre kategorier av användare: Tre olika rättigheter: u (user) filens ägare g (group) medlemmar i samma grupp som ägaren o (others) alla andra r (read) tillstånd att läsa w (write) tillstånd att skriva x (execute) tillstånd att exekvera program (för kataloger betyder x tillstånd att titta på innehållet i katalogen) chmod skydd fil1 fil2... Filskydd kan anges symboliskt, till exempel u=rw,o=r, men också numeriskt, där man anger skydden som är satta med ettor, de som inte är satta med nollor. Till exempel: x = 001, w = 010, r = 100, rx = 101, rw = 110, rwx = 111 Siffrorna tolkar man sedan som binära tal, vilket ger: x = 1, w = 2, r = 4, rx = 5, rw = 6, rwx = 7 Fullständiga numeriska filskydd blir till exempel: 604 <=> u=rw,o=r 705 <=> u=rwx,o=rx Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 15 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 16 / 177

zsh-finesser 1 zsh-finesser 2 Man kan editera den aktuella kommandoraden: Delete Tag bort tecknet till vänster om markören. Control-U Radera hela raden.! Flytta sig på raden. Tab Filnamnskomplettering (man behöver bara skriva början av ett långt namn). zsh håller reda på de senaste kommandona som utförts, och man kan få tillbaka gamla kommandon: " Återkalla senaste kommando (kan upprepas).!! Gör om senaste kommando.!abc Gör om senaste kommando som inleds med abc, till exempel!javac När man refererar till filer kan man utnyttja jokertecken (wildcards):? motsvarar ett godtyckligt tecken * motsvarar 0 flera godtyckliga tecken Antag att vi har följande filer i vår katalog: Test1.java, Test2.java, Test23.java, Final.java, Test1.class, Test2.class, Final.class, FinalReport.tex, Outline.tex. javac Test?.java (javac Test1.java Test2.java) rm *.class (rm Test1.class Test2.class Final.class) gedit F*.tex (gedit FinalReport.tex) Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 17 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 18 / 177 Initieringsfiler Många program läser en initieringsfil när de startas. Initieringsfilen innehåller inställningar för programmet. Namnen på initieringsfilerna inleds med punkt, så man ser normalt inte dessa filer när man gör ls. zsh läser initieringsfilen.zshrc när ett nytt terminalfönster skapas. Bra rader att ha i denna fil (gör att man alltid får frågor om man verkligen vill ta bort/skriva över filer): alias rm= rm -i alias cp= cp -i alias mv= mv -i setopt noclobber setopt ignoreeof Varning: kopiera inte andras initieringsfiler om du inte begriper vad som står i dem! Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 19 / 177 Vad är egentligen ett kommando? Kommandon är av två slag: inbyggda små kommandon som exekveras direkt i kommandotolken, till exempel cd, pwd, exit vanliga program kommandotolken letar efter ett program med samma namn som kommandot Kommandotolken letar efter program i de kataloger som anges i sökvägen (operativsystemvariabeln PATH, som man själv kan sätta med kommandot export). När man till exempel skriver javac X.java exekveras programmet /usr/bin/javac, eftersom katalogen /usr/bin finns i sökvägen. När man ska exekvera ett eget program som finns i den aktuella katalogen skriver man:./programnamn./ är nödvändigt eftersom. (den aktuella katalogen) inte finns i sökvägen. Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 20 / 177

Processer Fönstersystem, skrivbordsmiljö Varje program som körs i Unix körs som en egen process som exekverar självständigt, parallellt med andra processer. Varje process körs några millisekunder, sedan får nästa process exekvera, osv. Detta hanteras av operativsystemet. När man exekverar ett program från ett terminalfönster låser programmet fönstret tills det avslutas så vill man ofta att det ska fungera. Men man kan också köra program i bakgrunden dvs frikopplade från terminalfönstret. Det gör man genom att skriva & sist på kommandoraden, till exempel: gedit example.txt & I Unix är fönstersystemet inte inbyggt (Unix utvecklades långt innan det fanns grafiska skärmar). De flesta Unixsystem använder fönstersystemet X Window System, som oftast kallas bara X. X gör det möjligt att ha fönster på skärmen, att flytta dem, ikonifiera dem, osv. Exakt hur fönstren ska se ut och hur man arbetar med dem bestäms av fönsterhanteraren, som också är ett separat program. Ovanpå fönsterhanteraren finns skrivbordsmiljön. På Linuxdatorerna i E-huset används skrivbordsmiljön MATE. Det bästa (enda) sättet att lära sig att använda en skrivbordsmiljö är att träna! Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 21 / 177 Per Holm (Per.Holm@cs.lth.se) Unix 2014/15 22 / 177