Filer i Linux og Bourne-again shell

Like dokumenter
Filer i Linux og Bourne-again shell

Generelt om permanent lagring og filsystemer

Filsystemet fra innsiden

Håndtering av filer og kataloger

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Filer og filsystemer i Linux

Generelt om operativsystemer

Håndtering av filer og kataloger

Generelt om operativsystemer

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O

Operativsystemer og nettverk

Tildeling av minne til prosesser

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

Tildeling av minne til prosesser

Filsikkerhet i Linux

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

Operativsystemer og grensesnitt

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Linux-programmer som bruker regulæruttrykk: grep, sed, awk

Håndtering av tekstfiler

Hva er en fil logisk sett?

Filhåndtering. Fysisk organisering av filer. Hva er en fil logisk sett? Eksempel: Post (record) orientert fil. Kjell Åge Bringsrud INF 103

Generelt om shell / skall

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen

Brukermanual for Quizbuilder

Tildeling av minne til prosesser

Håndtering av tekstfiler

EKSAMENSOPPGAVE I INF-1100

Lynkurs i shellprogrammering under Linux

Ny EKSAMEN. Operativsystemer og nettverk

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

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU

Flerveis søketrær og B-trær

Installere JBuilder Foundation i Windows XP

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Kurset består av to relativt uavhengige deler. Foreleser: Hårek Haugerud, rom PS431

6105 Windows Server og datanett

Læringsmål og pensum. Inn- og utoperasjoner 21/10/16

6105 Windows Server og datanett

1. Systemsikkerhet Innledning. Innhold

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Betinget eksekvering og logiske tester i shell

C# (.Net) EE1212 Objektorientert programmering

Installere JBuilder Foundation i Mandrake Linux 10.0

Oppgaver til forkurs i informatikk dag 1

Definisjon av prosess

Filbehandling. Begreper

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

Import av klientfiler er kun mulig fra Akelius Årsavslutning, Akelius Skatt og Akelius Revisjon.

1 Diverse linuxtips. Innhold

Linux distribusjoner

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose

En harddisk består av et lite antall plater av et magnetisk materiale.

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

TDT4105 Informasjonsteknologi, grunnkurs

Oppgave 1 - Linux kommandolinje (%)

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

EKSAMEN Innføring i Linux

Operativsystemer og nettverk Løsningsforslag til eksamen Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Prøve- EKSAMEN. Operativsystemer med Linux

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

Minnehåndtering i operativsystemer

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

Installasjonsveiledning for Ordnett Pluss

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa

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

Oppgave 1 - Java og prosesser (20%)

1. Introduksjon til operativsystemer

Shellscripting I. Innhold

NSA mandag 4. oktober Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine

Filer og kataloger, prosesser og jobber

1. Installasjon av Novell Netware 6 server

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Dataeskeleser med databrikke

EKSAMEN Innføring i Linux

Opprydding og Vedlikehold av Windows

Python: Filer og unntak Gaddis: Kapittel 6

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

UNIVERSITETET I OSLO

1 Diverse linuxtips. Innhold. 1.1 Klipp og lim med musen

Dokumentasjon av Git. Vedlegg F

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

TDT4110 Informasjonsteknologi grunnkurs: Python: Repetisjon. Professor Alf Inge Wang

Antall sider:5 (Inkludert denne) Alle skrevne og trykte hjelpemidler samt kalkulator

Hvordan å lage og publisere ditt personlige visittkort

Transkript:

Filer i Linux og Bourne-again shell

Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) Definisjoner av fil: En samling data (bits og bytes) som logisk hører sammen En kilde der data kan leses fra, og/eller et sted/medium som data kan skrives til ( alt er filer ) To hovedklasser: Datafiler og eksekverbare filer Filer har et navn og en type ( extension, f.eks..java,.txt) *: file : Fra papirbaserte informasjonssystemer

Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert sitt navn/identifikator Filsystemet er strukturen, reglene og mekanismene som brukes for å håndtere filene Ulike OS (og ulike media) bruker ofte forskjellige typer av filsystemer

Oppgavene til filsystemet * Håndtere tilgang til: Innholdet i filene Metadata om filene Strukturere lagringsplassen som er tilgjengelig Sikre pålitelighet og effektivitet Tilby brukerne verktøy for å håndtere filer Sørge for god datasikkerhet Muliggjøre deling av data Backup og redundans (?) *: Vi skal lære mye mer om filsystemer senere i kurset

Filer og hardware Filer lagres på permanente media/sekundærminne: Lagrer store datamengder til lav kostnad Ikke direkte tilgjengelig for CPU Aksesseres gjennom egne I/O-kanaler/-enheter Data overføres i store, sammenhengende blokker for å øke hastigheten Ulike typer permanente media (sortert etter hastighet): Solid-state drive (SSD/flash-disk) Magnetiske disker (hard drives) Optiske disker Magnetisk tape

OS, filsystemet og permanente media Filsystemet er implementert fysisk bl.a. med Lagringsenheter Blokkbaserte I/O-enheter Spor og sektorer på overflaten av disker Fil-pekere som lagrer fysiske adresser for start/slutt på filer Elektronikk og elektromekanikk (lese- og skrivehoder, rotasjonsmotorer...) OS gir abstraksjon vekk fra hardware: Tilbyr et sett med logiske kommandoer for filhåndtering Oversetter logiske kommandoer til fysisk håndtering av media Brukere av maskinen trenger ikke vite detaljer om hardware

Litt terminologi for filsystemer * Globalt filsystem: Samlingen av alle kataloger på alle lagringsenheter som er tilknyttet maskinen Partisjon: Logisk oppdeling av fysisk lagringsenhet i uavhengige enheter Katalog (directory/mappe); Bruker-spesifisert logisk samling av flere filer Gir et hierarkisk organisert filsystem ( mapper inne i mapper ) Link: Peker fra en katalog eller fil til en annen, for enklere filtilgang *: Terminologien her er ikke helt presis, vil bli forklart nærmere senere i kurset

Det globale filsystemet i Linux Alle Unix-lignende OS har et virtuelt filsystem som er globalt: Alle filer på hele systemet ser ut til å ligge i ett enkelt hierarkisk katalogtre Det er bare ett toppnivå (rotkatalogen) som kalles root og betegnes med '/' (tegnet skråstrek, slash ) root kan ligge på en hvilket som helst lagringsenhet, også på delte nettverksdisker Det globale filsystemet kan være satt sammen av flere mindre filsystemer (partisjoner), på samme eller på ulike device

Standard oppbygging av Linux filsystem Se avsnitt 3.6 i læreboken (eller f.eks. howtogeek.com) for en gjennomgang av innholdet i toppnivåkatalogene i Linux

Håndtering av filer fra kommandolinjen * Input til Linux-kommando er typisk en fil (eller katalog) Bashinterpreteren må vite hvor den finner: Den eksekverbare filen som svarer til kommandoen som skal utføres (f.eks. /bin/ls ) Filene som brukes som input og output til kommandoen Filene kan ligge i en hvilken som helst katalog i filsystemet Vi må enten angi søkestien (search path) til filene, eller legge inn søkestien i miljøvariabelen PATH * Filer kan også håndteres med pek-og-klikk / drag-and-drop i et GUI for Linux, omtrent på samme måte som i Windows og OS X

Søkesti: Angir hvor en fil ligger En søkesti er en liste av katalognavn skilt med tegnet / (skråstrek) Absolutt søkesti: Starter på toppen av filsystemet, i toppnivåkatalogen root, som angis med / Går helt frem til katalogen der filen vi skal bruke befinner seg Relativ søkesti: Stien starter i stående katalog og går frem til katalogen der filen befinner seg

Spesialtegn i søkestier. Stående katalog.. Katalogen ett nivå over stående katalog ~ Innlogget brukers hjemmekatalog (typisk /home/brukernavn ) ~bruker En annen brukers hjemmekatalog

Eksempel fra læreboken Antar at stående katalog er temp2: Absolutt sti til katalogen zappaf: /home/zappaf Relativ sti til katalogen zappaf:../../../zappaf Absolutt sti til filen passwd: /etc/passwd Relativ sti til filen passwd:../../../../etc/passwd For å utføre programmet waka_jawaka: /home/zappaf/waka_jawaka../../../zappaf/waka_jawaka Hvis stående katalog er /home/zappaf:./waka_jawaka

Ta ut deler av (truncate) søkestier Kommandoer som tar en søkesti (absolutt eller relativ) som input og returnerer deler av den Nyttige i bla. shellprogrammering basename søkesti Returnerer bare navnet på selve filen (eg. siste element i søkestien) dirname søkesti Returnerer søkestien frem til der hvor filen ligger

File name generation (globbing) Kan angi samlinger med filnavn med spesialtegn (jokernotasjon, wildcards) i shellet: * Matcher en vilkårlig tegnsekvens? Matcher et vilkårlig tegn [] Et av tegnene mellom firkantparantesene [!] Et av tegnene ikke mellom firkantparantesene Shellet leser spesialtegnene og utvider dem til en liste med filnavn, før kommandoen som skal håndtere filene utføres

Globbing: Eksempler ls * ls a* ls a*.txt ls a?.txt ls a[bc4].txt ls a[0 9]* ls [!a]* List alle filer i stående katalog Alle filnavn som begynner med a Alle filnavn som begynner med a og slutter med.txt aa.txt ab.txt ac.txt a4.txt ab.txt ac.txt a4.txt Alle filnavn som begynner med a etterfulgt av ett siffer Alle filnavn som ikke begynner med a

Brace expansion Ikke knyttet til filnavn, slik som globbing Genererer alle mulige kombinasjoner av en tekststreng og en liste med ord/items (ligner på for-løkker i programmering) Eksempel: streng{ord1,ord2,ord3} ekspanderer til: strengord1 strengord2 strengord3 Kan typisk brukes til å spare skriving og gå gjennom lister av filer og kataloger på en systematisk måte Også nyttig i shellprogrammering

Brace-expansion: Eksempler Gå gjennom flere kataloger med én kommando: ls /home/bash/test/{foo,bar,baz,cat,dog} Massenedlasting av filer fra nettet: wget http://domain.com/book/page{1,2,3,4,5,6}.html wget http://domain.com/book/page{1..6}.html Skrive ut alle mulige kombinasjoner av en stor bokstav og et siffer (nesting av braces): echo {A..Z}{0..9}