Labinlämning
Laborationerna skall utföras i grupper om högst
två
personer.
Varje labgrupp
skall
lämna in en labrapport via e-post på det
sätt som beskrivs nedan. Anledningen är att jag då
enkelt
kan testköra programmen (det är mycket svårare att
kontrollera program om man bara har pappersvarianten).
För att
hålla ordning på alla program och labgrupper kommer du att
förpacka dina program i en arkivfil, en sk tar-fil, som du sedan
kommer att skicka via e-post. Tarfiler är standardmetoden för
att förpacka unix-programvara, så detta utgör samtidigt
träning på
unix-användning.
Programmen skall givetvis:
Bifoga inte datafiler
som jag tillhandahåller, de tar ju bara plats i min mail-box.
Hur man skapar en tar-fil
Nu till förpackningen. I en tar-fil (tape archive) kan man spara en hel
katalogstruktur (fungerar ungefär som en zip-fil under Windows).
Du kommer att skapa en katalog vars namn består av början av
gruppmedlemmarnas
efternamn, lägga kopior av dina program (och textfiler som
innehåller eventuella beräkningar och resultat) i katalogen,
skapa en
tar-fil av katalog med innehåll och sedan skicka filen till mig.
Tar-filer är, som sagt, det vanligaste sättet att
förpacka
programsystem under unix. Filerna brukar dessutom vara komprimerade
för att spara plats och överföringstid.
Exempel
Säg att labgruppen skall redovisa lab2 och att labgruppens
medlemmar heter Andersson och Östergren i efternamn. Vi antar att
de aktuella programmen heter prog1.m
och prog2.m och att dessa
ligger i katalogen mvg300/Lab2. I katalogen har du
också en textfil, diskussion,
som innehåller en del matematiska utredningar. Gör då
så här:
cd mvg300/Lab2
mkdir Ander_Öster
cp prog1.m prog2.m diskussion
Ander_Öster
tar -cjvf lab2.tar.bz2
Ander_Öster
Skicka sedan ett mail till mig som innehåller kursnamn,
gruppmedlemmarnas
namn samt åtminstone de första sex siffrorna
i
personnumren. Bifoga lab2.tar.bz2
som attachment.
Kommentarer:
det är lämpligt att ha sina labbar i en katalogstruktur.
Kanske skapar man en katalog, mvg300
(kurskod),
Matlab_prog eller
något annat på sin toppnivå. I denna katalog skapar
man sedan kanske en katalog för varje lab, Lab2 i detta fall. cd-kommandot (change directory)
flyttar dig till denna katalog.
Med mkdir (make
directory) skapar du en tillfällig katalog bestående av de
fem
första tecknen i respektive efternamn (bokstavsordning),
förbundna med ett understreck, _. För enpersonsgrupper,
tag de fem första bokstäverna i efternamnet.
Med cp (copy) kopierar du programmen till Ander_Öster. OBS: det är mycket viktigt att inte skriva fel när cp-kommandot används, eftersom filer då kan förstöras. Kommandot cp fil1 fil2 kopierar fil1 till fil2 och förstör då, skriver över, innehållet i fil2. Om du vill vara extra försiktig kan du använda cp med interactive-flagga. cp varnar då om du försöker kopiera över en existerande fil. Så här:
% cp -i fil1 fil2
cp: overwrite `fil2'? n
% är unix-prompten
i mitt exempel och skrivs av unix-systemet. Så i detta fall
varnar cp och jag kan
ångra mig. Om man har ett katalognamn sist läggs filerna i
denna katalog.
Slutligen skapar tar-kommanot en komprimerad tar-fil. Flaggorna
betyder följande:
Om man vill packa upp
filen (vilket jag kommer att göra) skriver man t.ex. så
här: tar -xjvf lab2.tar.bz2
För att det skall vara intressant bör man då
stå i en annan katalog än där Ander_Öster finns.
Det finns många andra arkivformat,
jag har bland annat råkat ut för zip, rar, ar, shar, sea,
sit, men jag vill alltså inte
få en fil i något av dessa format.
rm (remove) tar bort
filerna. cd .. betyder
hoppa upp en nivå i filträdet och rmdir står för
remove directory. Man kan göra detta på en (farlig) rad, men eftersom man
då lätt kan ta bort alla filer man har (om man står i
fel katalog) visar jag inte en-radskommandot. Om du vill veta hur det
går till, läs manualbladet för rm, men notera att jag inte kan
återskapa förlorade filer (men IT-service, helpdesk, kanske
kan, om filerna är tillräckligt gamla så att man hunnit
ta backup, säkerhetskopior). Var försiktig!