Filers innehåll. Grundläggande databehandling. Representation av text. pffb = påhittat filformat för bilder



Relevanta dokument
kommando -fl argument

Lab 7, 48 steg till ett bättre liv i Unix-labbet

Introduktion till datateknik för språkvetare

Introduktion till datateknik för språkvetare

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Introduktion till datateknik för språkvetare

Föreläsning 1 Unix. Datorer och datoranvändning Föreläsningar 2018/19. Operativsystem. Unix

Textbearbetning i skalet och man-sidor

Introduktion till datateknik för språkvetare

Program. Kapitel make Program Interpreterande och kompilerande program

Kort-kort om utdelade användarkonton och datormiljön på NADA

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Introduktion till datormiljön och Python

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Datorsystem och programmering

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Introduktion till Unix och Linux

Guido van Robot och olika UNIX-kommandon

komplex av nödvändiga, understödjande program som kallas Utanpå OS existerar ett - eller flera olika - slags skal som

Kapitel 12. Mer om program Att rapportera buggar och problem make

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

SF1672, Linjär Algebra med Matlab för F1 Lab0

Praktiska saker... Om Laboration 1. Studietips. Praktiska saker. Att studera hemifrån på PC. Seminarier & Lektioner & Handledning & Hemsida

Allmänt om programvaror och filer i Windows.

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Omkoppling av in- och utmatning. In- och utmatning i Unix. Kommando exempel, ls, pipe forts. Kommando exempel, ls, pipe

Operativsystem och användargränssnitt

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Programkonstruktion med datorintroduktion, 2D1339

Kort om World Wide Web (webben)

Lathund för UNIX och Emacs

Introduktion till programmering, hösten 2011

BASH. Bourne-Again SHell. Eric Elfving Institutionen för datavetenskap (IDA)

Elias Castegren. (Version 1, 2012)

Översikt. Texthantering med bl.a. kommandona cat, less och grep Omdirigering och piping Gnuplot. Linux 2 2 / 12

Emacs. Eric Elfving Institutionen för datavetenskap (IDA) 22 augusti 2016

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

Kort-kort om utdelade användarkonton och datormiljön på NADA

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Introduktion till Matlab

Om e-post. Introduktion till Emacs. Att skicka e-post. ÅÄÖåäö i pine. Varför Emacs? Vad är Emacs? Emacs en editor/textbehandlare

Filbindningar. Mike McBride Översättare: Stefan Asserhäll

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

Objektorienterad programmering i Java I

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Mer om skalet. Kapitel Omdirigering

Tips och tricks. Några bra tips. Lägg till sökvägar

Instruktion för laboration 1

GitHub for Windows och GitShell

Instruktioner för att kunna programmera på skolans datorer

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

Jobbschemaläggare. Morgan N. Sandquist Utvecklare: Gary Meyer Granskare: Lauri Watts Översättare: Stefan Asserhäll

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

729G04 Programmering och diskret matematik. Python'1:'Labbmiljö'och'introduk7on'7ll'Python'

1. Log on to the system using the user ide and password ide. 2. Copy the file /etc/ca-certificates.conf to the home directory of the user.

Kommandotolken hittar du under Start->Program->Tillbehör->Kommandotolken

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

UNIX. Laborations-PM Anders Egneus, Henrik Lindgren, 2004, Raphael Corsoski, Erik Eliasson, Christian von Schultz, 2008.

Versionshantering med Git

Avslutning. Kapitel Komprimering av filer

Föreläsning 3. Programmering, C och programmeringsmiljö

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

Kommandobaserad interaktion

Instruktion för laboration 1

Editering, Kompilering och Exekvering av Javaprogram

Emacs. Eric Elfving Institutionen för Datavetenskap (IDA)

3. Hämta och infoga bilder

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Lösenord och säkerhet. Tips & trix Unix & Emacs. Välja nytt lösenord. Filsystem. Hemkatalog. What s in a name 9/6/2007

Programmering i C++ Kompilering från kommandoraden

UNIX. 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Laboration 1. Mål. Vad laborationen går ut på. Redovisning

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Föreläsning 18 Filer och avbildningar

Introduktion till datateknik för språkvetare ht 2007

Laboration 10: LaTeX. Redovisning. Omgivningen document. Början. Instruktionerna nedan. Repetitionsuppgifter

Introduktion till datateknik för språkvetare

Handbok Potatismannen. Éric Bischoff Paul E. Ahlquist, Jr. Eugene Trounev Granskare: Lauri Watts Översättare: Stefan Asserhäll

Terminal vad det är vad man kan göra med den

Att arbeta med. Müfit Kiper

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Anslutning till unixsystem från windowslabben

Föreläsning 3. Programmering, C och programmeringsmiljö

DD1315 Programmeringsteknik och Matlab för I1 Laborationer läsåret 2013/2014

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Kör som root handbok. Geert Jansen Översättare: Stefan Asserhäll

1.#Bakgrund# En#kort#introduk+on#+ll#Unix# Klassiskt#första#bemötande# Håkan#Jonsson# Ins+tu+onen#för#systemteknik# Luleå#tekniska#universitet#

Laboration 1 Introduktion till Visual Basic 6.0

DD1311 Programmeringsteknik för CL1 Laborationer läsåret

Filsäkerhet i Windows NT (NTFS)

Introduktion till Matlab

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Objektorienterad Programmering (TDDC77)

Introduktionskurs i datavetenskap, 3p.

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Transkript:

Filers innehåll Data av olika slag lagras i filer. file = pärm, mapp, arkiv, akt,... Grundläggande databehandling Filer och skal Per Starbäck 2005-09-12 / Föreläsning 2 texter ljud bilder databaser program... Allt ligger lagrat som en sekvens av bytes. (Värden 0 255.) Det kan vara t. ex. 133 188 227 30 230 126 108 97 166 70 241 117... Informationen kodas enligt någon konvention. pffb = påhittat filformat för bilder Representation av text Bilden består av 16 16 prickar. Lagra som 16 16 = 256 bytes, rad för rad, en byte för varje prick. 0 = vitt, 1 = klarrött, 2 = mörkgrått,... Så 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 2, 19, 205, 0, 0, 0, 0,... En boksida kan i princip lagras som en bild, men vi vill dessutom veta vilka bokstäver och andra tecken som står där. T. ex. ska en sökning kunna hitta Språkteknologi oavsett om det står SPRÅKTEKNOLOGI, Språkteknologi, Språkteknologi eller.

Teckenkodning Ren text = plain text Man kan hitta på sätt att koda tecken för tecken, t. ex. mellanslag = 0, A = 1, B = 2,..., Ö = 29, a = 30, b = 31,... Det funkar om vi klarar oss med högst 256 olika tecken. Det finns många sådana teckenkodningar. Många filer med textinnehåll innehåller bara ren text: textfiler. programkod annat som inte (bara) ska läsas av människor utan (också) tolkas av datorer Motsats: binärfiler. Emacs Emacs begrepp Ren text (plain text) redigeras med en textredigerare (text editor). En sådan är Emacs. En textredigerare liknar en ordbehandlare på vissa sätt, men har inte funktioner för layout, typsnitt och sånt stöd för att programmera i olika programspråk En del editorer är specialiserade (t. ex. bara för att skriva program i programspråket Java), medan Emacs är generell. buffert (buffer) oftast har man flera texter man skriver på. Varje text ligger i en egen buffert fönster den del i emacs som vissar innehållet i en viss buffert Notation: C-a : Ctrl-a M-a : Meta-a (hos oss: tangent med fönstersymbol)

Filnamn i Unix Filskydd Skillnad på små och stora bokstäver. Man kan ha filerna foo, FOO och FoO i samma katalog. Normalt använder man små bokstäver Ofta slutar filnamn med punkt och ett filnamnstillägg: foo.ogg kan antas vara en ljudfil i filformatet Ogg Vorbis; foo.py kan antas vara en textfil med ett program i programspråket Python. Undvik åäö i filnamn Undvik mellanslag i filnamn Undvik bindestreck i början av filnamn De flesta av dina filer kan läsas av vem som helst, men bara ändras eller tas bort av dig själv. För varje fil talas om vilka rättigheter som gäller för tre kategorier användare filägaren (u = user) gruppen (g = group) övriga (o = other) Varje fil har alltså en ägare. Dessutom en grupp. Varje kategori kan ha rättighet att r = läsa w = skriva x = köra (execute) Filskydd för filer och kataloger Filhanteraren (nautilus) r = läsa en fil; lista innehållet i en katalog w = ändra en fil; skapa och ta bort filer i katalogen x = köra ett program; komma åt filer i katalogen Detta är vad filhanteraren visar om filen regler.txt i era hemkataloger. Den påstår bland annat (helt korrekt) att det är en ren textfil.

Filskydd i filhanteraren Användargränssnitt (user interface) Observera text view -rw-rw-r-- som innehåller tre grupper med möjliga rwx för ägaren, gruppen respektive övriga. Dagens normala användargränssnitt är ett grafiskt användargränssnitt (GUI) som bygger på fönster, ikoner, mus, wysiwyg (what you see is what you get) etc. Stanford Research Institute (SRI), 60-tal, Douglas Engelbart Xerox PARC, 1970 Apple Macintosh (1984) första kommersiella framgången I Unix-världen används fönstersystemet X (1984, MIT). (X är fri programvara, så det används även i GNU.) Teleprinter Terminaler En populär teleprinter var ASR33 som tillverkades av Teletype Corporation. Kommandon och resultat är text. Allt skrivs ut på papperet som på en skrivmaskin. Bildskärm: Texten rullas uppåt och försvinner. I ett fönstersystem startar man ett särskilt terminalprogram som beter sig som en terminal.

GUI vs CLI Så är kommandoradsgränssnittet (Command Line Interface = CLI) föråldrat idag? Tja, i många sammanhang, men ofta användbart för avancerad användning: Ofta kraftfullare Ofta effektivare när man kan det lättare att göra om samma sak, kanske med variationer Skal Programmet som tolkar och utför användarens textkommandon kallas för skal (shell). (Ursprungliga skalet i Unix skrevs av en Steve Bourne på Bell Labs, så skalet i GNU heter med anspelning på detta Bourne Again Shell, bash.) Kommandon i Unixskal är ökända för att ha korta och kryptiska namn. ls list mv move cp copy rm remove cd change directory cat concatenate pwd print working directory Kommandon argument Kommandoargument jokrar Efter kommandonamnet följer argument. (Ofta filnamn.) (I dessa exempel är $ skalets prompt.) $ ls bar.png foo foo.py kvack.png $ ls foo foo $ ls bar ls: bar: No such file or directory $ ls bar.png kvack.png bar.png kvack.png * matchar godtyckligt antal tecken? matchar ett tecken $ ls *.png bar.png kvack.png $ ls f?o foo $ ls foo* foo foo.py Komplettering med TAB.

Väljare (options) Repris: Olämpliga filnamn Väljare (optioner, flaggor) anger hur ett kommando ska utföras. Exempel ls -l ger långt format. $ ls foo foo $ ls -l foo -rw-rw-r-- 1 starback starback 4 Sep 11 11:11 foo -a -b -c kan oftast slås ihop -abc Tidigare sa vi: Undvik mellanslag i filnamn Undvik bindestreck i början av filnamn Nu ser vi varför: ls foo bar : lista filerna foo och bar (inte lista en fil med namnet foo bar ) ls -l : lista filer i långt format (inte lista en fil med namnet -l ) Aktuell katalog Relativa filnamn Skalet håller rätt på en aktuell katalog och filargument till kommandon tolkas beroende av detta. Så om min aktuella katalog är /home/staff/starback/katalog och jag skriver är det samma sak som ls foo ls /home/staff/starback/katalog/foo pwd skriver ut aktuell katalog (print working directory) cd ändra aktuell katalog (change directory) Aktuell katalog: /home/staff/starback Önskad fil: /home/staff/starback/katalog/foo Kan anges (bland annat) som: /home/staff/starback/katalog/foo (absolut filnamn) katalog/foo (relativt filnamn) ~starback/katalog/foo (förkortat skrivsätt för någons hemkatalog) ~/katalog/foo (funkar bara för mig)

.. och. Kommandon och program Aktuell katalog: /home/staff/starback/katalog Önskad fil: /home/staff/starback/exempel.txt Kan anges (bland annat) som: /home/staff/starback/exempel.txt (absolut filnamn)../exempel.txt (relativt filnamn).. finns i alla kataloger och går till katalogen ett steg upp. cd.. vanligt kommando för att gå upp ett steg I varje katalog finns också. som är samma katalog, så ls foo och ls./foo gör samma sak. Skalet kan själv egentligen bara vissa av alla kommandon man ger till det. Resten är program som körs av skalet. Dessa program är också filer, så nånstans finns det t. ex. en fil ls. (Fullständigt namn /bin/ls.) Så när man skriver ls -l foo gör skalet följande: Ser efter om den själv vet hur man ska göra ls Eftersom den inte vet det letar den upp ett program ls Kör igång det programmet med de indata användaren givit Skriver ut resultatet som programmet ger ifrån sig Miljövariabler Vissa inställningar lagras i miljövariabler. En sådan är PATH som anger var skalet ska leta efter program. Om värdet på PATH är /usr/local/bin:/bin:/usr/bin:/usr/x11r6/bin söks efter ett program i någon av dessa kataloger i den ordningen. För ls blir det /bin/ls som hittas. locale En del program och kommandon beter sig olika på grund av ens språkinställningar. Dessa håller systemet rätt på genom miljövariabler, framförallt LANG. $ ls bar ls: bar: No such file or directory $ LANG=sv_SE $ ls bar ls: bar: Filen eller katalogen finns inte sv_se = svenska i Sverige. sv = svenska (ISO-standard 639: en = engelska, de = tyska, ar = arabiska,... ) SE = Sverige (ISO-standard 3166): US = USA, GB = Storbritannien,... ) Samma språk i flera länder. sv_se = rikssvenska; sv_fi = finlandssvenska Flera språk i samma land. nb_no = bokmål; nn_no nynorska.

man-sidor man-sidan för ls i Unix v7 (1979) Unix är dokumenterat i ett enhetligt format som kallas man-sidor. I utskriven form Tillgänglig på datorerna med kommandot man. En sektion (man-sida) för varje program, systemanrop, osv. man-sidor: syntax SYNOPSIS ls [OPTION]... [FILE]... Hakparenteser för sånt som är optionellt Punkter (... ) när det kan vara flera likadana

cal exempel cal skriver ut en liten kalender. (Det är ett ointressant litet program, men fungerar som enkelt exempel nu.) $ cal September 2005 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 man cal början En man-sida har sektioner som: NAME SYNOPSIS DESCRIPTION NAME cal - displays a calendar SYNOPSIS cal [-smjy13] [[month] year] DESCRIPTION Cal displays a simple calendar. If arguments ar rent month is displayed. The options are as fol -1 Display single month output. (This is t -3 Display prev/current/next month output. man cal väljare cal [-smjy13] [[month] year] Förkortat skrivsätt för att visa att de flaggor som finns att ge är -s, -m, -j, -y, -1 och -3, och att de kan slås ihop när man ger fler flaggor. Vad dessa flaggor betyder står i DESCRIPTION strax efteråt, t. ex. -m Display Monday as the first day of the week. Man kan kombinera flaggor på detta sätt, t. ex. ger cal -mj och cal -m -j samma resultat. man cal argument -s Display Sunday as the first day of the w default.) cal [-smjy13] [[month] year] -m Display Monday as the first day of the w Observera de nästlade hakparenteserna. Man kan skriva -j Display Julian dates (days one-based, nu ingenting, eller bara -y år, eller Display a calendar for the current year. månad och år Detaljerna för hur dessa month och year ska anges står i beskrivningen nedan: A single parameter specifies the year (1-9999) to be displayed; note the year must be fully specified: "cal 89" will not display a calendar for 1989. Two parameters denote the month (1-12) and year. If no parameters are specified, the current month s calendar is displayed.