1.Bakgrund Enkortintroduk+on+llUnix HåkanJonsson Ins+tu+onenförsystemteknik Luleåtekniskauniversitet Unix(uMalat['ju:niks])äridageM samlingsnamnförengruppopera&vsystem DetförstaUnixsystemetutvecklades 1969påAT&T/BellLabs Med Unix / Unixsystem menashäringenspeciellvariant (detfinnsmångatexgnu/linux,macosx,freebsd, Solaris,HP@UXetc)utanframställningenärgenerelloch förenklad Opera+vsystemärdatorprogramsomunderläMar styrningenavdatorer Ivarjepåslagendatorkörshela+deneMopera+vsystem AMstartaendatorinnebäriprak+kenaMopera+vsystemet startarochtarkontrollenöverelektroniken Källa:www.aM.com 1 2 Källa:sv.wikipedia.org/wiki/Unix Klassisktförstabemötande Källa:www.linuxdevcenter.com 3 4
2.Unix Unix EMUnixsystembeståravenkärna-(eng.kernel)ocheMskal-(eng. shell)ochkommandon-(eng.commands) Kärnanärenresurshanterare Denstyr+llgången+llresursersomCPU@ +d,hårddiskutrymme,ram@ minnesutrymmeochin@resp.utenhetert exnätverkskortochgrafikkort Den+llhandahållersystemanrop-(eng. system-calls)för effek+vprocesshanteringoch process=emprogramsomulörs enabstrak+onmotallelektronikoch lagringsmediaidatorn användsavdatorprogram/programmerare emfilsystem(lokallagringavdata/filer),alla in@ochutenheter(i/o) Källa:Wikipedia SkaletäreMgränssniMmotdatornförmänniskor GermöjlighetaMdirektbeordradatorn Texstarta/stoppaeMprogramellerkopiera/flyMa/ raderaemdokument Tradi+onelltiformaveMCLI:s(CommandLine Interfaces) Textkommandon(ooakryp+ska) Ex:MS@DOS,sh,csh,zsh Idagooasomfönstersystem(grafiskaskal) Desktopmiljö(medikoner,mappar,enskrivbordsyta, fönstermm) Ex:Windows(NT,XP,Vista),Gnome,KDE,X(X11) Kommandonärprogramsomhuvudsakligen användsviaskalet Omväntärprogramkommandon(iregel) Användarekanskrivaegnaprogramochanvända dessasomkommandon dvsändragränssnimet 1.Skrivut prompt 2.Läsin text 4.Ulör 3.Tolka+ll kommando > ls mylist results > cp mylist list2 > ls list2 mylist results > 5 6 emacs find xv gimp latex file xterm gcc javac python cat more Datorprogram Kommandon *) Skalet *) Kärnan Datorn cd rm mkdir echo history ps nice kill jobs pwd login logout alias ExempelpåCLI(Unix) Källa:Wikipedia *) Vissakommandonärinbyggdaiskaletmedanandraärheltvanligadatorprogram 7 8
Grafisktskal(fönstersystem)KDE Källa:Wikipedia Källa:Wikipedia Unixliknar+lldetyMreMS@DOS 9 Windows7(Vista) Källa:Wikipedia 10 Källa:Wikipedia Macintosh,System1(1984) 11 12
MacOS10.6 2.5Användningavkommandon Källa:Wikipedia echo<text> Skrivut<text> Kommandotskaparenutdataström date Aktuell+dochdatum man<kommando> Visamanualsidanförkommandot<kommando> 13 14 Kommandonskavaraulöraen(1)uppgio,inteflera,ochgöradet väl Gärnasmå,nästanobetydliga,uppgioer Processarooaenindataström-ochgenererarooaenutdataström Utdataströmmenskrivsut,omdeninteundertryckselleranvändspåannat säm Funk+onenkanställasinmedflaggor-(eng.op&ons)ochargument KomplexakommandonbildasgenomaMlänkasammanin@och utdataströmmarnaförenklarekommandoniseriemedrör-(eng. pipes) Exempel: ls head@10 wc 1)genereraenlistamedallafiler(1/rad),2)takvardeförsta10raderna och3)räknatecken,ordochrader;senskrivsdemaut 3.Filosofibakomskalet:Kommandon- 4.Filosofibakomskalet:Processer- EnprocessäreMprogram(enmängdinstruk+oner)somulörsav datorn Opera+vsystemetärtexenprocess Normaltulörsmångaprocesser"sam+digt" Kärnanser+llaMdeupprepadegångerulörsenbititaget,ituroch ordning,ochsåsnabbtamdetverkarsomamallaulörssam+digt Varjeprocess+lldelasavkärnaneMuniktID@nummer(PID)ochegna, privata,resurser TexendelavRAM@minnet ProcesseradministrerasmedUnixkommandonochsystemanrop Starta,+llfälligtstoppa,återstarta,+llfälligtstoppa,återstarta...,avsluta Reagerarpå"signaler"somskickasmedUnixkommandotkill- VarjeavgivetUnixkommandoulörssomenprocess Ulörandetavprocessersommotsvararkommandonihopkopplademed rörsynkroniserassåamin@ochutdataströmmarnahängerihop 15 16
ps Exempel:Kontrollavprocesser Visaprocessstatus kill Skickasignal+llprocess xclock EMfönstermedenklocka xcalc EMfönstermedenminiräknare 5.Filosofibakomskalet:Programmering SkaletharocksåkommandonföraMprogrammeradet skriva skript Somitexpythonfinnsvariablerochsatsersom+lldelning,while,for,if osv (DeMabörmanvetamendetkräverprogrammeringskunskapochingår inteikursen) MedUnixlevererasiregelocksåtexteditorersomviochemacs samttexc@kompilatorer(cc,gcc) CärnamnetpådetprogrammeringsspråksomstoradelaravUnixär skriveti Enkompilatorskaparkörbaraprogramfråntextprogrammerareskriver Programmeringiskaletmedkommandonochpipesger datateknikernmycketkraofullaverktygföramhafullkontrollöver datorn 17 18 6.Filosofibakomskalet:Användare- FöraManvändaUnixmåstemanförstloggain Krävsenanvändare-och(ooast)lösenord Unixhålleranvändaresfiler,program,mapparochprocesseråtskillda Användarekansjälva+llåtaåtkomst Vanligaanvändarekanpåverkasinaegnafilerochprocesser Administratörer(root,thesuperuser)kangöraallt-med-allt-ochalla Förstagångenduloggarinsomrootmötsduav: WetrustyouhavereceivedtheusuallecturefromthelocalSystem Administrator.Itusuallyboilsdowntothesethreethings: 1)Respecttheprivacyofothers. 2)Thinkbeforeyoutype. 3)Withgreatpowercomesgreatresponsibility. Password: Exempelomanvändare ssh secureshell(}ärrinloggning) whoami Vilkenanvändare"ärjag"? users Vilkaärinloggade? w Vilkaärinloggadeochvadgörde? last Vilkaharloggatin(historik)? 19 20
7.Filosofibakomskalet:Filsystem- Fullständig(absolut)adress UnixlagrardatabuntatsomfilerieMfilsystem Mapparimapparimappari menhärkallasmapparnaförkataloger-(eng. directories) EMfilsystemharall+denkatalog rotkatalogen Kallas/ Varjekataloginnehåller0ellerflerafileroch katalogersomallaharolikanamn Namnfårinteinnehållatecknet / usr etc local elever.txt uppg1.tex / staff student +mestamp hj person@0 adapil@0 privat d0015e latex unix d0009e schema.pdf dev Jämförmedhurwebadresserskrivs! /student/person@0/d0015e/latex/uppg1.tex /+mestamp /etc /usr/local /student/adapil@0 /student/person@0/privat /student/person@0/d0015e/latex/uppg1.tex /student/person@0/d0015e/schema.pdf uppg2.tex reflek+on.doc 21 22 Arbetskatalogen Rela+vadress IUnix befinnermansig all+dienkatalog Arbetskatalogen-(eng.working-directory) Mångakommandonarbetarmedinnehålletiarbetskatalogen Precisdåmanloggatinärmanihemmakatalogen Dennaärdåocksåarbetskatalog Allaharsinegenhemmakatalog Medkommandotcd(change-directory)ändrarman arbetskatalogfrånen+llenannan cd<adress+llnykatalog> Exempel:cd/student/person@0/d0009e Kommandotpwd(printworkingdirectory)skriverut arbetskatalogensfullständigaadress Tvåvik+gaspecialfall: Katalognamnet.betyderarbetskatalogen Katalognamnet..betydernärmast-överliggande-katalog+ll arbetskatalogen (Görmancd..ikatalogen/stårmankvar) Görvicd..ivårkatalogd0009esåblirresultatetalltså: 23 24
Medrela+vadressmenasalltså enadressangivenrela&vtarbetskatalogen Kännetecken:Börjar,+ll skillnadfrånenabsolutadress, inte(med/ Katalogend0009e+llhögerhar nu absolutadress: /student/person@0/d0009e rela+vadress:d0009e (Även./d0009e) Filen+mestamphar absolutadress:/+mestamp rela+vadress:../../+mestamp Rela+vadress Rela+vadress Hemmakatalogenheter ~ Namnetpåhemmakatalogenföranvändarennisse heter ~nisse Denförstaärprak+sktföraMenkeltreferera"hem"(!) Kommandotcdutanargumentmotsvararcd~ 25 26 2.5Exempelpåkommandon Livedemo:Unixiprak+ken pwd printworkingdirectory cd changedirectory ls list cat concatenate,listaen/flerafilersinnehåll more Somecatmenensidaitaget cp copy rm remove mkdir makedirectory rmdir removedirectory 27 InC-och-utloggning: ssh,exit Allmäna-kommandon: echo,date,cal,history Användare: whoami,who,w,id,last Filträdet: pwd,cd( Lista-innehåll-i-filträdet: ls( Förändra-filträdets-struktur: mkdir,rmdir( Skapa-en-lite-texGil-i-unix: echo>fil Visa-texGilsinnehåll: cat,more( Filer: cp,mv,rm( Processer: ps,kill,top,nice,ctrl@z,ctrl@c, jobs,fg,bg UtskriJer: lpr,lpq,lpc,lprm Mer-om-kommandon: manintro (Dessutomärdetprak+sktaMkunnaliteomkommandoredigering ochreguljära-mönster) 28
Labora+oner Dennaöversiktföljsnuavprak+skaövningardär dukommeramtränapåunixochkommandon Detfinnsfleradatorlab först+llkvarn HiMaenledigplats DetkommeraMfinnasäldrestudentersom labhjälp Uppgioerna(2st)finnspåkurshemsidan DärfinnsävenmerhjälpaMläsa Läsallhjälp,gåigenomförberedelserna,läs uppgioernaochlösdem 29