1. obligatoriske innlevering, høsten 2014

Like dokumenter
3. obligatoriske innlevering, høsten 2014

2. obligatoriske innlevering, høsten 2014

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

Filterprogrammer og redirigering av I/O

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

Filterprogrammer og redirigering av I/O

Presentasjon av oblig 2

MAT-INF 1100: Obligatorisk oppgave 1

Lynkurs i shellprogrammering under Linux

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

UVEXFAC10/PED1001 Høst 2017 OM INNLEVERING AV OBLIGATORISK ARBEIDSKRAV I FRONTER

Unix/Linux for litt viderekomne

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

Unix/Linux for litt viderekomne

Håndtering av tekstfiler

6105 Windows Server og datanett

IN1020. Obligatorisk oppgave 1. Formål

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

Innleveringsoppgave 6

INF120: Oblig 3. Yngve Mardal Moe

Brukerveiledning for ArkN4

INF 2820 V2015: Obligatorisk innleveringsoppgave 3

Shellprogrammer og -variabler

Hangman. Level. Introduksjon

IN1000 Obligatorisk innlevering 7

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

MAT-INF 1100: Obligatorisk oppgave 1

Øving 0 - Xcode TDT4102

Håndtering av filer og kataloger

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Bruksanvisning. for Roundcube webmail. Utseende: Larry. Versjon

Håndtering av filer og kataloger

Brukerveiledning i eksamensinnlevering på Fronter

Oppgave 1 - Java og prosesser (20%)

Obligatorisk oppgave MAT-INF1100. Lars Kristian Henriksen UiO

Bruksanvisning. for Roundcube webmail. Utseende: Larry

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Vanlige spørsmål om EndNote (april 2013)

Forkurs i informatikk - Onsdag

Prøve- EKSAMEN. Operativsystemer med Linux

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Publiseringsveiledning for

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

Oblig 5 Webutvikling. Av Thomas Gitlevaag

IN1010 V18, Obligatorisk oppgave 5

Repetisjon Novice Videregående Python PDF

Mattespill Nybegynner Python PDF

Filer og kataloger, prosesser og jobber

Øvingsforelesning 3 Python (TDT4110)

BRUKERVEILEDNING. AFI_GoingGREEN

Hvordan jobber vi ved Ifi (inkludert en kort intro til Unix/Linux)

Oppgaver til forkurs i informatikk dag 1

Tell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

ITGK - H2010, Matlab. Repetisjon

IN1140 Ekstraoppgaver uke 3

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

DDS-CAD Arkitekt versjon 10. Innhold... Side. eksport... 3

Eksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang

EKSAMEN Innføring i Linux

Brukerveiledning for innlevering i WISEflow

Øvingsforelesning i Python (TDT4110)

Tell sekunder. Steg 0: Hva er forskjellig fra før? Introduksjon. I denne oppgaven skal vi lage vårt eget spill!

INF109 - Uke 1b

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3.

Hvordan lage en hjemmeside

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 2. Iver Dihle Skjervum Vit.ass. ITGK

EKSAMEN. Operativsystemer og nettverk

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Brukermanual - Joomla. Kopiering av materiale fra denne Bonefish manualen for bruk annet sted er ikke tillatt uten avtale 2010 Bonefish.

IN Seminaroppgaver til uke 11

oversendelse av e-poster til oss

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

Datamaskinene ved Ifi (inkludert en kort intro til Unix/Linux)

desktop Grunnleggende bruk av EndNote Viktig info 3 punkt s. 2 Skrive inn referanser manuelt s. 4 Overføre referanser fra databaser/søkemotorer s.

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

EKSAMEN. Operativsystemer. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

Innhold... Side. eksport... 3

Bruk av oppgaver og grupper i

Innleveringsoppgave 1

Oppgaver til forkurs i informatikk dag 2

Steg 1: Tekst på flere linjer

Velkommen til Brother's Keeper 6 for Windows!

Hva er TegnBehandler?

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Matematikk Øvingsoppgaver i numerikk leksjon 3 Skript

Havforskningsinstituttet

Steg 1: Endre bakgrunn og finne figurer

Betinget eksekvering og logiske tester i shell

Løse reelle problemer

8. FILOVERFØRING. 8. Filoverføring

UTSKRIFTSVEILEDNING FOR CANON ir-maskiner

TDT4110 Informasjonsteknologi grunnkurs: Tema: Funksjoner med retur og moduler Utgave 3: Kap

Bruk av Domenia Norges AS Webmail

Transkript:

1. obligatoriske innlevering, høsten 2014 {Jonathan Feinberg, Joakim Sundnes} {jonathf,sundnes}@simula.no September 1, 2014 Innleveringskrav Det forventes at alle skriptene beskrevet i oppgavene blir skrevet. I tillegg skal en oppsummering skrives i et latex-dokument. Denne skal følge malen gitt på emnesidene (Legges ut 2. september). Innlevering skjer ved opplasting til github. Mer informasjon om klasseromsløsningen vi bruker på github vil bli gitt i god tid før innleveringsfristen. Resurser som er nyttige for oppgaven blir lagt ut på emnesiden, under linken Obligatoriske oppgaver. Del 1: Bash Filtre Før du begynner, må du pakke ut filtreet: $ tar -xxvf file_tree.tar.gz Obs Første versjonen av obligen, var dette gjort med et skript. Dette er endret. Nyttige verktøy Alle komponenter brukt i oppgavene her må være en del av enten Bash eller standard GNU/Linux-biblioteket. Til hjelp nevner vi følgende tilgjengelige verktøy: 1

cat Concatenate files and print on the standard output. du Estimate file space usage. echo Display a line of text. find Search file tree for files. grep Print lines matching a pattern. rm Remove files or directories. sort Sort lines of text files. wc Print newline, word, and byte counts for each file. xargs Build and execute command lines from standard input. Husk å gjøre skript eksekvebare før de kjøres: $ chmod +x skript.sh 2

Oppgave 1.1 List opp alle filer som er modifisert de siste n dagene. La utskriften inkludere og være sortet på filstørrelse. For eksempel: $./list_new_files.sh filetree/ 80 36K file_tree/pkvye/htzivgre 48K file_tree/kq0wv/5rywi5kq 104K file_tree/kq0wv/mh/7gvtl2y 184K file_tree/zg/gryxji7 564K file_tree/zg/hu/dnmolk 644K file_tree/kq0wv/mh/xhdhbbk Merk at utskriften vil forandre seg med hvilken dag en kjøres. Oppgave 1.2 Find alle filer som inneholder et gitt ord. Merk at vi snakker om på innsiden av filen, ikke filnavnet. For eksempel, ved bruk av ordene what og hallo får vi følgende: $./find_word.sh file_tree/ what file_tree/pkvye/vlfn/zlbghcmj:8687:nda6gmzswhat77itufuonig23y $./find_word.sh filetree/ hello No files containing "hello" found. Oppgave 1.3 Slett alle filer i filtreet med størrelse større enn en gitt verdi. Størrelsen er gitt i kilobyte. Print ut navnene på filene som slettes. For eksempel: $./sized_delete.sh file_tree 750 Deleting... file_tree/zg/hu/vv/2kknyit5 file_tree/pkvye/vlfn/zlbghcmj file_tree/kq0wv/mh/zwg/8puxfjs file_tree/kq0wv/mh/z9kp8nb $./sized_delete.sh file_tree 750 No files of size 750 kilobytes or larger found. Hint Back-ticks tillater at man utfører en del-komando: count= <bash command> Dette kan være nyttig å ha for å for eksempel identifisere om man har 0 eller flere filer som passer størrelseskriteriet. 3

Oppgave 1.4 Sorter linjene i en fil og lagre dem i en ny fil. For eksempel: $ sh sort_file.sh unsorted_fruits sorted_fruits $ cat sorted_fruits apple grape orange pear pineapple Del 2: Python I denne oppgaven skal dere skrive et Python skript som skaper et filtre ikke veldig ulikt vedlagt i tar-formatet. Skriptet skal inneholde følgende egenskaper: Skriptet skal kunne skrives fra Bash/Cmd som et eget program og skal kreve de følgende tre argumentene: target, folders and files. Det skal også være mulig å inkludere de følgende argumentene: size, rec_depth, start, end, seed and verbose target bestemmer mappen hvor treet skal bygges. rec_depth bestemmer nivået undermappene får lov til å gå. Hvis verbose er inkludert (med hvilken som helst verdi), skal skriptet skrive ut de stegene den tar. Skriptet skal være tilfeldig (random) i de fleste aspekter: tilfeldig fil- og mappenavn, tilfeldig filinnhold, tilfeldig aksesert og modifisert tidstempling (atime & mtime), og tilfeldig filstørrelse. Hvis man inkluderer seed som en numerisk verdi, skal skriptet være deterministisk. Mao. skriptet skal gi samme resultat hvis repetert. Dette kan oppnås ved å bruke random.seed funksjonen og kun hente tilfeldige elementer fra random modulen. Argumentene dirs, files, size, start og end er alle grenseverdier. Hver mappe skal ha d [0,dirs] undermapper (gitt at rec_depth ikke er nådd), og f [0,files] filer. Hver fil skal inneholde s [1,size*1024] karakterer Markørene for både aksesert tid (atime) og modifisert tid (mtime) skal ha t start,end. Atime og mtime skal som hovedregel være ulike. Datoen skal for enkelthetens skyld være formatert i Unix/Epoch tid notert i sekunder. 4

Denne oppgaven skal løses platformsuavhengig. Med andre ord, vil vi ikke akseptere løsninger som tilkaller Bash, som os.system eller Popen. Som hjelp kan du bruke malen: my_generate_file_tree.py. Modifiser den etter behov, men husk å endre dokumentasjon deretter. 5