Datorintroduktion

Överflödet på information är det största problemet när det gäller att lära sig använda datorer. Det är egentligen inte mycket man behöver kunna som vanlig datoranvändare, men just den information man behöver kan vara svår att vaska fram. Förmodligen har så gott som alla nytillkomna studenter på Luleå tekniska universitet då och då använt en persondator - manipulerat möss, stirrat på bildskärmar - även om de inte själva alls sysslat med att programmera. Men det finns en naturlig tendens bland datorvana eller datorentusiaster att ta för givet att diverse beskrivningar eller anvisningar är begripliga även för dem som bara har den flyktigaste bekantskap med datorer. Denna handledning försöker därför börja från början och ta upp de grundbegrepp som man behöver ha ett hum om när man börjar en datateknisk utbildning. Tonvikten när det gäller mer detaljerad information ligger på Unixmiljön och användningen av shellkommandon (begrepp som förklaras nedan). Det finns vissa samband mellan de olika avsnitten, så förmodligen är det en god idé att läsa igenom avsnitten 1-2 först. Men det är inte alls så att du behöver läsa allting i alla avsnitten - om du till exempel inte är intresserad av vad som menas med digitalisering av information eller redan känner till detta kan du hoppa över motsvarande avsnitt. En kraftansträngning har gjorts för att inte ta med mer än ett nödvändigt minimum av information, men en och annan överflödig upplysning kan ändå ha smugit sig in. Avsnittet om Emacs kan du läsa i ett tidigt skede, eftersom du har användning av Emacs för övningsuppgifter till avsnitten 3 och 4. I slutet finns ett antal övningsuppgifter. Dessa utgår till en del från sådant som det inte står något om i texten, och det ingår då i uppgiften att ta reda på hur det program eller kommando det gäller fungerar.

Information som du inhämtar sittande vid datorn hämtas oftast från webbsidor med användning av en webbläsare eller browser, som på skolan normalt är Netscape. Om du läser detta vid datorn har du redan på ett eller annat sätt fått information om hur du startar Netscape och får fram webbsidor. I texten förekommer ett antal adresser till webbsidor med ytterligare information, som t.ex. http://www.sm.luth.se/drift/. Dessa adresser (eller "URL-er", där URL står för "universal resource locator") är också länkar, dvs genom att klicka på dem kommer du direkt till de angivna sidorna.

Denna handledning är en produkt under utveckling. Om du har synpunkter på vilka saker som bör tas upp eller stöter på några fel, länkar som inte fungerar, inkonsekvenser, obegripligheter eller oklarheter på dessa sidor, var vänlig rapportera dem till torkel@sm via email, på det sätt som beskrivs i avsnitt 8 nedan. Om du inte skickar ditt mail från någon dator på skolan behöver du använda den fullständiga adressen, torkel@sm.luth.se. Om det är beskrivningen av hur man använder email som är felaktig eller obegriplig, hitta en bättre beskrivning och rapportera dina synpunkter med ledning av den.

Innehåll

  1. Allmänt om våra datorer
    1. Vad är en dator?
    2. Digitalisering av information
    3. Vad gör processorn?
    4. Operativsystem och användargränssnitt
    5. Datorer och annan utrustning
    6. Nätverk
    7. Filsystemet
    8. Klient och server
  2. Bootstrapping - hur du skaffar dig konto och loggar in
  3. FVWM
  4. Windows-maskinerna
  5. Shellkommandon och Unixmiljön
    1. tcshell
    2. Filsystemet i Unix
    3. Tillgänglighet hos filer
    4. Prompten, arbetskatalogen och hemkatalogen
    5. Felmeddelanden
    6. man
    7. Manipulation av filer och kataloger
    8. Processhantering
    9. Sammansättning av kommandon
    10. Namnkomplettering, kommandoradsredigering, och history
    11. passwd och ssh
    12. grep, sort och så vidare
  6. Skrivare
  7. Emacs
  8. Webbsidor
  9. Elektronisk post

1. Allmänt om våra datorer

1.1 Vad är en dator?

Den första användningen av datorer var som hjälpmedel för att utföra matematiska beräkningar, som beteckningen "computer" antyder. Senare tillkom den administrativa hanteringen av stora datamängder, exempelvis i folkbokföringssammanhang, och de senaste tjugo åren har en användning som ingen tycks ha förutsett i datorernas barndom kommit att bli alltmer omfattande, nämligen kommunikation via datorer. Därutöver har vi en rad andra användningsområden, som spel, övervakningssystem, bokningssystem, styrsystem av olika slag, system för lagring och sökning av information, osv. En och samma dator kan användas för alla dessa typer av tillämpningar.

Vad är en dator? Om man vill vara någorlunda säker på att få med alla datorer i beskrivningen kan man bara säga att en dator är en grunka av något slag som behandlar någon sorts data på något sätt. Men vi kan ge en mer upplysande beskrivning, för de datorer som du kommer att använda på skolan är digitala programmerbara generella datorer som arbetar på väsentligen samma sätt.

En sådan dator har en eller flera processorer och ett arbetsminne. En processor (t.ex. en "food processor") är som bekant en behandlare av något, och det som processorn i datorn (en dataprocessor) behandlar är just data, närmare bestämt digitala data. "Digital" kommer av latinets "digitus", finger eller tå, och vår naturliga benägenhet att räkna på fingrarna brukar anses vara grunden för vårt talsystem som bygger på siffrorna 0-9. "Digitala data" skulle alltså kunna tänkas betyda "sifferdata", och man säger också ofta att datorer bara arbetar med siffror, närmare bestämt med nollor och ettor. 0 och 1 är de enda två siffrorna i det binära talsystemet, alltså det talsystem som vi skulle använda om vi räknade på armarna ("en arm, två armar") i stället för fingrarna ("ett finger, två fingrar, tre fingrar...").

Det är emellertid tämligen missvisande att läsa "digitala data" som "sifferdata". Processorns databehandling behöver inte ha något särskilt med tal eller siffror att göra. Det som är utmärkande för binära data är i stället att varje stycke information uttrycks som en ändlig följd av två stycken element, som vi väljer att kalla nolla och etta. Ett typiskt exempel på ett stycke information som behandlas av en processor är alltså

000101010010010101000111101010111001010110110100

Vad betyder ett sådant stycke information? Det kan betyda vad som helst eller ingenting, det beror helt på hur man väljer att tolka det. Om vi vill beskriva den ovanstående följden neutralt kallar vi den bara en bitföljd, en följd av nollor och ettor. "Bit" är här en sammandragning av "binary digit". När vi använder datorer för att behandla information i form av text eller ljud eller bilder eller numeriska data förutsätter vi alltid en digitalisering av informationen. Det betyder att man i enlighet med någon viss uppsättning regler översätter text, ljud, bilder, numeriska data till och från sådana bitföljder.

1.2 Digitalisering av information

Exempel. Ett heltal från -2147483648 till 2147483647 brukar digitaliseras som en följd av trettiotvå bitar, med användning av en översättning mellan heltal och bitföljder som kallas "tvåkomplementrepresentation". Varför just detta talintervall? Det finns sammanlagt 4294967296 tal mellan -2147483648 och 2147483647, och hur vi än väljer att digitalisera tal kan vi konstatera att det antal olika tal som kan representeras av en bitföljd med 32 bitar är just 4294967296. Detta därför att antalet olika bitföljder med 32 bitar är 232=4294967296.

Exempel. En bokstav i det svenska alfabetet kan representeras som en bitföljd i enlighet med olika konventioner. Man talar om en kodning av tecken, där man genom en tabell tilldelar tal till de olika tecknen, och dessa tal sedan i sin tur representeras som bitföljder. Den mest traditionella kodningen är den som kallas ASCII och som infördes i USA i datorns barndom. ASCII-koden använder sju bitar, vilket betyder att det finns plats för 128 tecken, numrerade 0-127. Bland ASCII-tecknen finns inte exempelvis å, ä, ö. Den teckenkodning som används i de flesta sammanhang på skolan är därför i stället en senare kodning benämnd ISO 8859-1 eller Latin-1. Detta är en åttabitarskod med plats för 256 tecken - en tabell som visar de skrivbara bland dessa tecken ingår som bilaga till denna handbok. Latin-1 överensstämmer med ASCII för tecknen i position 0-127.

Tyvärr är det inte så att man i datorsammanhang alltid kan förutsätta att våra bokstäver är kodade enligt Latin-1. Somliga datortillämpningar använder fortfarande ASCII medan andra utnyttjar "quoted printable" (QP), som kodar samma tecken som Latin-1, men på ett annat sätt. I vissa sammanhang kan åäö inte användas alls, och förmodligen har alla svenskar med åäö i sitt namn eller sin adress någon gång fått post adresserad på besynnerligt vis. Det eviga trasslandet med åäö (och andra tecken som inte ingår i ASCII) är en följd av den inskränkta teckenhanteringen från datorernas barndom, som är svår att i efterhand rätta till. I en måhända inte alltför avlägsen framtid kommer förhoppningsvis en kodning av tecken kallad Unicode (http://www.unicode.org), att bli standard. Unicode innehåller så gott som alla tecken som används i olika språk, exempelvis kinesiska och arabiska skrivtecken.

När det gäller tecken eller numeriska data är det lätt att förstå hur de kan digitaliseras, med användning av teckentabeller eller översättning från decimaltal till binär notation. Men hur digitaliseras ljud, stillbilder eller filmer? Här finns det många metoder att digitalisera och komprimera ljud- och bildinformation. Bokstavskombinationer som "gif","jpg","mp3","mpg","rm","avi","au" och många andra betecknar olika sådana digitaliseringsmetoder. Ljud, bilder, osv, är vanligen analog information, dvs information som uttrycks med användning av någon sådan fysikalisk mekanism som vibrationer i ett medium eller ljus och färger, och för att digitalisera den krävs någon slags speciell hårdvara, dvs elektronisk utrustning av något slag. Likaså krävs någon lämplig utrustning - som en bildskärm eller en CD-spelare - för att överföra information från digital till analog form.

Kan all information som vi inhämtar med våra sinnen digitaliseras? Ett tänkbart motexempel skulle kunna vara informationen hur saker luktar. Men givetvis finns ambitionen att även digitalisera lukter. Jan Långben hade en gång i tiden en "luktorgel" som frambringade olika lukter (och tyvärr exploderade), och det är inte förvånande att hitta en firma som http://www.digiscents.com/, som marknadför denna Kalle Anka-teknologi i digital form.

1.3 Vad gör processorn?

Processorn bearbetar indata (också kallat input) på något sätt, och lämnar ifrån sig utdata (output) till användaren eller annan elektronisk utrustning. Bearbetningen styrs av ett program, som ger instruktioner om hur bitföljderna ska manipuleras. Datorn hämtar information (i digital form) från olika håll, exempelvis tangentbord, hårddisk (magnetiskt datalagringsmedium med stor kapacitet), nätverk (länkar till andra datorer och annan utrustning), men alla data som processorn ska bearbeta måste först tas in i arbetsminnet. Man inser av detta att databearbetningen går snabbare ju fortare processorn arbetar och ju större arbetsminne den har. Dessa två mått på beräkningskraft är också de vanligaste som brukar användas när man talar om datorer. Ett exempel är följande upplysning, som gäller terminalerna i datorsalen A2510:

Terminalerna ansluter automatiskt till en Sun Fire 280R med 
4096 MB RAM och 2 st UltraSPARC III/750 MHz/8 MB CPU.

"4096 MB RAM" säger att arbetsminnet ("RAM", "random access memory") har plats för 4096 megabyte. En byte är en bitföljd på åtta bitar, vanligen den kortaste bitföljd som hanteras av datorer, en kilobyte är 210=1024 byte, och en megabyte är 1024 kilobyte. En hemdator har just nu typiskt ett arbetsminne på 64-256 MB, så 4096 MB är ett stort arbetsminne. Datorn har två processorer av det angivna fabrikatet, och siffran 750 MHz (megaherz, dvs miljoner svängningar i sekunden) anger "takten" i processorns interna arbete. Men till skillnad från när det gäller arbetsminne kan man inte göra några direkta jämförelser mellan olika typer av processorer på grundval av denna interna arbetstakt. Flera andra faktorer utöver processorns frekvens och arbetsminnets storlek bestämmer hur snabb databehandlingen blir i praktiken. Dit hör cacheminnet, databussens hastighet, med flera teknikaliteter som man som användare inte behöver bry sig om det minsta.

1.4 Operativsystem och användargränssnitt

En dator exekverar ständigt ett särskilt program kallat operativsystemet, som har till uppgift att hantera och fördela datorns resurser och sköta kommunikationen mellan datorn och omvärlden (användare, datalagringsenheter, andra datorer och annan utrustning). Till dessa resurser hör processorer, arbetsminne, hårddiskar, skrivare. De operativsystem som används eller har använts av våra datorer är Solaris, som är en variant av ett operativsystem kallat Unix, BSD och Linux (också av Unixtyp), samt Windows 2000 och Windows 98. Vi skiljer på "Unixmaskiner" och "Windowsmaskiner", där Windowsmaskinerna är de som har Windows 2000 eller Windows 98 som operativsystem.

Vid varje given tidpunkt finns alltid ett antal processer som exekveras (utförs) av datorn. En process är ett stycke databehandling som kan sträcka sig över längre eller kortare tid. Processorns arbete fördelas av operativsystemet mellan de olika processerna i enlighet med vissa prioriteringsregler. Bland processerna finns diverse systemprocesser, samt användarprocesser, som du startar genom att interagera med datorn. På Unixmaskinerna kan flera användare oberoende av varandra samtidigt starta processer på datorn. Belastningen på maskinen talar om hur ansträngd processorn är för ögonblicket. Belastningen är beroende av hur många som använder maskinen och hur arbetskrävande processer de startat. Några kommandon som ger information om processer och belastning kommer att tas upp under rubriken "shellkommandon och Unixmiljön".

Som användare ser man inte mycket av operativsystemet och behöver sällan bry sig om hur processortid och minne fördelas, hur data lagras på hårddisken, och sådana ting. Det man i stället märker desto mer av är datorns användargränssnitt, som består av de program som exekveras på datorn i syfte att kommunicera med användaren eller användarna. Det är genom användargränssnittet som man kommer åt olika program på datorn och ger datorn instruktioner om att starta program, visa information, göra utskrifter osv.

Användargränssnittet utnyttjar diverse teknisk utrustning. Vid kommunikationen med datorn använder du tangentbord och en mus med musknappar för att mata in data till datorn, och bildskärm och skrivare för att få ut data från datorn. Musen används för att styra en markör på bildskärmen, och med användning av musen kan du flytta eller släpa fönster och ikoner på bildskärmen, och klicka eller dubbelklicka (dvs klicka två gånger i snabb följd) på fönster och ikoner. Här skulle nu kunna läggas in utförliga instruktioner om hur dessa operationer går till, men det skulle vara som att skriva utförliga instruktioner om hur man skalar och äter ett ägg. En annan variant skulle vara att inkludera bilder av de olika inslagen i grafiska användargränssnitt - förutom de ovanstående även sådant som rullister och menyer och pop-up-fönster - tillsammans med instruktiva pilar och kommentar, men slöhet hos författaren i kombination med tvivel rörande det utbyte en läsare har av sådant gör att även detta får stryka på foten. Du är alltså hänvisad till att få kläm på dessa ting genom praktisk övning och handledning vid datorn. Däremot kommer en del närmare kommentarer att ges nedan om det fönsterhanteringssystem som används som default på Unixmaskinerna. Default innebär i datorsammanhang något som gäller om man inte uttryckligen begär något annat.

När det gäller tangentbordet spelar vissa tangenter en särskild roll: escapetangenten, markerad "Esc", som finns uppe till vänster, och som trycks ner ensam eller före (inte tillsammans med) vissa andra tangenter i olika sammanhang; kontrolltangenten, markerad "Control" eller "Ctrl", som finns nertill till vänster och alltid trycks ner samtidigt med någon annan tangent; returtangenten, som finns någonstans till höger och är markerad med en pil (vilket även backspacetangenten ovanför returtangenten kan vara). Ett uttryck sådant som "Esc+A" betecknar tangentkombinationen Escape och därefter A-tangenten, medan "C-A" betecknar det samtidiga nertryckandet av kontrolltangenten och A-tangenten. Tabulatortangenten finns till vänster en bit ovanför kontrolltangenten, och förtjänar i detta sammanhang särskild uppmärksamhet eftersom den används för namnkomplettering - ett begrepp som förklaras under "shellkommandon" nedan. Den sista tangenten som kommer att nämnas i fortsättningen är mellanslagstangenten, den enda tangent som man behändigt kan trycka ner med tummen.

Det finns tre huvudtyper av användargränssnitt: ikonbaserade, menybaserade och kommandobaserade. "Ikonbaserat" innebär att användaren använder musen för att klicka på och flytta ikoner på bildskärmen och "menybaserat" att användaren väljer alternativ från menyer, medan "kommandobaserat" innebär att användaren utnyttjar tangentbordet för att skriva kommandon till datorn. Dessa tre typer brukar vanligen kombineras på ett eller annat sätt, men vissa operativsystem är nära associerade med vissa användargränssnitt som betonar den ena eller andra formen. Till exempel gäller att fönstersystemet Windows, baserat på ikoner och menyer, som gett namn åt hela operativsystemet, används på Windowsmaskinerna. Det finns också möjlighet att kommunicera med en Windowsmaskin genom kommandon skrivna i ett "DOS-fönster", men förmodligen utnyttjar de allra flesta användare av Windowsmaskiner nästan enbart det grafiska gränssnittet, dvs ikoner och menyer. När det gäller Unixmaskinerna används också fönstersystem, och här kan man välja mellan två system, på det sätt som beskrivs nedan. Men det finns en viktig skillnad mellan Windowsmaskinernas och Unixmaskinernas användargränssnitt, genom att Unixmaskinernas motsvarighet till DOS-fönstret, nämligen "shellfönstret", används jämt och ständigt för att skriva kommandon till datorn. En hel del utrymme kommer därför att ägnas nedan åt en beskrivning av de vanliga kommandon som man behöver lära sig.

1.5 Datorer och annan utrustning

När du arbetar vid bildskärm och tangentbord sitter du vid antingen en terminal eller en arbetsstation.

Terminalerna som finns i A2510 är inte generella datorer, utan specialiserade maskiner som tillhandahåller användargränssnitt åt användare av någon dator som finns på annat håll. Just dessa 30 terminaler är alla kopplade till datorn sigma4, den "Sun Fire 280R" som beskrevs ovan. Terminalen sköter alltså bara användarinteraktionen, medan det databehandlingsarbete som sker till exempel när man sitter och programmerar görs av sigma4. Det kan alltså samtidigt via dessa terminaler sitta 30 personer och arbeta med användning av samma dator. Sigma4 har dimensionerats för att tåla en sådan belastning.

Arbetsstationerna i A2506 och A2509 är däremot generella datorer, som sköter både användargränssnitt och annan databehandling. Maskinerna i A2506 har namn som börjar med "tau", medan de i A2509 har namn som börjar med "lambda". Det är fullt möjligt för flera personer att samtidigt och oberoende av varandra använda en av dessa maskiner genom användning av ssh, som beskrivs nedan under "shellkommandon och Unixmiljön". Men eftersom dessa arbetsstationer inte har samma databehandlingsresurser som sigma4 skulle det gå märkbart långsamt om 30 personer loggade in på samma arbetsstation. Dessa datorer har också var sin lokal hårddisk, alltså en hårddisk direkt knuten till datorn, men exakt hur den används är ingenting som man behöver bry sig om. De har också en diskettstation, men normalt använder man inte alls disketter när man arbetar vid dessa maskiner.

Datorerna i A2506 och de i A2509 är av olika fabrikat och har olika processorer. Maskinerna i A2506 är Zampomaskiner med Pentiumprocessorer, medan maskinerna i A2509 är av typ Sparc Ultra 5. De beter sig ändå likartat genom att de alla är Unixmaskiner, i den mening som beskrivits ovan, och speciellt gäller att de alla kan ha flera användare samtidigt. Däremot är Windowsmaskinerna i A2009, A2011 och A2016 (som också är av märket Zampo) inte fleranvändarsystem i denna bemärkelse. De lokala hårddiskarna och diskettstationerna på Windowsmaskinerna spelar en annan roll än när det gäller Unixmaskinerna. Det finns en förbindelse mellan Windowsmaskinerna och Unixmaskinerna, men den är inte symmetrisk: det går att från Windowsmaskinerna komma åt Unixmaskinerna, på det sätt som beskrivs i avsnittet om Windows-maskinerna, men inte tvärtom.

Förutom de nämnda datorsalarna - A2506, A2509, och A2510 med Unixmaskiner samt A2009, A2011 och A2016 med Windows-maskiner - finns det fler utrymmen med datorer som du kan använda. Information om dessa får du i anknytning till de kurser där de används.

Datorn sigma spelar en särskild roll. Om du vill arbeta hemifrån på skolans datorer är det sigma som du loggar in på med ssh, på det sätt som beskrivs i avsnittet om shellkommandon. Sigma är i detta sammanhang i själva verket en kollektiv benämning på några datorer som delar på arbetet att hantera inloggningar utifrån.

Av den övriga utrustningen som datorerna kommunicerar med är speciellt skrivarna av betydelse, och dessa beskrivs nedan i ett särskilt avsnitt.

1.6 Nätverk

Ett nätverk består av ett antal datorer och annan utrustning som kan kommunicera med varandra via någon sorts länk. Kommunikationen sker genom något visst protokoll, dvs någon uppsättning regler för hur information ska organiseras och överföras. Nätverk kan vara mer eller mindre omfattande, och det mest omfattande är Internet (ett världsomspännande "nätverk av nätverk"), där de anslutna datorerna kommunicerar genom ett protokoll kallat TCP/IP. Datorer anslutna till Internet finns i hela världen, och det är vanligen dem vi skickar elektronisk post till, kontaktar för att titta på webbsidor, osv. Det fysiska utbytet av informationen, som en ström av bitar, kan ske på alla möjliga sätt - koppartråd, glasfiber, radiovågor, i teorin genom att pudlar bär över bitarna. Varje utrustning som kan kommunicera enligt detta protokoll kan vara ansluten till Internet, och entusiasterna föreställer sig att så småningom varje brödrost och hårtork kommer att vara ansluten.

Förutom Internet finns det också många mer eller mindre lokala nätverk, t.ex. här på skolan. Till dessa nätverk är anslutna ett antal datorer samt även annan utrustning, av vilken det som främst är av intresse för studenter är skrivarna.

1.7 Filsystemet

Någonstans i källarregionerna finns det ett antal hårddiskar som innehåller mer eller mindre permanent lagrad information. Denna information är organiserad i ett hierarkiskt filsystem. En fil kan innehålla vilken som helst digital information som någon har sparat av en eller annan anledning. Vi talar om en textfil om filen innehåller kodad text, medan alla andra filer brukar kallas binärfiler. Textfiler är ju i och för sig också binärfiler i den meningen att all information lagras i binär form, men åtskillnaden mellan textfiler och binärfiler är av betydelse eftersom textfiler spelar en särskild roll i många sammanhang. Binärfiler kan innehålla exempelvis digitaliserad bild- eller ljudinformation, program som kan exekveras av datorn, eller text med formateringsinformation, kodad på något speciellt sätt av ett ordbehandlingsprogram. Varje fil har ett namn och namnet ger ofta en vink om vad för slags data filen innehåller. Till exempel är en fil med namnet prat.txt förmodligen en textfil och en fil med namnet meloner.gif förmodligen en gif-fil, dvs en fil som innhåller en digitaliserad bild i gif-format. Men för Unixmaskinerna gäller att det inte finns någon nödvändig koppling mellan namn på filer och vad för slags data de innehåller.

För att få någon ordning i filsystemet organiseras filerna av alla vanliga operativsystem i kataloger. En katalog kan innehålla filer och andra kataloger, som då kallas underkataloger till den katalog som innehåller dem. Hela filsystemet är hierarkiskt: det finns en unik rotkatalog och denna rotkatalog har i sin tur ett antal underkataloger, osv. Denna organisation av innehållet på hårddiskarna beskrivs närmare nedan under rubriken "shellkommandon och Unixmiljön".

1.8 Klient och server

Alla datorer behöver jämnt och ständigt hämta information från och skriva information till hårddiskarna. Att låta varje dator för sig kommunicera direkt med hårddiskarna är av olika skäl besvärligt och olämpligt, och skolans lokala nätverk är därför liksom de flesta lokala nätverk organiserade med ett antal servrar, som är datorer med hög kapacitet som direkt kommunicerar med hårddiskarna, skrivarna och annan utrustning, och även med yttervärlden, dvs nätverk utanför skolan. Varje server har ett antal klienter, som är de datorer som vänder sig till servern med begäran om att hämta filer, göra utskrifter, osv. En beskrivning av systemtekniks servrar och deras funktion finns på http://www.sm.luth.se/drift/hardware/servers.html. Exempel:

Server-
namn
Nät Alias Funktion
bart sm-elev - bart är elevernas huvudserver. Den sköter hemkatalogerna, e-posten, mappar UNIX-filsystemet mot Windowsdatorerna (SAMBA).
sigma sm-elev - sigma är elevernas inloggningsservrar (f.n. sigma1 och sigma2). Dessa är till för eleverna skall kunna logga in utifrån.
studpop sm-elev - studpop är vår lokala POP-server (server för inkommande e-post). För de flesta elever så är det den centralt placerade och administrerade pophost.student.luth.se som är den till vilken e-posten levereras.
mailhost sm,sm-elev - mailhost är vår SMTP server, eller server för utgående post om man så vill.
news sm,sm-elev - news är vår newsserver.

Beskrivningen av de olika funktioner som servrarna uppfyller är tämligen lätt att begripa i stora drag, förutom den kryptiska upplysningen att news är vår "newsserver". News består av gigabyte (=1024 megabyte) och åter gigabyte av texter som folk över hela världen skriver i det som kallas nyhetsgrupper. Alla inlägg som skrivs i news distribueras till alla Internetanslutna lokala nätverk och de lagras alltså i oerhört många exemplar världen över. Varje lokalt nätverk avgör vilka nyhetsgrupper (av de många tusen som finns) som tas emot. News läses och skrives med en s.k. newsläsare. Du kan t.ex. använda Netscape eller Gnus, som är integrerad med Emacs. Det senare startas genom att du i Emacs ger kommandot Esc+X följt av gnus.

2. Bootstrapping

Man kan undra vad det är för mening med att lägga upp denna introduktion som datortext (den finns både på dator och på papper) om den riktar sig till personer som inte vet någonting om hur man läser information på datorer. I själva verket är detta helt i datoranvändningens tradition. Man talar om att boota en dator. Detta kommer från engelskans bootstrapping, ett uttryck som syftar på att lyfta sig själv i håret, eller närmare bestämt i stövelstropparna. När det gäller datorer innebär detta att man säger åt datorn att hämta och utföra vissa instruktioner som talar om för den vad den ska göra. Detta fordrar förstås att datorn har åtminstone någon primitiv inbyggd intelligens, så att den begriper att när man rycker i en viss tråd betyder det att den ska hämta och utföra instruktioner som finns att hämta på en viss plats. På samma sätt kan nybörjaren i datoranvändning "bootas" genom en praktisk demonstration som visar hur man loggar in, flyttar markören över en bildskärm, klickar med musen, osv, för att sedan med användning av denna grundkunskap inhämta allt mer omfattande kunskaper.

En tilläggskommentar om "boota": datoranvändaren lär sig snart att den vanligaste förekomsten av "boota" är i uttrycket boota om. Ombooten är det viktigaste vapnet i datoradministratörens arsenal. Den går ut på att "slå av och på" den krånglande enheten - en arbetsstation eller server eller skrivare eller någonting annat - och hoppas att den är frisk igen när den startat om.

Konto och lösenord

För att kunna använda Systemtekniks datorer behöver du ett konto på elevdatorerna. Detta innebär att du finns registrerad som användare av datorerna och att systemet därför tillåter dig att utnyttja datorresurserna. För att få ett konto behöver du först genom Helpdesken i B-huset få ett användarnamn, som exempelvis noltek-1@student.luth.se, med tillhörande lösenord. Närmare information om detta hittar du på helpdeskens webbsidor, http://www.luth.se/helpdesk/. Om du läser någon kurs på Systemteknik kommer normalt ett konto på systemteknikdatorerna att skapas åt dig utan att du behöver göra något speciellt. Om det visar sig att du inte kan logga in (på det sätt som beskrivs nedan) vänder du dig i första hand till din lärare eller handledare. Om det blir nödvändigt vänder du dig direkt till de systemansvariga på Systemteknik, som finns i rum A3002. Datordriften vid institutionen har webbsidor på adressen http://www.sm.luth.se/drift/.

Närmast beskrivs hur man loggar in och ut på Unixmaskinerna, samt huvuddragen i fönsterhanteringssystemet FVWM. Windowsmaskinerna är något annorlunda, och de beskrivs därför kortfattat i ett separat avsnitt 3.

Vid inloggning på någon av lambdamaskinerna i A2509 eller terminalerna i A2510 utgår du från ett fönster med följande utseende:

I stället för "remote host sigma1" står det "sigma4" om du loggar in via en terminal - alla terminalerna i A2510 är ju anslutna till sigma4 - eller namnet på arbetsstationen (t.ex. lambda79) om du sitter i A2509.

Om du nu skriver in ditt användarnamn, t.ex. noltek-1, och trycker på returntangenten (eller OK-knappen) får du upp nästa fönster:

Du skriver här på samma sätt in ditt lösenord, varefter du är inloggad, och diverse fönster dyker upp. Den implementering av fönster som används på Unixmaskinerna heter X Windows, därav diverse "X" i olika sammanhang. Förutom fönstersystemet behövs ett program som kallas en fönsterhanterare (window manager), som klarar av att flytta fönster, ändra deras storlek, osv, och även tillhandahåller diverse andra funktioner. "Default" i rutan ovan innebär att du i denna session vid datorn eller terminalen - alltså tiden mellan inloggning och utloggning - kommer att använda en fönsterhanterare som heter FVWM, och hur den fungerar beskrivs i följande avsnitt. Du har också möjlighet att välja att använda en annan fönsterhanterare, benämnd KDE. Detta åstadkommer du genom att i loginfönstret välja Options och därunder Sessions, och sedan KDE. Om du har valt KDE vid en session kommer du att få KDE även vid nästa session ("User's last desktop") om du inte i stället väljer Default under Options/Session. Någon information om KDE ges inte i denna handledning - där får du i stället förlita dig på experiment och andra källor, som http://www.kde.org/.

Inloggning på taumaskinerna, alltså arbetsstationerna i A2506 går till på samma sätt, fastän inloggningsfönstret ser något annorlunda ut:

Här skriver du både användarnamn och lösenord. Under "Session type" ska det stå "default" för att du ska få FVWM som fönsterhanterare. En session vid taumaskinerna fungerar på samma sätt som för Solarismaskinerna (sigma- och lambdamaskinerna) när det gäller fönsterhanteringen och användningen av shellkommandon.

Problem vid inloggning

Om du har glömt ditt lösenord är det förhoppningsvis ingen som vet vad du har för lösenord (eftersom du inte bör tala om det för någon annan). Det enda som då finns att göra är att skaffa dig ett nytt lösenord, och detta kan du bara göra genom att personligen infinna dig hos de systemansvariga i A3002, legitimera dig, och välja ett nytt lösenord.

Om du har överskridit din diskkvot, dvs har alltför många megabyte i din hemkatalog, kan du inte logga in vid bildskärmen. Det du då gör är att ta hjälp av någon kamrat som är inloggad. Följande beskrivning av hur du gör använder sig av begrepp från avsnittet om shellkommandon, och du kan återvända till den efter att ha läst det avsnittet. Antag att användaren heltek-1 är inloggad på sigma4. I ett shellfönster loggar du, som vi antar är noltek-1, in med följande kommando:

sigma4:/home/heltek-1>login noltek-1

Du blir nu inloggad på ditt konto i samma shellfönster (efter att på uppmaning ha skrivit ditt lösenord) och kan ta bort filer med rm. ls -l talar om för dig vilka stora skräpfiler du har som lämpligen kan undanröjas. Speciellt gäller att om du i ditt konto hittar en fil med namnet core som du inte själv har skapat ska den saklöst utplånas. En sådan "corefil" kan skapas när ett program bryter samman, och innehåller en ohygglig massa information om maskinens tillstånd vid sammanbrottet. När du är färdig loggar du ut med logout.

När du loggat in via inloggningsfönstret och fått igång FVWM avslutar du en session genom att logga ut via fönstersystemet, på det sätt som beskrivs i det följande avsnittet.

3. FVWM

Följande beskrivning gäller hur bildskärmen är organiserad som default när du använder FVWM. Du har möjlighet att själv organisera bildskärmen som du vill, på det sätt som beskrivs i övningsuppgifterna.

Det finns ett antal ikoner i övre vänstra delen av bildskärmen. Överst har vi en digital klocka tillsammans med en brevlåda:

Brevlådan visar när du fått ny elektronisk post genom att pipa, fälla upp signalflaggan och övergå till inverterad grafik (vita linjer på svart bakgrund i stället för tvärtom). När du hämtat den nyanlända posten (med ditt emailläsningsprogram - se avsnittet om elektronisk post) återgår brevlådan efter en stund till sitt tidigare utseende.

Under brevlådan och klockan finns en grafisk belastningsmätare. Höjden av den svarta bergskedjan anger hur stor belastningen på datorn är. Om du märker att belastningen rusar i höjden utan uppenbar anledning kan det finnas anledning att använda de kommandon som beskrivs nedan under "processhantering" för att se vad som pågår.

Rutmönstret med tre gånger tre grå fält representerar nio "virtuella skrivbord". Genom att vänsterklicka på ett av dessa fält (dvs flytta markören till fältet med musen och sedan trycka på vänstra musknappen) väljer du ett av dessa virtuella skrivbord. På vart och ett av dem kan du öppna fönster, som sedan syns som blå ikoner på motsvarande grå ruta. Du kan också släpa fönster mellan de virtuella skrivborden.

Av de åtta ikonerna där under används sju för att starta program. Xtermikonen:

används för att öpnna ett shellfönster, vars användning beskrivs i avsnittet om shellkommandon.

Emacs-ikonen:

används för att starta Emacs, som beskrivs i ett senare avsnitt. Netscape-ikonerna

används för att starta respektive Netscape och emailhanteringsdelen av Netscape. Den senare ikonen, den som heter Mail, används bara om man inte redan har startat Netscape, och enbart vill hantera email. Om Netscape redan är i gång aktiveras emailhanteringen med menyval i Netscape. StarOffice-ikonen:

används för att starta programmet StarOffice, en Sun-variant av Microsoft Office (http://www.sun.com/staroffice/ ger mer information).

Manualikonen:

startar en X-baserad variant av Unixmanualen, och Xlock-ikonen

startar programmet xlock, som du kan använda om du under en session behöver lämna datorn för en kortare tid. Programmet "låser" datorn och bildskärmen, så att ingen annan kan använda den under din frånvaro. Detta är förstås bara acceptabelt om du bara är frånvarande en kort stund.

Kill-ikonen, slutligen:

används för att på ett brutalt sätt avsluta en process som har ett tillhörande fönster. Om du klickar på bomben antar markören utseendet

Om du sedan placerar markören i ett fönster och vänsterklickar så försvinner fönstret och den process som använder fönstret avslutas. Detta är användbart i sådana fall då det inte går att avsluta processen på något mindre brutalt sätt, till exempel om Netscape hakat upp sig på någonting och är omöjlig att avsluta på normalt vis.

Förutom ikonerna till vänster finns på bildskärmen när FVWM startar två shellfönster. Det övre av dessa är ett konsollfönster. Det innebär att det kan användas som andra shellfönster, men dessutom kommer eventuella meddelanden till dig från systemet att dyka upp i detta fönster. Det är mindre än det andra shellfönstret, eftersom man för det mesta nöjer sig med att låta konsollfönstret visa meddelanden. Om du behöver fler shellfönster startar du dem med Xterm-ikonen.

De operationer som man utför i FVWM är samma som man utför i fönstersystem i allmänhet: klicka bort fönster, göra ikoner av fönster, släpa fönster, öppna fönster, förstora och förminska fönster, osv. Det finns dessutom diverse funktioner som aktiveras med användning av någon av de tre musknapparna. Åter är problemet att det finns så mycket information om FVWM att det är svårt att sålla fram det man behöver. http://www.plig.org/xwinman/fvwm.html talar om för dig mycket mer än du vill veta. Det du först bör göra är att själv experimentera med olika operationer och se vad som händer när du trycker på musknappen i olika lägen. Övningarna i anslutning till detta avsnitt föreslår en serie av sådana experiment.

4. Windows-maskinerna

När du sätter dig vid en Windows-maskin som är redo för inloggning finns det ett litet fönster som uppmanar dig att trycka på Ctrl+Alt+Delete för att logga in. "+" i denna uppmaning betyder att du trycker ner de tre tangenterna samtidigt. Det dyker då upp ett fönster där du skriver ditt användarnamn och lösenord, precis som vid inloggning på Unixmaskinerna. (När du ändrar ditt lösenord på Unixmaskinerna med passwd på det sätt som beskrivs i avsnittet om shellkommandon kommer ändringen även att gälla för Windows-maskinerna.) Du klickar på LogOn för att logga in på maskinen. För att logga ut efter en Windows-session klickar du på Start-ikonen längs ner till vänster och väljer sedan med musen alternativet Shutdown. Det dyker då upp tre möjliga sätt att avsluta, och det som du ska använda är det tredje, redan förkryssade alternativet: "Close all programs and log on as a different user".

Windows-maskinerna kör operativsystemet Windows 2000, och för en användare är det när man loggat in ingen större skillnad mellan detta och Windows 95 eller Windows 98. Fönstersystemet fungerar efter samma övergripande principer som andra fönstersystem, dvs fönster kan flyttas, förstoras, förminskas, göras till ikoner, osv, och det enda sättet att lära sig att hantera dem är genom praktisk övning. Något man bör komma ihåg är att dubbelklickande på ikoner används i Windowsmiljön men inte i Unixmiljön. (Musen har ett hjul i mitten, som ocksa kan fungera som tredje knapp i vissa program. Hjulet har olika användningar beroende på tillämpningen, men den enda användning som man kan räkna med är för att "skrolla" i fönster genom att ha markören på rullisten och rulla hjulet i stället for att hålla vänsterknappen nedtryckt och flytta musen.)

Om du dubbelklickar på "My Computer"-ikonen längst upp till vänster på bildskärmen ser du bl.a. enheterna C: (den lokala hårddisken) och H:. Den sista enheten är din egen filkatalog på Unixmaskinerna. Det finns alltsa en förbindelse mellan Windows-maskinerna och Unixmaskinerna som innebär att du på Windows-maskinen kan hämta filer från H: eller spara dem i H:, precis som för C: och D:, och dessa kommer då att hämtas från eller sparas i din filkatalog på Unix. Om du sparar saker i C: finns det daremot ingen garanti för att de finns kvar nästa gång du loggar in, vilket du påminns om av bildskärmstexten vid varje inloggning.

Eftersom din hemkatalog finns på Unixmaskinernas filsystem använder du inte Windows-maskinerna på samma intensiva sätt som Unixmaskinerna för att hantera dina egna filer. Förmodligen kommer du att använda Windows-maskinerna huvudsakligen för att köra vissa speciella program. Windowsmaskinerna innehåller diverse programvara:

PROGRAMVAROR I DATORLAB A2011, 2001-02-28

- Acrobat Reader 4.x 
- DesignLab 8.0 Eval
- GNU Emacs
- GhostScript + GSView
- Java JDK
- Macromedia Director 8.x
- Maple V 5.x
- MATLAB 5.x
- Microsoft C++ 6.x
- Netscape Communicator 4.x
- OrCAD 9.x Demo
- Rational Rose C++ Demo 4.0
- Programmer's File Editor
- Putty (SSH-klient)
- RegSim
- Scientific Workplace 3.x
- StarOffice 5.x
- QuickTime

Netscape och Emacs fungerar på samma sätt som på Unixmaskinerna. Maple och MATLAB är program för matematisk databehandling som används på vissa kurser.

Programmet Putty ger dig möjlighet att logga in direkt på ditt Unixkonto från en Windows-maskin. Starta Putty och dubbelklicka på sigma, så får du upp ett shellfönster där du kan logga in. Om du startar Emacs på sigma i ett sådant shellfönster kommer Emacs att exekvera i samma fönster, och du behöver använda C-Z och fg på det sätt som beskrivs längre fram för att växla mellan Emacs och shellet. Du kan använda det shellfönster du får genom Putty för att utföra operationer i din hemkatalog på Unixmaskinerna på det sätt som beskrivs i det följande avsnittet.

5. Shellkommandon och Unixmiljön

5.1 tcshell

När du klickar på Xterm-ikonen på en Unixmaskin startas ett fönster som exekverar ett program som heter tcshell. Detta är ett program som läser kommandon från tangentbordet och utför dem. Kommandotolken, eller "shellet", som man ofta säger på den rotvälska som pratas i dessa sammanhang, förstår ett stort antal inbyggda kommandon, och kan också starta vilket som helst exekverbart program (alltså program som kan utföras av datorn) vars namn man skriver som ett kommando till shellet. I den fortsatta beskrivningen görs det ingen åtskillnad mellan inbyggda shellkommandon och sådana kommandon som anropar andra program.

5.2 Filsystemet i Unix

Filer organiseras av Unix i ett hierarkiskt filsystem, på det sätt som beskrevs ovan. Rotkatalogen i detta system har i Unix det enkla namnet /. Varje fil eller filkatalog har ett fullständigt (absolut) namn som talar om vad den heter och var i hierarkin den befinner sig. Exempelvis gäller att /u21/torkel/j/jdoc/line.owl.gif är en fil vid namn line.owl.gif som ligger i katalogen jdoc, som är en underkatalog till j, som är underkatalog till torkel, som är underkatalog till u21, som i sin tur är underkatalog direkt till rotkatalogen. (Vissa namn kan vara symboliska länkar som leder till andra filsystem, men detta är ingenting som har någon betydelse i denna handledning.) Filsystemet på Windowsmaskinerna, kan det nämnas, fungerar från användarens synvinkel på samma sätt, men traditionen i DOS-sammanhang är att skriva filnamnen med användning av \ (en symbol som vanligen på rotvälska benämns "backslash") i stället för snedstrecket /.

Filer i olika filkataloger kan ha samma namn utan att någon konflikt uppstår. Däremot kan det bara finnas en fil med ett visst namn i en och samma filkatalog. Om du har två filer med namnen meloner och mandariner i samma filkatalog och får för dig att byta namn på filen meloner till mandariner med användning av mv på det sätt som beskrivs nedan så kommer den gamla filen mandariner att tas bort utan förvarning. Det finns inte möjlighet i Unix att återskapa filer som tagits bort. Många program frågar därför om du verkligen vill skriva över (dvs ersätta) en existerande fil i en sådan situation, och kommandot rm som beskrivs nedan har från början konfigurerats så att det begär bekräftelse på att filen ska tas bort.

5.3 Tillgänglighet hos filer

Alla filer och kataloger har en ägare. Normalt är det bara ägaren som kan ta bort eller ändra i en fil, och till exempel när det gäller filer som innehåller mottagen elektronisk post är det bara mottagaren, som också är ägaren, som kan läsa filen. Ett specialfall är ägaren root. I Unix är root, även kallad superanvändaren, den enda som har rättighet att läsa alla filer, ändra i alla filer, och överhuvudtaget göra vad som helst med systemet. I praktiken är det i ett väladministrerat system ett litet antal systemadministratörer som kan logga in som root, och det säger sig självt att detta innebär ett stort ansvar. (Ingen i systemet, inte ens superanvändaren, känner till ditt lösenord, men superanvändaren kan ändra ditt lösenord utan behöva känna till det gamla.)

När det gäller filer som du själv skapat bestämmer du också vilka som ska kunna läsa filen och vilka som ska kunna skriva till (dvs ändra i eller ta bort) filen. Det vanliga är att enbart du själv kan skriva till filen, medan alla kan läsa filen. Sådana filer vars innehåll du inte vill att andra ska kunna se gör du oläsliga för andra med användning av chmod på det sätt som beskrivs nedan. En väsentlig regel är att aldrig göra det möjligt för alla att ändra i dina filer.

5.4 Prompten, arbetskatalogen och hemkatalogen

När man använder shellet befinner man sig bildligt talat i någon viss filkatalog, som vi kallar arbetskatalogen. Shellprompten är inställd på att visa vilken katalog detta är:

sigma4:/home/noltek-1>

Shellprompten, som avslutas med >, visar att shellet väntar på nästa kommando. Till vänster om > står det vilken dator du befinner dig på - här sigma4 - och vilken katalog som är arbetskatalogen. I detta fall är arbetskatalogen /home/noltek-1 vilken är hemkatalogen för användaren noltek-1. Med cd kan du byta arbetskatalog, som visas nedan. Vi antar i fortsättningen att du är användaren noltek-1, eller i vardagliga sammanhang Nollan Teknologusson. När arbetskatalogen är /home/noltek-1 säger vi att noltek-1 befinner sig på toppnivå i sin hemkatalog. Hemkatalogen är den del av filsystemet som du själv bestämmer över, och där du sparar de filer du själv skapar eller hämtar från annat håll. Det finns en övre gräns för hur stor din hemkatalog får bli (dvs hur många megabyte sammanlagt den får innehålla), och du kan då och då behöva rensa undan gamla filer för att inte slå huvudet i taket, och speciellt för att kunna logga in.

5.5 Felmeddelanden

Den allmänna regeln i Unixvärlden är att om ett kommando har genomförts utan problem ges inga speciella meddelanden om detta. Det är bara om det finns resultat att meddela eller om något gått fel som utskrift sker. I det senare fallet skrivs ett felmeddelande, som härrör antingen från shellet eller från något annat program. I följande exempel är det shellet som klagar:

sigma2.sm.luth.se:/home/noltek-1> fnoggo                                
fnoggo: Command not found.
sigma2.sm.luth.se:/home/noltek-1> 
Felmeddelandet är i detta fall lätt att förstå: det finns varken något inbyggt kommando fnoggo eller någon fil vid namn fnoggo i arbetskatalogen.

I detta fall kommer felmeddelandet från programmet java:

sigma2.sm.luth.se:/home/noltek-1> java
Usage: java [-options] class [args...]
           (to execute a class)
   or  java -jar [-options] jarfile [args...]
           (to execute a jar file)

where options include:
    -cp -classpath 
              set search path for application classes and resources
    -D=
              set a system property
    -verbose[:class|gc|jni]
              enable verbose output
    -version  print product version
    -? -help  print this help message
    -X        print help on non-standard options
sigma2.sm.luth.se:/home/noltek-1> 

Felmeddelanden från program i Unixmiljö innehåller ofta en sådan rad som Usage: ... som talar om på vilka olika sätt programmet kan anropas, dvs startas med ett shellkommando. Denna information kan vara mer eller mindre kryptisk. Man behöver veta något om programmet för att förstå vad meddelandet innebär.

Ibland tycker ett program självt att felet är så märkligt att det lägger till ett utropstecken. pwd är ett kommando som skriver ut namnet på arbetskatalogen:

> pwd
pwd: cannot determine current directory!
> ls
ls: .: Stale NFS file handle
>

5.6 man

Det bästa sättet att få alltför mycket information om något shellkommando eller program är att använda man, som ger den information som finns i Unixmanualen om ett kommando eller program. Till exempel:

sigma2.sm.luth.se:/home/noltek-1> man tcsh
Reformatting page.  Please Wait... done


User Commands                                             TCSH(1)

NAME
     tcsh - C shell with file name completion  and  command  line
     editing

SYNOPSIS
     tcsh [-bcdefFimnqstvVxX] [-Dname[=value]] [arg ...]
     tcsh -l

DESCRIPTION
     tcsh is an enhanced but completely compatible version of the
     Berkeley  UNIX  C  shell,  csh(1).  It is a command language
     interpreter usable both as an interactive login shell and  a
     shell  script command processor.  It includes a command-line
     editor (see The command-line editor), programmable word com-
     pletion  (see  Completion  and listing), spelling correction
     (see Spelling correction), a history mechanism (see  History
     substitution),  job  control (see Jobs) and a C-like syntax.
     The NEW FEATURES section  describes  major  enhancements  of
     tcsh  over  csh(1). Throughout this manual, features of tcsh
     not found in most csh(1) implementations (specifically,  the
     4.4BSD  csh)  are labeled with `(+)', and features which are
     present in csh(1) but not  usually  documented  are  labeled
     with `(u)'.

  Argument list processing
     If the first argument (argument 0) to the shell is `-'  then
     it is a login shell.  A login shell can be also specified by
     invoking the shell with the -l flag as the only argument.

--More--(0%)

Nere i kanten på bildskärmen om man ger detta kommando står det --More--(0%). Detta beror på att kommandot man utnyttjar ett program vid namn more som används för att läsa textfiler. Siffran 0% visar hur stor del av texten som hittills har visats, här alltså mindre än en procent. more visar så mycket av innehållet i en textfil som syns på skärmen, och om det finns mer text i filen än vad som syns kan man trycka på mellanslagstangenten för att få nästa del av texten, eller på "q" för att avbryta. Det finns förstås en massa andra tangenttryckningar som man kan använda tillsammans med more, och vilka de är får man veta - ja hur, om inte genom man more. Allt detta är mycket tröttsamt att beskåda, och i praktiken lär sig de flesta användare snabbt ett litet antal handgrepp som är de som de hela tiden använder. Men förmodligen finns i din omgivning också någon som fascinerats av alla de möjligheter som Unixmiljön erbjuder - dessa personer, som vanligen är av manskön, känns igen på att de med en vansinnesglimt i ögonen sitter och hamrar på tangentbordet - och om du söker information om något visst kommando är det ofta en god idé att leta rätt på en sådan "shellguru" i stället för att söka information med man.

5.7 Manipulation av filer och kataloger

Det du för det mesta gör i ett shellfönster är att fiffla med filer: skapa filer, ta bort filer, flytta filer, läsa filer. De viktigaste kommandona i sådana sammanhang är

ls    --    inspektera innehållet i kataloger
cd    --    byt arbetskatalog
rm    --    ta bort filer
mv    --    flytta eller byt namn på filer
mkdir --    skapa en filkatalog
rmdir --    ta bort en filkatalog
cp    --    kopiera filer
chmod --    ändra tillgängligheten hos filer
I detta delavsnitt beskrivs kortfattat de viktigaste användningarna av de uppräknade kommandona. Men först några allmänna kommentarer.

Osynliga filer

Om man bara skriver ls som kommando visas filerna i arbetskatalogen. Det vill säga, inte alla filer visas. Om du första gången du loggar in på ditt konto skriver ls i shellfönstret blir resultatet:

sigma4:/home/noltek-1> ls
sigma4:/home/noltek-1> 

Det ser alltså ut som om det inte finns några filer alls, och inga kataloger. Men det gör det: det finns osynliga filer och kataloger. Om du i stället skriver ls -a kan resultatet bli:

sigma4:/home/noltek-1> ls -a
./                .cshrc            .login
../               .elm/             .wmrc
.Xauthority       .emacs            .xsession-errors
sigma4:/home/noltek-1> 

-a är här en flagga eller "option" som kan läggas till kommandot ls. De flesta kommandon har många sådana modifierande flaggor som kan åtfölja kommandot. Innebörden av -a är "visa alla filer", även osynliga sådana. Att filerna ovan är osynliga betyder bara att deras namn börjar med en punkt - .cshrc osv - vilket innebär att de inte visas av ls om man inte har med flaggan -a. Osynliga filer är vanligen initialiseringsfiler av något slag, med diverse kommandon som utförs när något visst program startar. För att titta på innehållet i filen .login kan vi använda kommandot cat:

sigma4:/home/noltek-1> cat .login
#       $Id: .login,v 1.2 1996/10/30 15:09:02 peter Exp $
### This file, named '.login', contains commands that are executed at login
### time, right after execution of the commands in the file '.cshrc'.

#       dec             - Digital Equipment decisions on control character use
#       -tostop         - Output from background jobs to the terminal allowed

stty dec -tostop

if (`tty` == /dev/console )then
        # Normal login from console
        set noglob; eval `tset -s -Q -m :sun`; unset noglob
else if ( `tty` =~ /dev/tty[pqr]? && "$TERM" != "annex" ) then
        # Remote login; terminal type already known
        set noglob; eval `tset -s -Q $TERM`; unset noglob
else if (`tty` =~ /dev/pts/*) then
        # Remote login; terminal type already known
        set noglob; eval `tset -s -Q $TERM`; unset noglob
else
        # Normal login from terminal
        # Make vt100 the default terminal type. 
        # If the '?' is removed, no question is asked.
        set noglob; eval `tset -s -Q -m :?vt100`; unset noglob
endif
sigma4:/home/noltek-1> 

.login är en textfil, och den innehåller diverse kommandon som utförs varje gång du loggar in. Vad dessa kommandon betyder är oklart, och lyckligtvis har du normalt ingen anledning att bry dig om dem. Filen .cshrc innehåller på samma sätt ett antal kommandon som utförs av shellet varje gång du startar ett nytt shell, vilket normalt innebär att du öppnar ett shellfönster. Du kan komma att ha anledning själv lägga in ett och annat kommando i .cshrc. Kommandot cat, som användes ovan, förtjänar några särskilda kommentarer.

cat

cat följt av namnet på en fil innebär ett kommando att skriva ut innehållet i filen på skärmen. cat undersöker inte alls om den angivna filen är en textfil, utan om filen är en binärfil skickas innehållet i alla fall för utskrift till bildskärmen, vilket vanligtvis ger en obegriplig gegga, och eventuellt kan leda till att shellfönstret blir oanvändbart (på grund av att innehållet i binärfilen innehåller någon slags styrkoder som tolkas av bildskärmen). Om något sådant inträffar - t.ex. att du bara får ut nonsens i shellfönstret när du trycker på tangenterna - är det bara att "slå ihjäl" shellfönstret med användning av "Kill"-ikonen, som beskrevs tidigare, och sedan starta ett nytt shellfönster med användning av "Xterm"-ikonen.

cat skriver ut hela innehållet i filen, även om det inte ryms på en textskärm. Om man vill läsa igenom en längre fil kan man använda kommandot more, som nämndes ovan i samband med man.

cat kan användas för att lätt och behändigt skapa en liten fil, om man t.ex. behöver en fil för teständamål:

sigma2.sm.luth.se:/home/noltek-1> cat > meloner
Första raden i filen meloner!
Andra raden i meloner.
Nu trycker jag först på return och sedan tangentkombinationen Control-D
sigma2.sm.luth.se:/home/noltek-1> 
Den generella innebörden av denna användning av > förklaras nedan under rubriken "Sammansättning av kommandon".

Filnamn, arbetskatalogen och hemkatalogen

Låt oss nu skapa en ny filkatalog och en ny, synlig, fil i hemkatalogen. Vi kan anta att filen meloner skapats som ovan. Vi kan sedan skapa en ny filkatalog som vi kallar nykatalog med användning av kommandot mkdir:

sigma4:/home/noltek-1> mkdir nykatalog
Efter dessa två kommandon visar ls:
sigma4:/home/noltek-1> ls
nykatalog/  meloner
sigma4:/home/noltek-1> 

ls är inställt på att visa vad som är filer och vad som är filkataloger i en katalog genom att / skrivs efter namnet på filkatalogerna. En filkatalog kan innehålla filer och underkataloger, och varje underkatalog kan i sin tur innehålla filer och underkataloger, osv. För att göra nykatalog till arbetskatalogen används cd ("change directory"):

sigma4:/home/noltek-1> cd nykatalog
sigma4:/home/noltek-1/nykatalog> 

Prompten ändras automatiskt och visar att arbetskatalogen nu är nykatalog.

Filnamn som inte är absoluta - dvs inte börjar med / - tolkas av shellet utgående från arbetskatalogen. Det betyder att om man med nykatalog som arbetskatalog vill titta på innehållet i meloner kan man inte göra det genom att bara skriva meloner:

sigma2.sm.luth.se:/home/noltek-1/nykatalog> cat meloner
cat: cannot open meloner
sigma2.sm.luth.se:/home/noltek-1/nykatalog> 
meloner finns inte i nykatalog, utan i /home/noltek-1. Om man med nykatalog som arbetskatalog vill tittat på meloner kan detta göras på något av följande sätt:
  1. Byta arbetskatalog:
    sigma2.sm.luth.se:/home/noltek-1/nykatalog> cd;cat meloner
    
    Här har semikolon använts för åtskilja två kommandon som ska utföras i ordning. När man skriver cd utan argument (alltså utan något som kommer efter cd) betyder det att hemkatalogen blir arbetskatalog.
  2. Använda det fullständiga filnamnet för meloner:
    sigma2.sm.luth.se:/home/noltek-1/nykatalog> cat /home/noltek-1/meloner
    
  3. Använda ..:
    sigma2.sm.luth.se:/home/noltek-1/nykatalog> cat ../meloner
    
    .. är en speciell notation som betyder "filkatalogen närmast ovanför arbetskatalogen". Likaså finns den speciella notationen . som beteckning för arbetskatalogen.
  4. Det finns också en särskild symbol för hemkatalogen, ~ (tilde):
    sigma2.sm.luth.se:/home/noltek-1/nykatalog> cat ~/meloner
    
    (För att få fram symbolen ~ använder du på Alt Graph på de tangentbord som har en sådan tangent.)
  5. Tilde kan användas tillsammans med namnet på en användare för att beteckna användarens hemkatalog:
    sigma2.sm.luth.se:/home/noltek-1/nykatalog> cat ~noltek-1/meloner
    

Sammanfattning av filhanteringskommandon

ls:

ls katalognamn
visar innehållet i den angivna katalogen.

ls filnamn
visar information om den angivna filen, om den existerar. Detta har en poäng särskilt när man använder "wild cards" i filnamn. Shellet tolkar * och ? på särskilt sätt: * står för vilken bokstavsföljd som helst, och ? för vilken bokstav som helst. Detta betyder att om man t.ex. skriver

sigma2.sm.luth.se:/home/noltek-1> ls p*

så kommer namnen på alla filer i hemkatalogen som börjar med bokstaven p att skrivas ut. I bäggen fallen kan ls användas med (bland annat) flaggan -a eller flaggan -l, och dessa kan också kombineras till-al. Innebörden av -a har beskrivits ovan. Innebörden av -l är att mer information om filerna skrivs ut. Exempel:

sigma2.sm.luth.se:/home/noltek-1> ls -l
total 2
drwxr-xr-x   2 noltek-1      512 Aug 29 10:56 nykatalog/
-rw-r--r--   1 noltek-1      112 Aug 29 10:58 meloner
sigma2.sm.luth.se:/home/noltek-1> 

Det som skrivs ut är information om tillgängligheten hos filen - drwxr-xr-x för katalogen nykatalog - en siffra (här 2) som kan ignoreras, vem som äger filen (noltek-1), hur många byte den upptar (detta är för filkataloger alltid 512, en siffra som inte säger något om storleken hos de filer som finns i katalogen), när filen skapades (Aug 29 10:56) och vad den heter. I filen .cshrc, som innehåller startkommandon som utförs av shellet när man öppnar ett shellfönster, finns en inställning som gör att tillgängligheten hos filer automatiskt blir den angivna. r står för "read", w för "write" och x för "execute". Innebörden är att du själv kan både läsa och ändra i filerna medan alla andra kan läsa men inte ändra. För att ändra tillgängligheten använder du chmod, och de tre ramsor som du mest kommer att behöva använda är

cd:

cd katalognamn
gör den angivna katalogen till arbetskatalog. (Om detta ger felmeddelandet Permission denied betyder det att ägaren till katalogen inte har gjort den exekverbar.)

cd:

gör hemkatalogen till arbetskatalog.

rm:

rm filnamn

tar bort den angivna filen. Här kan filnamnet innehålla * och ? så att kommandot tar bort ett antal filer.

rm -r katalognamn

tar bort den angivna katalogen och allt som finns i den.

mv:

mv filnamn1 filnamn2

byter namn på filen filnamn1 till filnamn2.

mv filnamn katalognamn

flyttar den angivna filen till den angivna katalogen. Obs att filnamnet åter kan innehålla * och ?. Ett annat sätt att med ett kommando flytta flera filer till en katalog är att skriva först alla filerna, och sist katalogen:

mv filnamn-1 filnamn-2 ... filnamn-n katatalognamn

mkdir:

mkdir katalognamn

skapar en ny katalog med det angivna namnet.

rmdir:

rmdir katalognamn

tar bort den angivna katalogen, förutsatt den är tom.

cp:

cp filnamn-1 filnamn-2

Gör kopia vid namn filnamn-2 av filen med namnet filnamn-1.

cp filnamn-1 filnamn-2 ... filnamn-n katalognamn

Kopiera alla de angivna filerna till den angivna katalogen. Här måste alltså det sista namnet vara ett namn på en existerande katalog.

5.8 Processhantering

När du arbetar vid datorn har du ett antal processer på gång. Om du vill se vilka processer det är kan du använda ps. Följande variant ger maximal information om dina processer:

sigma4:/home/noltek-1> ps -ugx
USER       PID %CPU %MEM   SZ  RSS TT       S    START  TIME COMMAND
noltek-1   421  2.6  0.52035216784 ?        S 23:55:00  0:02 /usr/openwin/bin/X
noltek-1 23479  1.7  0.42389613936 ?        S 08:46:01  0:01 /usr/local/netscap
noltek-1 23359  0.1  0.1 2480 1824 ?        S 08:45:26  0:00 fvwm
noltek-1 23480  0.1  0.120552 4464 ?        S 08:46:01  0:00 (dns helper)
noltek-1 23358  0.1  0.1 3160 2088 ?        S 08:45:26  0:00 /usr/local/X11/xbi
noltek-1 23367  0.1  0.1 2344 1464 ?        S 08:45:27  0:00 /usr/local/X11R6/b
noltek-1 23357  0.1  0.1 3792 2640 ?        S 08:45:26  0:00 xterm -geometry 80
noltek-1 23372  0.1  0.1 2144 1816 pts/12   S 08:45:27  0:00 tcsh
noltek-1 23347  0.1  0.1 1024  768 ?        S 08:45:26  0:00 sh /usr/local/pub/
noltek-1 23355  0.0  0.1 3776 2584 ?        S 08:45:26  0:00 xterm -geometry 80
noltek-1 23370  0.0  0.1 2144 1768 pts/11   S 08:45:27  0:00 tcsh
noltek-1 23360  0.0  0.1 3488 2416 ?        S 08:45:26  0:00 /usr/openwin/bin/x
noltek-1 23368  0.0  0.1 2792 1896 ?        S 08:45:27  0:00 xdaliclock -24 -ge
noltek-1 23356  0.0  0.1 1384 1024 ?        S 08:45:26  0:00 /bin/csh -f /usr/l

Utskriften ger information om vilka processer du äger, vad de gör, när de startades, samt diverse teknisk information. Varför kan man tänkas vilja se detta? Jo, det kan hända att det uppstår "dinglande processer" som upptar en massa processortid utan att göra någon som helst nytta. Om du finner att belastningen på datorn är egendomligt hög fastän ingenting verkar pågå kan det finns en sådan process. Speciellt gäller att Netscape har en viss tendens att när det bryter samman lämna efter sig sådana processortidslukande men meningslösa processer. Man kan då med användning av ovanstående kommando ta reda på processens nummer (PID) och därefter slå ihjäl den med användning av kill:

sigma4:/home/noltek-1> kill -KILL 23479
sigma4:/home/noltek-1> 

Här är -KILL en flagga med innebörden "terminate with extreme prejudice" som ser till att processen inte kan försvara sig mot kill-kommandot. Eftersom den dinglande processen inte har någon ikon eller något fönster på bildskärmen går det inte i detta fall att ta kål på den med användning av Kill-ikonen.

Om du av belastningsmätaren ser att datorn har hög belastning och om du misstänker att detta kan bero på någon dinglande process så kan du med kommandot top närmare undersöka saken. Exempel:

sigma1.sm.luth.se:/home/noltek-1> top
load averages:  0.01,  0.01,  0.01                                     09:10:25
50 processes:  49 sleeping, 1 on cpu
CPU states: 99.6% idle,  0.2% user,  0.2% kernel,  0.0% iowait,  0.0% swap
Memory: 768M real, 544M free, 5736K swap in use, 5115M swap free

  PID USERNAME THR PRI NICE  SIZE   RES STATE   TIME    CPU COMMAND
 5632 noltek-1   1  58    0 1416K 1184K cpu     0:00  0.16% top
  188 root       6  48    0   10M 9408K sleep  14:33  0.11% automountd
 5457 c95-tnn    1  58    0 2368K 1928K sleep   0:00  0.01% irc-4.4
 5610 root       1  58    0 2960K 2240K sleep   0:00  0.01% sshd
  273 root       1  58    0 1688K 1048K sleep   1:08  0.00% in.rwhod
 5612 noltek-1   1  48    0 2152K 1752K sleep   0:00  0.00% tcsh
  286 root       1  55    0 2600K 1352K sleep   3:25  0.00% sshd
  702 root      10  58    0 3864K 3440K sleep   0:18  0.00% nscd
  109 root       1  58    0 2408K 1488K sleep   0:07  0.00% rpcbind
 3507 nobody     1  59    0 3992K 3048K sleep   0:05  0.00% xfs
  156 root       1  58    0 2344K 1840K sleep   0:04  0.00% inetd
    1 root       1  58    0  784K  312K sleep   0:04  0.00% init
  196 root      11  58    0 4216K 2208K sleep   0:01  0.00% syslogd
   55 root      10  58    0 1504K 1200K sleep   0:01  0.00% syseventd
 2517 chrnil-8   1   0    0 2416K 2024K sleep   0:00  0.00% tcsh
De översta processerna är de som tar upp mest processortid. I detta fall är det kommandot top självt som tar upp den mesta tiden. top avslutas genom att du trycker på q.

När man ger ett kommando i shellfönstret startas en process, och när den avslutats får man tillbaka shellprompten. Det kan också hända att du i ett shellfönster vill starta en process som bakgrundsprocess, vilket innebär att den exekveras samtidigt med shellet, så att man genast får tillbaka prompten. Om en sådan process inte kan fortsätta utan att få indata från användaren kommer den att vila i väntan på att komma i förgrunden igen. Kommandot jobs talar om vilka processer man har startat som bakgrundsprocesser. Med fg följt av % och processens jobbnummer (eller namn, om det är entydigt) kan man få fram processen i förgrunden.

5.9 Sammansättning av kommandon

Som illustrerades i ett fall ovan kan man skriva flera kommandon efter varandra med användning av semikolon:

sigma1.sm.luth.se:/home/noltek-1> ls;rm meloner;ls
nykatalog/  meloner
rm: remove meloner (yes/no)? yes
nykatalog/
sigma1.sm.luth.se:/home/noltek-1> 

Man kan också ange att utdata från ett kommando ska skrivas till någon fil i stället för på bildskärmen. Detta görs med >. Om vi till exempel vill att cat ska skriva innehållet i mandariner i en ny fil frukter kan vi skriva

sigma1.sm.luth.se:/home/noltek-1> cat mandariner > frukter

Om vi sedan vill att innehållet i filen meloner ska skrivas till slutet av filen frukter, dvs efter det som redan finns där ("appendas till filen" på rotvälska), skriver vi

sigma1.sm.luth.se:/home/noltek-1> cat meloner >> frukter

>> betyder alltså att utdata läggs till i slutet av den angivna filen. Om vi i stället använder > med en existerande fil misslyckas kommandot:

sigma1.sm.luth.se:/home/noltek-1> cat meloner > frukter
frukter: File exists.
sigma1.sm.luth.se:/home/noltek-1> 
Om vi i stället skriver >! ersätts bara den gamla filen:
sigma1.sm.luth.se:/home/noltek-1> cat meloner >! frukter
sigma1.sm.luth.se:/home/noltek-1> 

På samma sätt kan < användas för att ange att ett kommando ska hämta input från en fil i stället för från tangentbordet. Vanligare än denna situation är att vi vill ange att ett kommando ska använda som indata resultatet av något annat kommando. Man använder då en rörledning - en pipe - mellan de två kommandona, som skrivs |. Om vi till exempel vill titta på innehållet i en filkatalog som innehåller så många filer att inte alla filnamn ryms på skärmen kan vi "pajpa" utdata från ls till more:

sigma1.sm.luth.se:/bin> ls | more
acctcom*
adb*
addbib*
admintool*
alias*
aliasadm*
amiadmin*
amicert*
amicertify*
amidecrypt*
amiencrypt*
amikeystore*
amilogin*
amilogout*
amisign*
amiverify*
apm*
appletviewer@
apptrace*
apropos*
arch*
asa*
at*
atq*
atrm*
audioconvert*
audioplay*
audiorecord*
auths*
awk*
banner*
basename*
--More--

5.10 Namnkomplettering, kommandoradsredigering och history

Tabulatortangenten kan användas i shellet för namnkomplettering - om man trycker på tabulatortangenten fyller shellet automatiskt i resten av namnet på en fil eller ett kommando om man har skrivit så stor del av namnet att det är entydigt. Detta är ofta behändigt. Vidare gäller att man kan använda samma tangentkombinationer som används i Emacs för att redigera kommandoraden, alltså det som man skriver efter shellprompten innan man trycker på return. Dessa tangentkombinationer beskrivs i avsnittet om Emacs. Slutligen har man också för att skynda på arbetet i shellfönstret möjlighet att återanvända tidigare kommandorader. Ett antal sådana sparas (hur många avgörs genom en inställning av shellet) och kan återkallas genom att man trycker på C-p för att bläddra bakåt i kommandolistan, och C-n för att bläddra framåt. Man kan också titta på kommandolistan och direkt välja ett gammalt kommando med ! enligt följande exempel:

sigma1.sm.luth.se:/home/noltek-1> ls
Desktop/    frukter     nykatalog/  mandariner
fnoggo*     nsmail/     meloner
sigma1.sm.luth.se:/home/noltek-1> ls nykatalog
nykatalog unreadable
sigma1.sm.luth.se:/home/noltek-1> cat fnoggo
ls
sigma1.sm.luth.se:/home/noltek-1> history
     1  14:53   ls
     2  14:53   ls nykatalog
     3  14:53   cat fnoggo
     4  14:53   history
sigma1.sm.luth.se:/home/noltek-1> !2
ls nykatalog
nykatalog unreadable
sigma1.sm.luth.se:/home/noltek-1> 

Asterisken efter fnoggo anger att detta är en exekverbar fil, som innehåller kommandon som kan utföras av shellet, eller ett program i binärform som direkt kan exekveras av datorn. Den har gjorts exekverbar genom chmod a+x fnoggo.

5.11 passwd och ssh

Du bör byta lösenord om det finns minsta möjlighet att någon annan känner till det. Detta görs med kommandot passwd enligt följande enkla metod:

lambda76:/home/noltek-1> passwd
passwd.real:  Changing password for noltek-1
Enter login(NIS) password: 
New password: 
Re-enter new password: 
NIS passwd/attributes changed on bart
lambda76:/home/noltek-1> 
> 

Lösenordet måste uppfylla vissa villkor, som du kan studera med man passwd.

ssh står för "secure shell". Det är det kommando du använder för att logga in på skolans datorer utifrån, och i de fall då du behöver använda en viss dator på skolan när du sitter inloggad vid en annan dator. Här är ett exempel på den senare användningen:

sigma4:/home/noltek-1> ssh sigma
Couldn't connect to PRNGD socket "/etc/entropy": No such file or directory
noltek-1@sigma's password: 
Last login: Fri Aug 31 09:23:12 2001 from sigma1.sm.luth.
Sun Microsystems Inc.   SunOS 5.8       Generic February 2000
Sun Microsystems Inc.   SunOS 5.8       Generic February 2000
sigma2.sm.luth.se:/home/noltek-1> logout                                
Connection to sigma closed.
sigma4:/home/noltek-1> 

Vad betyder raden Couldn't connect to PRNGD socket "/etc/entropy": No such file or directory, och varför dyker den upp? Det är en sådan fråga som man som vanlig användare med varm hand överlåter åt systemvarelserna att reflektera över.

Hur gör man då för att använda ssh hemifrån? Det beror på vilket operativsystem du använder på din hemdator och hur du ansluter till Internet. Om du har en Windowsdator och ansluter till Internet exempelvis via Utfors eller Telia behöver du skaffa en implementering av ssh för Windows, eftersom detta inte är ett inbyggt kommando i systemet. Sådana implementeringar, som man inte behöver betala för, finns att hämta på nätet. Efter att ha anslutit till nätet startar du sedan ssh och anger som den dator du vill logga in på sigma.sm.luth.se.

När du loggat in på en dator med ssh loggar du ut genom att i shellfönstret ge kommandot logout.

5.12 grep, sort, och så vidare

Det finns i Unixmiljön flera program som man även utan att vara fanatiker ofta kan få användning för när man organiserar sina filer, söker information, redigerar texter. Till dessa hör grep och egrep, som letar efter ord och uttryck i textfiler, sort, som sorterar textfiler, wc som räknar ord och rader, och så vidare. Ofta använder man dessa program i kombination med pipes. Antag till exempel att vi undrar hur många användare med hemkatalog i /home som började på skolan 1999. Det betyder att deras användarnamn är sådant som kalkal-9. Vi kan ta reda på detta med följande ramsa:

sigma2.sm.luth.se:/home/noltek-1> ls /home | grep -c '\**-9'
675
sigma2.sm.luth.se:/home/noltek-1> 

För att komma fram till denna ramsa behöver man, givet den allmänna informationen att grep kan användas för att söka i textfiler, leta närmare information med man grep och (vägledd av detta) även man regexp. Sådant kan man uppleva som mer eller mindre givande. Liksom när det gäller möjligheterna i tcshell finns det de som fascineras av dessa ting, och som svar på varje fråga de ställs inför i livet gärna vill säga "Vänta ska jag skriva ett perlscript som tar hand om det".

6. Skrivare

Skrivarna används för att göra utskrifter av texter och bilder. De skrivare du använder är alla postscriptskrivare, vilket innebär att den information som skickas till skrivaren är ett program i programmeringsspråket PostScript. Dessa program tolkas av skrivaren som instruktioner om exakt hur utskriften ska se ut. Programmen skrivs normalt inte av människor, utan genereras automatiskt av andra program, utgående från någon datafil som i allmänhet kan innehålla en blandning av text, formateringsinformation och bilder. Till exempel kan du instruera Netscape att skriva ut en hel webbsida med en blandning av bilder och text av olika utseende.

Utskrifter på Windowsmaskinerna görs normalt via menyval i program. I Unixmiljö finns dessutom två kommandon som du använder i shellfönstret för utskrifter, nämligen enscript och lpr. Skillnaden mellan dessa två är högst väsentlig. Ett kommando

sigma4:/home/noltek-1>lpr -Plw2510 meloner

innebär att filen meloner skickas direkt till skrivaren. Detta är bara meningsfullt om filen innehåller postscriptkod. Sådana filer brukar konventionellt ha namn som slutar .ps, men det finns som tidigare sagts inget nödvändigt samband mellan filtyp och filnamn i Unix. Om du till exempel hämtar hem en fil från nätet som du vet innehåller postscriptkod och vill få innehållet utskrivet, använder du alltså lpr. Likaså när du gör utskrifter av webbsidor. När du under File-menyn väljer alternativet Print behöver du fylla i Print Command, och skriver då till exempel

lpr -Plw2510

Flaggan -P talar om vilken skrivare du vill att utskriften ska göras på, i detta fall skrivaren lw2510, som finns i datorsalen A2510. Anledningen till att det ska stå lpr i kommandot är att Netscape först översätter innehållet på webbsidan till postscript, och det är resultatet som sedan skickas till skrivaren. Utskriften blir normalt dubbelsidig. Om du i stället anger skrivarens namn som lw2510-sim kommer enkelsidig utskrift att göras. Vilka skrivare som finns och vad de heter framgår av diagrammen nedan.

Kommandot enscript använder du för att göra utskrift av textfiler. Du skriver alltså t.ex.

sigma4:/home/noltek-1>enscript -Plw2510 A.java

för att få en utskrift av innehållet i textfilen A.java. Innebörden av enscript är att det först skapas en postskriptfil som innehåller instruktioner för att skriva ut den angivna texten, varefter resultatet skickas till skrivaren. Om du skriver ut från Emacs genom Print under menyn Tools ska du välja något av "Postscript print"-alternativen, såvida inte Emacsbufferten av någon anledning innehåller postscriptkod. Begreppet buffert i Emacs förklaras i följande avsnitt.

Om du gör misstaget att använda enscript följt av namnet på en fil som redan innehåller postscriptkod kommer du alltså att få en utskrift av denna postscriptkod - någonting som man vill undvika, eftersom utskriften är helt oanvändbar och ofta mycket lång.

Två ytterligare kommandon är användbara när det gäller skrivare: lpq och lprm. När operativsystemet får flera uppdrag att skicka utskrifter till en viss skrivare kommer dessa uppdrag att ställas i kö, och lpq talar om vilka skrivjobb som just nu står i kö till en viss skrivare. Exempel:

> enscript fil ; enscript fil ; lpq -Plw34_real
[ 1 pages * 1 copy ] sent to printer
[ 1 pages * 1 copy ] sent to printer
Printer: lw34_real@ny 
 Queue: 2 printable jobs
 Server: pid 28588 active
 Unspooler: pid 28590 active
 Status: waiting for subserver to exit at 08:58:39.724
 Filter_status: getting pagecount using 'pjl' at 08:58:40.019
 Rank   Owner/ID                  Class Job Files                 Size Time
active torkel@beta13+547            A   547 (stdin)              10393 08:58:38
2      torkel@beta13+550            A   550 (stdin)              10393 08:58:

Om man kommer på att ett utskriftskommando var ett misstag kan man ta bort uppdraget ur kön, förutsatt förstås att det fortfarande står i kö. Detta görs med lprm. För att ta bort det andra utskriftsjobbet ovan skriver man

> lprm -Plw34_real 550
Printer lw34_real@ny:
  checking perms 'torkel@beta13+550'
  dequeued 'torkel@beta13+550'
> 

Det är alltså det jobbnummer som står under Job som man använder för att ange vilket jobb som ska tas bort.

Slutligen ett påpekande: utskrifter ska förstås bara göras när det är befogat, och i anslutning till skolarbetet. Skriv inte ut enorma mängder dokumentation eller långa manualer. Om du behöver utskrift av någon viss information hämtad från Internet eller från några webbsidor här på skolan, klipp ut precis den information du behöver och skriv ut den. Vi har inte på skolan någon bestämd gräns för hur många utskrifter en student får göra, men utskrifterna övervakas automatiskt, och långa oväsentliga utskrifter påtalas.

Skrivarnas namn och placering framgår av följande diagram.

7. Emacs

Emacs är ett textredigeringsprogram. Det är inte ett ordbehandlingsprogram, vilket innebär att man inte i Emacs skriver med olika typsnitt eller med fetstil och kursivering, eller hanterar bilder och spalter, osv, utan enbart producerar vad som kallas ren text. Inom dessa gränser kan man i Emacs göra vad som helst med text. (I själva verket har Emacs även inbyggda funktioner för att hantera elektronisk post, exekvera shellkommandon, och mycket annat.) I programmeringskurser använder man normalt Emacs för att skriva källkoden till sina program, och det är en god idé att så tidigt som möjligt bli förtrogen med de viktigaste handgreppen.

Du startar Emacs antingen genom att klicka på en Emacs-ikon eller genom att i ett shellfönster ge kommandot

emacs &

Det kommer i bägge fallen att öppnas ett nytt fönster som exekverar emacs. "&" anger att den process som exekveras läggs i bakgrunden, så att du i fortsättningen kan skriva nya kommandon i shellfönstret.

Om du vill starta emacs i ett shellfönster efter att ha loggat in på sigma hemifrån kan du behöva skriva kommandot unsetenv DISPLAY;emacs. Emacs kommer då att exekveras i samma fönster. Du kan då tillfälligt gå ur Emacs och återvända till shellet med tangenttryckningen C-Z, och återgå till emacs med shellkommandot fg.

I tangentkommandon till Emacs spelar det ingen roll om man använder stor eller liten bokstav, så t.ex. C-F har samma effekt som C-f. Detsamma gäller användningen av dessa tangentkombinationer vid redigering av kommandoraden i shellet. Kombinationerna skrivs i detta avsnitt med stora bokstäver för tydlighetens skull.

Tangentkombinationen M-X i beskrivningen av Emacs-kommandon är densamma som Esc+X. (M står för "meta", en tangent som inte finns på våra tangentbord.)

Emacs fungerar på följande enkla sätt. För att redigera en textfil läser man in den i en buffert i Emacs med användning av C-X C-F. (Detta innebär att du med kontrolltangenten nedtryckt trycker på först X och sedan F. Du kan också i stället först trycka C-X och därefter C-F.) Om din arbetskatalog är nykatalog står det då efter att du tryckt C-X C-F på kommandoraden i minibufferten längst ned:

Find file: ~/nykatalog/

Du skriver nu in resten av namnet, t.ex. meloner. Om du vill läsa in en fil som inte ligger i nykatalog är det bara att sudda i kommandoraden med backspacetangenten, eller använda de tangentkombinationer som finns i Emacs för att flytta markören i en rad, ändra i raden, ta bort delar av raden. Vilka dessa tangentkombinationer är ser du av lathunden för Emacs som finns som bilaga: C-F för att flytta markören ett steg till höger, C-B för att flytta markören ett steg till vänster, C-A för att flytta den till början av raden C-E till slutet av raden, C-D för att ta bort tecknet under markören, C-K för att klippa bort allt till höger om markören. Du kan också använda tabulatortangenten för namnkomplettering, som i shellkommandon.

Om den angivna filen inte redan existerar förutsätter Emacs att det rör sig om en ny fil. Om meloner är en ny fil konstaterar Emacs (New file) i minibufferten. Titelraden för bufferten, som finns ovanför minibufferten, talar om vad bufferten heter och ger en del annan information (beroende på exakt vilken version av Emacs du använder).

Man kan upprepa detta så många gånger man vill för olika filer, gamla eller nya, och varje fil får sin egen buffert i Emacs. Man kan byta mellan buffertar med användning av C-X B. Två saker kan förtjäna att speciellt noteras i detta sammanhang. För det första gör Emacs ingen som helst kontroll av att den angivna filen verkligen är en textfil när man läser in en fil i en buffert. Om man läser in en binärfil kommer Emacs att visa innehållet på ett tämligen oanvändbart sätt. För det andra läser Emacs alltid in hela filen i en buffert, så om man med Emacs vill titta på en textfil som innehåller flera megabyte kommer bufferten alltså att bli lika stor. (Det kan därför ofta vara idé att i stället söka i stora textfiler med more eller grep.)

Emacs kan programmeras att fungera på något speciellt sätt om en buffert har ett namn av någon viss form, och den Emacs som finns upplagd på skolan är förprogrammerad med flera sådana "emacsmoder". Till exempel gäller att om man skapar en buffert för en fil med ett namn som slutar på .java utgår Emacs från att detta är en fil som innehåller programtext i språket Java, och tillhandahåller sedan vissa hjälpfunktioner för att få programtexten vackert formaterad. Motsvarande gäller .hs (Haskellprogram) och .pl (Prologprogram). Dessa emacsmoder får du anledning att närmare bekanta dig med om du skriver program i motsvarande språk. Emacsmoden aktiveras t.ex. när du skapar en buffert med C-X C-F. Om du däremot läser in filen A.java i en buffert med C-X i ("insert file") så har .java i namnet ingen betydelse för Emacs.

När man skapat sin buffert och antingen hämtat in en existerande textfil eller börjat på en ny textfil sitter man och skriver det man vill ha in i filen eller gör de ändringar man vill göra. Ändringarna kommer inte in i den fil man arbetar med i bufferten förrän man har sparat bufferten med C-X C-S eller C-X C-W. Samtliga skrivbara tecken i Latin-1 kan skrivas med användning av tangentbordet. Bokstäver som inte finns i svenska alfabetet och speciella symboler skrivs med användning av C-X 8-kombinationer på det sätt som illustreras av följande:

C-X 8 " u 	ü
C-X 8 ' e	é
C-X 8 ~ n	ñ
C-X 8 1 / 4	¼

Emacs är precis som andra traditionella program i Unixmiljö, som grep och tcshell, skräckinjagande stort, med en oöverskådlig uppsjö av funktioner och tangentkombinationer för att aktivera dem. I praktiken kommer du förmodligen att använda ett litet fåtal grundläggande operationer i Emacs, och det enda sättet att lära sig dem är genom övning. En lämplig början kan vara de övningsuppgifter som är knutna till detta avsnitt i handledningen.

8. Webbsidor

WWW, "World Wide Web" eller "webben", är ett världsomspännande system för informationsutbyte som fungerar på följande enkla sätt. En webbserver tillhandahåller ett antal webbsidor åt yttervärlden. En webbläsare eller "browser" kan skicka en begäran till servern om att få sig tillsänd en sådan sida, och visar sedan upp sidan för användaren av webbläsaren. Sidan kan innehålla text och bilder, organiserade på lämpligt sätt, och genom att klicka på länkar på sidorna kan användaren också begära att få nya sidor hämtade.

Som webbläsare använder vi vanligen på skolan Netscape, som du startar genom att klicka på Netscapeikonen. (Kom ihåg att du inte dubbelklickar när du använder Unixmaskinerna.) Första gången du startar Netscape dyker det upp fönster med frågor och kommentarer - det är bara att klicka OK på allt sådant. I senare sammanhang kan det hända att du av misstag startar Netscape flera gånger i rad. Det kommer då upp ett fönster som säger att en "lock file" upptäckts och att det går att starta Netscape, men att denna nya Netscapeprocess inte kommer att kunna göra allt som den första kan (för att inte konflikter ska uppstå). Det enklaste i en sådan situation är att klicka "Cancel". Om du vill ha flera exemplar av Netscape öppna samtidigt - vilket man ofta vill - använder du i stället "new" som beskrivs nedan för att få flera Netscapefönster. Varningsfönstret om "lock file" kan också dyka upp även om du inte har någon Netscape i gång. Detta är en följd av att Netscape kan provoceras att bryta samman av olika olämpliga sidor, och då händer det ibland att en fil som heter lock finns kvar i katalogen .netscape. Du tar då helt enkelt bort denna fil med kommandot rm .netscape/lock och startar därefter Netscape. Slutligen finns det också möjligheten att Netscape avbryts på ett sådant att Netscapefönstret försvinner men själva processen lever kvar. Detta är till exempel förmodligen vad som har hänt om du finner att det börjar dyka upp varningsfönster som helt omotiverat påstår att "bookmarks have changed on disk and are being reloaded". Du slår då ihjäl den gamla Netscapeprocessen på det sätt som beskrivs under "processhantering" i avsnittet om shellkommandon. Allmänt gäller att du innan du loggar ut bör se till att ordentligt ha avslutat Netscape (genom att välja "exit").

För att komma till denna handledning på webben gör du på följande vis: efter att ha startat Netscape väljer du under menyn File längst till vänster alternativet Open page. I det fönster som öppnas skriver du

http://www.sm.luth.se/csee/courses/smd/datorintro/

och klickar på "Open page".

Användningen av Netscape lär du dig förstås genom praktisk övning. Tveka inte att klicka vilt på allt som verkar klickbart, bara för att se vad som händer, och pröva de olika menyalternativen. För lösning av övningsuppgifterna kan du ha glädje av de sökverktyg som du kommer till via bibliotekets startsida, http://www.luth.se/depts/lib/.

Några knappar och menyval i Netscape:

Egna webbsidor

Om du vill skapa egna webbsidor och göra dem tillgängliga för världen gör du på följande vis. Skapa en underkatalog till din hemkatalog med namnet .html. (För detta behöver du förmodligen arbeta i Unixmiljö.) Lägg i denna katalog in en fil vid namn index.html. Detta är startsidan för dina egna webbsidor. Adressen (URL:en) till denna startsida är, om ditt användarnamn på skolan är noltek-1, följande:

http://bart.sm.luth.se/~noltek-1/

Du behöver inte nödvändigtvis göra dina webbsidor tillgängliga för yttervärlden, utan kan också spara dem i en godtycklig filkatalog. Du kan sedan läsa dem i Netscape genom att du använder en URL som börjar med file:. Om du till exempel har skapat webbsidan sida.html i din egen filkatalog webbsidor så anger du adressen

file:/home/noltek-1/webbsidor/sida.html

när du med Open page vill få upp sidorna i Netscape. Alternativt kan du dölja dina webbsidor för omvärlden genom att göra .html eller index.html oläslig för andra. För att dina webbsidor ska kunna läsas av alla måste .html och index.html kunna läsas av alla.

Webbsidor använder HTML (hypertext markup language) för att tala om för en webbläsare hur texten ska vara organiserad när den visas. Du kan antingen skriva webbsidor direkt med användning av HTML, eller också använda något program som översätter text som du skriver med en ordbehandlare till HTML. Det finns till exempel i Netscape under menyn Communicator ett alternativ "Composer" som gör detta.

Om du vill lära dig att använda HTML direkt finns det otaliga sidor på nätet som handlar om detta, till exempel

Om du vill ha en grundlig och auktoritativ presentation av sådan HTML som man utan att tveka kan använda i sina dokument tittar du på http://www.w3.org/TR/REC-html32. World Wide Web Consortium, http://www.w3.org/ är en organisation som arbetar med att utveckla webben och standardisera de verktyg och protokoll som används.

9. Elektronisk post

Elektronisk post, eller email som det ofta heter, kan hanteras med olika program (exempelvis Emacs). Det användarnamn som du får när du börjar på skolan ger också din emailadress: noltek-1@student.luth.se. När du har konto på Systemtekniks datorer kan du också använda adressen noltek-1@sm.luth.se, eller internt inom skolan enbart noltek-1@sm. I din hemkatalog finns när ditt konto skapas en fil .forward som anger att post till noltek-1@sm.luth.se ska skickas vidare till noltek-1@student.luth.se. Om du inte vill att detta ska göras tar du bort eller ändrar i filen .forward.

Kommentarerna i fortsättningen gäller användning av Netscape som program för hantering av elektronisk post. Netscape är automatiskt konfigurerat för att kunna användas som mailhanteringsprogram.

För att skicka ett mail kan du välja "New message" under menyn "New", som i sin tur ligger under menyn "File". Om du väljer alternative "Messenger" under "Communicator" får du upp ett fönster där du kan läsa ny post, ordna dina mappar med post, osv.

Om du inte har startat Netscape och bara vill läsa eller skicka post kan du klicka på ikonen Mail i fönstersystemet.

En god idé när du skickar post är att inte skicka vare sig HTML eller QP (quoted printable) i email. Med Netscape kan du förvissa dig om att du har rätt inställningar på följande sätt. Under Edit väljer du Preferences, och under Preferences klickar du på pilen till vänster om Mail & Newsgroups. Du kan sedan välja Messages. Där markerar du "as is" under "Send messages that use 8-bit characters". Välj sedan Formatting, och markera "Use the plain text editor to compose messages" samt "Convert the message into plain text". Klicka sedan på OK.

Bilagor

Lathund till Emacs

Starta och lämna Emacs

Kommentar: C-z och fg är bara meningsfulla om resultatet av kommandot emacs& är att Emacs startas i samma shellfönster. Det kan t.ex. gälla vid inloggning med ssh hemifrån.

Filer

Att få hjälp

Hälpsystemet är mycket enkelt. Tryck på C-h och följ instruktionerna. Om du är nybörjare, tryck C-h t för att få en demonstration. Alla hjälptexter är på engelska.

Om något går fel

Sökning

Förflyttning

Förflyttning av markören:

Skärmberoende förflyttningar

Radering

Märkning

Utbyte av text

Accepterade svar när man byter ut text interaktivt är

Flera fönster

Formatering

Ändra

Minibufferten

Följande tangenter är definierade i minibufferten. Skriv C-x ESC för att editera och upprepa senaste kommandot som använt sig av minibufferten. Föjande funktioner är definierade.

Buffertar

Byt plats

Stavningskontroll

Etiketter (Tags)

Shellkommandon

Rmail

Reguljära uttryck

Följande tecken är speciella inuti ett reguljärt uttryck.

Register

Info

Tangentbordsmakron

Speciella funktioner för Emacs Lisp

Enkel konfigurering

Här kommer några exempel på hur man kan binda tangenter till funktioner globalt i ELisp. Märk att du inte kan skriva '\M-#', utan måste skriva '\e#'.
(global-set-key "\C-cg" 'goto-line)
(global-set-key "\e\C-r" 'isearch-backward-regexp)
(global-set-key "\e#" 'query-replace-regexp)

Ett exempel på hur man sätter en variabel i ELisp:

(setq backup-by-copying-when-linked t)

Att skriva egna kommandon


(defun this-line-to-top-of-screen (line)
           "documentation"
           (interactive "P")
           (recenter (if (null linr)
                         0
                         (prefix-numeric-value line))))
Argumentet till interactive är en sträng som specificerar hur man anger argumenten när man anropar funktionen interaktivt.

Skriv C-h f interactive för mer information.


(Texten kopierad från http://www.kth.se/computer/help/emacs.html.)

Latin-1

ISO-nr
Tecken
Beskrivning HTML-kod
32
Blanksteg -
33
!
Utropstecken -
34
"
Dubbelt citationstecken &quot;
35
#
Fängelse, grind, galler, fyrkant... -
36
$
Dollar -
37
%
Procent -
38
&
Och &amp;
39
'
Apostrof -
40
(
Vänsterparentes -
41
)
Högerparentes -
42
*
Asterisk -
43
+
Plus -
44
,
Komma -
45
-
Minus -
46
.
Punkt -
47
/
Slash -
48
0
Siffran noll -
49
1
Siffran ett -
50
2
Siffran två -
51
3
Siffran tre -
52
4
Siffran fyra -
53
5
Siffran fem -
54
6
Siffran sex -
55
7
Siffran sju -
56
8
Siffran åtta -
57
9
Siffran nio -
58
:
Kolon -
59
;
Semikolon -
60
<
Mindre än &lt;
61
=
Lika med -
62
>
Större än &gt;
63
?
Frågetecken -
64
@
Snabel-a -
65
A
Bokstaven A -
66
B
Bokstaven B -
67
C
Bokstaven C -
68
D
Bokstaven D -
69
E
Bokstaven E -
70
F
Bokstaven F -
71
G
Bokstaven G -
72
H
Bokstaven H -
73
I
Bokstaven I -
74
J
Bokstaven J -
75
K
Bokstaven K -
76
L
Bokstaven L -
77
M
Bokstaven M -
78
N
Bokstaven N -
79
O
Bokstaven O -
80
P
Bokstaven P -
81
Q
Bokstaven Q -
82
R
Bokstaven R -
83
S
Bokstaven S -
84
T
Bokstaven T -
85
U
Bokstaven U -
86
V
Bokstaven V -
87
W
Bokstaven W -
88
X
Bokstaven X -
89
Y
Bokstaven Y -
90
Z
Bokstaven Z -
91
[
Vänste hakparentes -
92
\
Backslash -
93
]
Höger hakparentes -
94
^
Circumflex -
95
_
Understräck -
96
`
Grav accent -
97
a
Bokstaven a -
98
b
Bokstaven b -
99
c
Bokstaven c -
100
d
Bokstaven d -
101
e
Bokstaven e -
102
f
Bokstaven f -
103
g
Bokstaven g -
104
h
Bokstaven h -
105
i
Bokstaven i -
106
j
Bokstaven j -
107
k
Bokstaven k -
108
l
Bokstaven l -
109
m
Bokstaven m -
110
n
Bokstaven n -
111
o
Bokstaven o -
112
p
Bokstaven p -
113
q
Bokstaven q -
114
r
Bokstaven r -
115
s
Bokstaven s -
116
t
Bokstaven t -
117
u
Bokstaven u -
118
v
Bokstaven v -
119
w
Bokstaven w -
120
x
Bokstaven x -
121
y
Bokstaven y -
122
z
Bokstaven z -
123
{
Vänster klammer (måsvinge) -
124
|
Vertikal bom -
125
}
Höger klammer (måsvinge) -
126
~
Tilde -
160
 
Hårt blanksteg &nbsp;
161
¡
Upp och nervänt utropstecken &iexcl;
162
¢
Cent &cent;
163
£
Pund &pound;
164
¤
Valutatecken &curren;
165
¥
Yen &yen;
166
¦
Tvådelad verikal bom &brvbar;
167
§
Paragraf &sect;
168
¨
Umlaut eller Dieresis &uml;
169
©
Copyright &copy;
170
ª
Feminin ordinal &ordf;
171
«
Vänstervinklade citationstecken &laquo;
172
¬
Logiskt icke (ej) &not;
173
­
Mjukt bindestreck &shy;
174
®
Registrerat varumärke &reg;
175
¯
Makron &macr;
176
°
Gradtecken &deg;
177
±
Plus-minus &plusmn;
178
²
Upphöjd tvåa &sup2;
179
³
Upphöjd trea &sup3;
180
´
Akut &acute;
181
µ
My (mikro) &micro;
182
Styckeparagraf &para;
183
·
Centrerad punkt &middot;
184
¸
Cedilla &cedil;
185
¹
Upphöjd etta &sup1;
186
º
Maskulin ordinal &ordm;
187
»
Högervinklade citationstecken &raquo;
188
¼
En fjärdedel &frac14;
189
½
En halv &frac12;
190
¾
Tre fjärdedelar &frac34
191
¿
Upp och nervänt frågetecken &iquest;
192
À
A grav &Agrave;
193
Á
A akut &Aacute;
194
Â
A circumflex &Acirc;
195
Ã
A tilde &Atilde;
196
Ä
A umlaut &Auml;
197
Å
A ring &Aring;
198
Æ
AE ligatur &AElig;
199
Ç
C cedilla &Ccedil;
200
È
E grav &Egrave;
201
É
E akut &Eacute;
202
Ê
E circumflex &Ecirc;
203
Ë
E umlaut &Euml;
204
Ì
I grav &Igrave;
205
Í
I akut &Iacute;
206
Î
I circumflex &Icirc;
207
Ï
I umlaut &Iuml;
208
Ð
ETH &ETH;
209
Ñ
N tilde &Ntilde;
210
Ò
O grav &Ograve;
211
Ó
O akut &Oacute;
212
Ô
O circumflex &Ocirc;
213
Õ
O tilde &Otilde;
214
Ö
O umlaut &Ouml;
215
×
Multipliceringstecken &times;
216
Ø
O slash &Oslash;
217
Ù
U grav &Ugrave;
218
Ú
U akut &Uacute;
219
Û
U circumflex &Ucirc;
220
Ü
U umlaut &Uuml;
221
Ý
Y akut &Yacute;
222
Þ
THORN &THORN;
223
ß
SZ ligatur &szlig;
224
à
a grav &agrave;
225
á
a akut &aacute;
226
â
a circumflex &acirc;
227
ã
a tilde &atilde;
228
ä
a umlaut &auml;
229
å
a ring &aring;
230
æ
ae ligatur &aelig;
231
ç
c cedilla &ccedil;
232
è
e grav &egrave;
233
é
e akut &eacute;
234
ê
e circumflex &ecirc;
235
ë
e umlaut &euml;
236
ì
i grav &igrave;
237
í
i akut &iacute;
238
î
i circumflex &icirc;
239
ï
i umlaut &iuml;
240
ð
eth &eth;
241
ñ
n tilde &ntilde;
242
ò
o grav &ograve;
243
ó
o akut &oacute;
244
ô
o circumflex &ocirc;
245
õ
o tilde &otilde;
246
ö
o umlaut &ouml;
247
÷
Divisiontecken &divide;
248
ø
o slash &oslash;
249
ù
u grav &ugrave;
250
ú
u akut &uacute;
251
û
u circumflex &ucirc;
252
ü
u umlaut &uuml;
253
ý
y akut &yacute;
254
þ
thorn &thorn;
255
ÿ
y umlaut &yuml;


Ovanstående tabell © 2000-2001 Svenska iNFALL

Övningsuppgifter

Allmän kommentar om uppgifterna: De förutsätter att du använder skolans maskiner - Unixmaskiner eller Windows-maskiner - eftersom hela syftet med datorintroduktionen är att hjälpa studenterna att lära sig använda våra system. När det gäller webbläsare betyder detta att uppgifterna ska lösas med användning av Netscape, eftersom detta är den enda webbläsare som finns på alla maskiner. Det duger ju inte om man står handfallen inför ett problem som kräver användning av Netscape (eftersom det är det enda som finns på maskinen).

Till avsnitt 1

  1. Läs igenom hela beskrivningen av servrarna och deras funktion.

Till avsnitt 2

  1. På Unixmaskinerna: logga in först med användning av den ena fönsterhanteraren, sedan (efter att ha loggat ut) med användning av den andra fönsterhanteraren. Verifiera att beskrivningen i handledningen av hur det bestäms vilken fönsterhanterare som kommer upp är riktig.

Till avsnitt 3

  1. Öppna några fönster i FVWM, till exempel Emacsfönster och shellfönster. Testa och öva på följande operationer:
  2. Utseendet på skrivbordet när man använder FVWM bestäms av filen /usr/local/pub/fvwmrc, om man inte själv skapar en fil i den egna hemkatalogen som heter .fvwmrc. Pröva att skapa en sådan fil genom att utgå från en egen kopia av /usr/local/pub/fvwmrc och modifiera den. Du kan t.ex. ändra När man ändrat något och sparat ändringarna kan man få dem att träda i kraft med Restart fvwm i Fvwm-menyn (vänster knapp).
    Modifiera din version av FVWM till en förvirrad variant som ser likadan ut som tidigare, men där man får upp Emacs genom att klicka på Kill-ikonen, medan Kill-funktionen aktiveras genom att man klickar på Emacs-ikonen.

Till avsnitt 4

  1. Bekanta dig med fönstersystemet i Windows och hanteringen av musen. Det finns vissa skillnader mellan hanteringen av mus och fönster i Windows och i FVWM, där den viktigaste skillnaden kanske är att du i Windows dubbelklickar på en ikon för att aktivera det tillhörandet program, men i FVWM enkelklickar. Under Start (i nedre vänstra hörnet) hittar du diverse program, varav en del inte har någon tillhörande ikon på skrivbordet. Ett av dem är Gnu Emacs, som finns under Editors. Starta Emacs och pröva att släpa, förstora och förminska Emacsfönstret. Under Start hittar du också Help, som du kan använda för att få information om Windows.
  2. Emacs fungerar på samma sätt på Windowsmaskinerna och Unixmaskinerna - gör Emacsövningarna nedan på Windows-maskinerna.
  3. Skapa en fil i Emacs och spara den på ditt Unixkonto.
  4. Pröva att starta ett antal olika program - StarOffice, Maple, osv - och titta på hur dessa typiska Windowsprogram beter sig.

Till avsnitt 5

  1. Skapa en filkatalog som kan läsas av alla och som innehåller tre filer:
    1. En fil som är en kopia av filen /home/torkel/bergmancorpus och kan läsas av alla (men förstås bara ändras av dig).
    2. En fil som har samma innehåll men bara kan läsas av dig, eller förstås av superanvändaren om det av någon anledning skulle bli nödvändigt.
    3. En fil som du fått genom att kryptera /home/torkel/bergmancorpus med användning av kommandot crypt, och som därför inte kan läsas i begriplig form av någon annan än dig själv.
    Kolla att resultatet blev vad du tänkt dig, och utplåna sedan filerna.
  2. Vad betyder det resultat som skrivs ut när du skriver följande kommando?
    ls /usr/bin/r* | wc -w
    
  3. Ta reda på vad kommandot sort, xv, ghostviewgör.
  4. Om du fortfarande har kvar det lösenord du fick när din användaridentitet lämnades ut från Helpdesken, byt till ett nytt lösenord.
  5. Skriv en kommandorad till shellet som resulterar i utskrift av antalet ord i /usr/dict/words som börjar med p eller P och som någonstans innehåller "and". Observera: på tau-maskinerna heter filen /usr/share/dict/words.

Till avsnitt 6

  1. Gör en utskrift på valfri skrivare av ett en liten del av denna text. Observera att du inte ska skriva ut hela handledningen. För att skriva ut en del av ett dokument kan du i Explorer, men förmodligen inte i Netscape, markera en del av texten och därefter välja print. I Netscape får du antingen kopiera över den del av texten du vill skriva ut till en textfil, eller kopiera en del av källkoden till webbsidan.

Till avsnitt 7

  1. Skapa en ny fil i Emacs vid namn roman. Kopiera in i den filen, med användning av ett lämpligt Emacskommando (alltså tangentkombination) innehållet i filen /home/torkel/bergmancorpus. Ersätt i den resulterande filen alla förekomster av ordet "hon" (eller "Hon") med ordet "okänd". Det är förstås inte meningen att du ska sitta och leta rätt på alla förekomster av "hon" och manuellt ersätta dem.
  2. Gå igenom så många som möjligt av kommandona i lathunden för Emacs och testa dem för att se om de verkar användbara och begripliga.

Till avsnitt 8

  1. Skapa en egen allmänt tillgänglig webbsida enligt anvisningarna ovan. Sidan behöver inte innehålla något mer än lite text.
  2. Leta på universitetets webbsidor (med utgångspunkt från institutionens startsida) fram aktuella informationssidor om de kurser som du läser på Systemteknik denna termin och lägg in bokmärken till dem i Netscape.
  3. Använd någon sökmaskin (eller flera) på webben för att uppskatta hur många personer i USA som har samma förnamn och efternamn som du själv. Det räcker om du kan ge god grund för en gissning rörande vilket intervall antalet ligger i: 0 till några hundra, några hundra till några tusen, eller flera tusen.
  4. Leta på webben efter något program eller annat som levereras i form av en gzippad tarfil. Hämta hem denna fil, och använd gunzip och tar för att packa upp innehållet.

Till avsnitt 9

  1. Se till att du vet hur du ska skicka email i ren textform, alltså utan användning av QP eller HTML. Kolla att det fungerar genom att skicka ett mail till dig själv och verifiera att det inte innehåller QP eller HTML.