tddc66 datorsystem och programmering föreläsning (i) peter ...tddc66/intro/unix1-15.pdf · •...
TRANSCRIPT
![Page 1: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/1.jpg)
Introduktion till Linux
TDDC66 Datorsystem och programmeringFöreläsning (i)
Peter DaleniusInstitutionen för datavetenskap
![Page 2: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/2.jpg)
![Page 3: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/3.jpg)
3
![Page 4: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/4.jpg)
Vem riktar sig kursen till?
4
Hur mycket kan jag om Unix och Linux redan?
Hjälp! Jag fattar noll!
Rädda mig!Ska man tryckapå Enter nu?!
Hur svårtkan det vara?
Jag käkar Linux tillfrukost. Fråga mig
vad som helst!
![Page 5: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/5.jpg)
Hur mycket måste man kunna?
5
![Page 6: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/6.jpg)
Kursens målsättning
6
Kursens syfte är dels att studenterna ska skaffa sig erfarenheter av att använda datorsystem på ett sådant sätt att laborativ verksamhet i framtida kurser underlättas, dels att studenterna ska bygga upp grundläggande erfarenheter inom programmering. Efter avslutad kurs ska studenterna kunna:
• obehindrat använda de datorsystem för laborativ verksamhet som institutionen tillhandahåller
• utforma och implementera enkla algoritmer i ett programspråk
• redogöra för grundläggande begrepp inom programmering
![Page 7: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/7.jpg)
Målsättning för datorsystemsdelen
7
• Lära sig vilka datorresurser som finns på Institutionen för datavetenskap (IDA) och på universitetet i stort (Vad finns? Var finns det?)
• Kunna använda dessa på ett effektivt sätt i följande kurser (När ska man använda vad? Hur gör man?)
![Page 8: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/8.jpg)
Kursens olika delar
8
Datorsystem
• två föreläsningar om Unix och Linux
• webbaserade laborationsövningar
• avslutande uppgift
• prova på-laborationer
Programmering
• seminarier
• laborationsuppgifter
• fortsättning i nästa kurs TDDD73 Funktionell och imperativ programmering i Python
till största delenunder nollperioden
![Page 9: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/9.jpg)
Laborationsassistenter första veckan
9
• D1A: Fredrik Bergstrand
• D1B: Anders Märak Leffler
• D1C: Simon Lindblad
• U1: Erik Hansson
![Page 10: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/10.jpg)
Översikt: Vad ska vi ta upp idag?
10
• Hur ser datorsalarna ut?
• Kommandoskal
• Kortfattad bakgrund till Unix och Linux
• Exempel på kommandon
• Webbkursverktyget STONE
![Page 11: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/11.jpg)
Våra datorsalar
11
Hus B: Bottenvåningen Hus B: Andra våningen
![Page 12: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/12.jpg)
Våra datorsalar
12
![Page 13: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/13.jpg)
Våra datorsalar
13
• 15 salar i B-huset som kallas PUL (programutvecklingslaboratorium), kallade SUnn
• C:a 150 datorarbetsplatser
• 8000 aktiva studentkonton
• All utrustning är larmad.
• Administreras av TUS-gruppen som nås via [email protected]
• (Även ett mindre antal PUL med PC-datorer i E-huset)
![Page 14: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/14.jpg)
Våra datorsalar
14
• Varje datorarbetsplats är utrustad med en liten kompakt dator (svarta lådan till höger).
• Dessa datorer kör LinuxMint, en Linux-distribution som baserar sig på Debian och Ubuntu.
• Systemet installerades sommaren-hösten 2014.
![Page 15: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/15.jpg)
Datorkonto
15
• Samma användarnamn som för LiU-ID (e-post m.m.)
• Samma lösenord (så länge man inte byter lokalt)
• Registrering � Aktivering av LiU-ID � IDA-konto
• Särskilda ordningsregler för IDA-konto (se webbkursmaterialet)
![Page 16: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/16.jpg)
Två sätt att använda datorn
16
GUI (Graphical User Interface) – fönstersystem
• Varje program körs i ett eller flera fönster som har en grafisk representation.
• Man kommunicerar med hjälp av fingrar på skärmen, mus och ibland tangentbord.
CLI (Command Line Interface) – kommandoskal
• Programmen visar enbart text.
• Man kommunicerar genom att skriva korta kommandon.
![Page 17: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/17.jpg)
Filhantering i fönstersystem
17
Utforskaren i Microsoft Windows
![Page 18: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/18.jpg)
Filhantering i fönstersystem
18
Filhanteraren Caja i MATE Desktop
![Page 19: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/19.jpg)
Filhantering i kommandoskal
19
![Page 20: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/20.jpg)
Filhantering i kommandoskal
20
petjo96@chipolata2:experiment$ petjo96@chipolata2:experiment$ pwdpetjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$
petjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$ ls
petjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$ ls
hemligt info python tenta.txt uppgifter.txt
petjo96@chipolata2:experiment$
petjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$ ls
hemligt info python tenta.txt uppgifter.txt
petjo96@chipolata2:experiment$ cd python
petjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$ ls
hemligt info python tenta.txt uppgifter.txt
petjo96@chipolata2:experiment$ cd python
petjo96@chipolata2:python$
petjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$ ls
hemligt info python tenta.txt uppgifter.txt
petjo96@chipolata2:experiment$ cd python
petjo96@chipolata2:python$ ls
petjo96@chipolata2:experiment$ pwd
/home/petjo96/experiment
petjo96@chipolata2:experiment$ ls
hemligt info python tenta.txt uppgifter.txt
petjo96@chipolata2:experiment$ cd python
petjo96@chipolata2:python$ ls
factorial.py hello.py newton.py planering.txt seq.py
petjo96@chipolata2:python$
![Page 21: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/21.jpg)
Varför ska man använda kommandoskal?
21
Fördelar
• Man blir mycket mer effektiv när man lärt sig kommandospråket
• Man kan utföra mer komplexa uppgifter.
Nackdelar
• Inlärningströskeln är högre jämfört med grafiskt gränssnitt.
• Det kan vara svårt att få överblick eftersom man får hålla saker i huvudet.
![Page 22: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/22.jpg)
Bakgrund till UNIX
22
![Page 23: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/23.jpg)
Bakgrund till UNIX
23
• Nya idéer: Multiuser, interactive, time-sharing operating system
• CTSS (1961) från MIT
• MULTICS (1962) med MIT, GE, Bell Labs
• UNIX (1969) från Bell Labs
![Page 24: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/24.jpg)
Tidiga riktlinjer för UNIX
24
• Varje program ska utföra en liten väldefinierad uppgift och göra det bra
• Förutsätt att ett programs utdata kan bli indata till ett annat program
• Utveckla program som går att testa tidigt
Man ville skapa en gemenskap!
![Page 25: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/25.jpg)
Vad hände sedan?
25
• UNIX var gratis från början
• Många olika versioner utvecklades av företag och universitet
• UNIX är varumärket, POSIX är standarden
![Page 26: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/26.jpg)
GNU/Linux
26
• GNU-projektet (1984-)– Richard Stallman
– General Public License (GPL)
– Free Software Foundation (FSF)
• Linux (1991-)– Linus Torvalds
– Systemkärnan som GNU-projektet saknade
![Page 27: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/27.jpg)
Kommandon i UNIX och Linux
27
ls [ -l] [ -t] [filnamn ...]
kommando
växlar/flaggor
argument
hakparenteser
innebär frivillighet
punkter innebär att
fler får anges
![Page 28: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/28.jpg)
Exempel
28
-rw-rw-rw- 2 student pelle 128 3 aug 20.49 foo .txt
-rw-r--r-- 2 student pelle 4915 1 mar 00.05 inf o.txt
-rw-rw-rw- 4 student pelle 10482 24 jul 23.09 rap port.doc
petjo96@chipolata2:dokument$
foo.txt info.txt rapport.doc
petjo96@chipolata2:dokument$
petjo96@chipolata2:dokument$ ls
ls -l
ls –l –t *.txt
-rw-r--r-- 2 student pelle 4915 1 mar 00.05 inf o.txt
-rw-rw-rw- 2 student pelle 128 3 aug 20.49 foo .txtpetjo96@chipolata2:dokument$
![Page 29: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/29.jpg)
Flytta mellan kataloger
29
/
hej
bin
home
tmp
pelle
pelle@li1-1:pelle$
/home/pelle
pelle@li1-1:pelle$
pelle@li1-1:/$
pelle@li1-1:bin$
pelle@li1-1:/$
pwd
cd /
cd bin
cd ..
cd ~
pelle@li1-1:pelle$ cat hej
Hej på dej!Detta är en textfil.pelle@li1-1:pelle$
![Page 30: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/30.jpg)
Några vanliga kommandon
30
• ls – visa filer i aktuell katalog
• cd – byt aktuell katalog
• pwd – visa aktuell katalog
• cp – kopierar en eller flera filer
• mv – flyttar eller byter namn på filer
• rm – tar bort filer
• cat – visar innehållet i en fil
• more – visar innehållet i en fil en sida i taget
![Page 31: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/31.jpg)
Vad händer nu?
31
• Tre laborationer klassvis under nästa vecka.
• Målsättning är att hinna med upp till hälften av det webbaserade introduktionsmaterialet.
• Nästa föreläsning nästa fredag:
– Mer detaljer kring en del grundläggande Linux-kommandon.
– Mjukstart av Python-programmering.
![Page 32: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/32.jpg)
Introduktion till STONE
32
• STONE
– Simple Tool for Online Education
• Egenutvecklat (och rätt gammalt) system för presentation av kursmaterial på webben
• Diagnostiska tester som rättas automatiskt
• Innehåll
– Unix och Linux, Emacs, universitetets datorresurser, utskrifter, labba hemifrån, m.m.
![Page 33: TDDC66 Datorsystem och programmering Föreläsning (i) Peter ...TDDC66/intro/unix1-15.pdf · • Nya idéer: Multiuser, interactive, time-sharing operating system • CTSS (1961)](https://reader034.vdocuments.site/reader034/viewer/2022051806/5ffd4c90cffb060e1540a4ae/html5/thumbnails/33.jpg)
www.liu.se