Linux-kommandolinje for nybegynnere. PVV-kurs 2013-09-19



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

Filer og kataloger, prosesser og jobber

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O

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

Oppgaver til forkurs i informatikk dag 1

Håndtering av filer og kataloger

Håndtering av tekstfiler

Fjerninnlogging over Internett

Håndtering av filer og kataloger

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

Håndtering av tekstfiler

Labbene skal være oppsatt med dual boot. Disse labene er satt opp med dual boot, dvs. at vi må velge Linux eller Windows under oppstart av maskin.

Hvordan å lage og publisere ditt personlige visittkort

EKSAMEN Innføring i Linux

Unix/Linux en annen måte å gjøre ting på

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

Lynkurs i shellprogrammering under Linux

Operativsystemer og nettverk

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

Oppgaver til forkurs i informatikk dag 2

Øving 0 - Xcode TDT4102

Forkurs i informatikk - Onsdag

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

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

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

Filer i Linux og Bourne-again shell

Hendelser Apprentice ComputerCraft PDF

Filer i Linux og Bourne-again shell

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Shellscripting I. Innhold

1 Diverse linuxtips. Innhold

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

Emnekode: SO135A Dato: onsdag 25. feb. I Antall oppgaver: 4

Løsningsforslag til eksamen 24. november 2015

UNIX/Linux brukerveiledning

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Unix/Linux en annen måte å gjøre ting på

Unix/Linux for litt viderekomne

Unix/Linux for litt viderekomne

Versjonskontrol med Subversion. og TortoiseSVN

TDT4102 Prosedyreog objektorientert programmering Vår 2016

faks: Avdeling for Ingeniørutdanning. Cart Aælersgate Oslo - tlf 05. iu@hio.no

Kjenner du alle funksjonene på tastaturet?

Innhold. Kommandoskallet i Linux

Brukerveiledning - secure.nhh.no og secure.privnett.nhh.no

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

Læringsmål og pensum. v=nkiu9yen5nc

1 Innledning. 2 Fremgangsmåte. 3 Windows - installering. C++ i Unix 1 TDT4102 NTNU

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

DVD-Kopiering v. 1.1

Linux distribusjoner

Unix/Linux en annen måte å gjøre ting på

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

NY PÅ NETT. Enkel tekstbehandling

Windows XP. Skrivebord

Operativsystemer og Filbehandling

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

Brukerveiledning for programmet HHR Animalia

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

1. obligatoriske innlevering, høsten 2014

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

Humanware Companion.

BlindShell bruksanvisning

Ny på nett. Operativsystemer

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

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

Løsninger på påloggingsproblemer

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

Oppgave 1 - Linux kommandolinje (%)

Bruk av Domenia Norges AS Webmail

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

Installere programmer, og filhåndtering

Kom i gang med Python

Installere JBuilder Foundation i Windows XP

Oppgave 1 - Java og prosesser (20%)

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

Øvingsforelesning i Python (TDT4110)

Oblig 5 Webutvikling. Av Thomas Gitlevaag

BRUKERMANUAL. Telsys Online Backup

SPSS Høgskolen i Innlandet

Veileder i bruk av GoodReader

Installasjonsveiledning. DDS-CAD ByggMester

INF120: Oblig 3. Yngve Mardal Moe

Nedlasting og brenning av egne ISO-cd-er

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

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

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

Før du starter, del 2

Komme igang med App Inventor Introduksjon App Inventor PDF

WordPress. Brukerveiledning. Kjære kunde. Innlogging:

Installere JBuilder Foundation i Mandrake Linux 10.0

1. Hent NotaPlan Online Backup på 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

Litt info om Unix-nettet/maskinene. Hvorfor kjøre matlab på Unix. Overføring av filer mellom PC og Unix. Hvordan få tilgang/unix-bruker

Velkommen til Brother's Keeper 6 for Windows!

Emnekode: SOl35A Alle trykte og skrevne hjelpemidler

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

the web Introduksjon Lesson

TI -programvare for grafiske enheter og informasjon om lokalisering

Transkript:

Linux-kommandolinje for nybegynnere PVV-kurs 2013-09-19

Linux-kommandolinje for nybegynnere Unix PVV-kurs 2013-09-19

Oversikt over kurset Innledning Grunnleggende konsepter Filer og kataloger Prosesser Skallet Kommandoer Filbehandling Tekstbehandling Prosessbehandling Nettverk Dokumentasjon

Hva er PVV? Forening for datainteresserte studenter og ansatte ved NTNU Stiftet i 1987 med tilknytning til NTH Har to rom i andre etasje i Sentralbygg 2 (gå opp trappen like ved kiosken på Stripa) Sosialt og lærerikt Linux-kommandolinje for nybegynnere 2013-09-19 3 / 82

Hvem er jeg? Øystein Skartsæterhagen PVV-medlem siden 2004 Studerte på NTNU 2004 2011 og endte til slutt opp med mastergrad i matematikk Stipendiat ved Institutt for matematiske fag Linux-kommandolinje for nybegynnere 2013-09-19 4 / 82

Hvem er du?? Linux-kommandolinje for nybegynnere 2013-09-19 5 / 82

Innledning Plan Innledning Grunnleggende konsepter Filer og kataloger Prosesser Skallet Kommandoer Filbehandling Tekstbehandling Prosessbehandling Nettverk Dokumentasjon Linux-kommandolinje for nybegynnere 2013-09-19 6 / 82

Innledning Hva er Unix? Unix var et operativsystem. Etter hvert som Unix spredde seg, ble det modifisert og videreutviklet av mange folk på forskjellige steder, og det ble til mange forskjellige operativsystemer som ligner mye på hverandre. Linux (mer korrekt: GNU/Linux) er et operativsystem som er laget for å ligne på Unix. Vanligvis brukes «Unix» som fellesbetegnelse på alle disse systemene. For mer informasjon, gå på kurset «Introduksjon til Unix» for to uker siden. Linux-kommandolinje for nybegynnere 2013-09-19 7 / 82

Innledning Hva er en terminal? En terminal er en dings som brukes til tekstlig kommunikasjon med en datamaskin. Det man skriver på tastaturet blir sendt til datamaskinen, og den sender tekst tilbake. Datamaskinen kjører et program som kalles et skall. Skallet tolker og utfører kommandoene som kommer fra terminalen. Linux-kommandolinje for nybegynnere 2013-09-19 8 / 82

Innledning Virtuelle terminaler Nå for tiden bruker vi vanligvis virtuelle terminaler. En virtuell terminal er et program som etterligner en fysisk terminal. Det er fremdeles et skall-program som tolker kommandoene som skrives i terminalen. Linux-kommandolinje for nybegynnere 2013-09-19 9 / 82

Innledning Hvordan få tak i en terminal og et skall Hvis du har en Unix-variant (f.eks. Linux eller Mac OS X): Finn et program som heter «Terminal» eller noe som ligner. Hvis du har Windows: Last ned programmet PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/ Bruk PuTTY til å logge inn på en Unix-maskin du har brukerkonto på. Hvis du er NTNU-student, har du brukerkonto på login.stud.ntnu.no Linux-kommandolinje for nybegynnere 2013-09-19 10 / 82

Innledning PuTTY (1): Velg tegnkoding Velg «Translation» fra menyen til venstre, og sett «Remote character set» til «UTF-8». Linux-kommandolinje for nybegynnere 2013-09-19 11 / 82

Innledning PuTTY (2): Hvor vil du? Gå tilbake til «Session». I feltet «Host name» skriver du navnet på maskinen du vil koble til. Hvis du er NTNU-student, kan du skrive login.stud.ntnu.no Hvis du er PVV-medlem, kan du skrive login.pvv.ntnu.no Trykk på «Open»-knappen. Linux-kommandolinje for nybegynnere 2013-09-19 12 / 82

Innledning PuTTY (3): Fare! Fare! Hvis du ikke har logget inn på samme maskin før, får du en advarsel om at PuTTY ikke kan være sikker på at maskinen er den den utgir seg for å være. Med mindre du er veldig paranoid, kan du svare «Ja» her. Linux-kommandolinje for nybegynnere 2013-09-19 13 / 82

Innledning PuTTY (4): Logg inn Hvis du logger inn på login.stud.ntnu.no, er brukernavn/passord det samme som til for eksempel NTNU-epostkontoen din og Innsida. Linux-kommandolinje for nybegynnere 2013-09-19 14 / 82

Innledning PuTTY (5): Hurra, vi har et skall! Happy happy joy joy Linux-kommandolinje for nybegynnere 2013-09-19 15 / 82

Innledning En liten demonstrasjon (Her skal jeg hoppe til en terminal og demonstrere noen enkle kommandoer.) Linux-kommandolinje for nybegynnere 2013-09-19 16 / 82

Grunnleggende konsepter Plan Innledning Grunnleggende konsepter Filer og kataloger Prosesser Skallet Kommandoer Filbehandling Tekstbehandling Prosessbehandling Nettverk Dokumentasjon Linux-kommandolinje for nybegynnere 2013-09-19 17 / 82

Grunnleggende konsepter Filer og kataloger Filer og kataloger Linux-kommandolinje for nybegynnere 2013-09-19 18 / 82

Grunnleggende konsepter Filer og kataloger Om filer i Unix «Alt er en fil» Alle filene er ordnet i ett katalogtre, selv om de kan befinne seg på forskjellige disker Linux-kommandolinje for nybegynnere 2013-09-19 19 / 82

Grunnleggende konsepter Filer og kataloger Forskjellige former for filer Vanlig fil (regular file): Inneholder data lagret på et lagringsmedium (harddisk, SSD, CD e.l.) Katalog (directory): Inneholder andre filer Spesiell fil (special file eller device file): Knyttet til en maskinvareenhet Symbolsk lenke (symbolic link): Peker på en annen fil Linux-kommandolinje for nybegynnere 2013-09-19 20 / 82

Grunnleggende konsepter Filer og kataloger Katalogtreet / bin dev home lib cp ls mkdir sda sda1 oystein test hallo.txt fisk fugl Linux-kommandolinje for nybegynnere 2013-09-19 21 / 82

Grunnleggende konsepter Filer og kataloger Absolutte stier Vi kan spesifisere en fil i treet ved hjelp av en absolutt sti En absolutt sti starter alltid med /, og angir alle katalogene i veien fra roten og ned til den aktuelle filen Linux-kommandolinje for nybegynnere 2013-09-19 22 / 82

Grunnleggende konsepter Filer og kataloger Absolutte stier: Eksempler / bin dev home lib cp ls mkdir sda sda1 oystein test / /bin/ls /dev/sda1 /home /home/oystein/test/hallo.txt hallo.txt fisk fugl Linux-kommandolinje for nybegynnere 2013-09-19 23 / 82

Grunnleggende konsepter Filer og kataloger Relative stier En relativ sti angir hvor en fil er i forhold katalogen vi befinner oss i En relativ sti starter ikke med / Linux-kommandolinje for nybegynnere 2013-09-19 24 / 82

Grunnleggende konsepter Filer og kataloger Relative stier: Eksempel $ ls /home/oystein/test/fugl albatross.txt and.txt $ cd /home/oystein $ ls test/fugl albatross.txt and.txt $ cd test/fisk $ ls../fugl albatross.txt and.txt Linux-kommandolinje for nybegynnere 2013-09-19 25 / 82

Grunnleggende konsepter Filer og kataloger Hjemmekatalogen Hver bruker har en hjemmekatalog til å lagre filene sine i Når man åpner en ny terminal, starter man vanligvis i hjemmekatalogen sin Hjemmekatalogene har ofte navn som /home/oystein, men de kan også ligge andre steder Uansett hvor hjemmekatalogene ligger, kan vi skrive ~oystein for hjemmekatalogen til brukeren oystein For sin egen hjemmekatalog kan man skrive bare ~ Linux-kommandolinje for nybegynnere 2013-09-19 26 / 82

Grunnleggende konsepter Filer og kataloger To spesielle filnavn:. og.. De to filnavnene. og.. finnes i enhver katalog. står for katalogen den befinner seg i.. står for katalogen over Linux-kommandolinje for nybegynnere 2013-09-19 27 / 82

Grunnleggende konsepter Filer og kataloger Skjulte filer Filer med navn som begynner med punktum er skjulte filer Disse tas vanligvis ikke med når vi lister opp filer med ls (bruk ls -a for å se dem) Skjulte filer i hjemmekatalogen brukes ofte av forskjellige programmer som konfigurasjonsfiler eller til å lagre brukerdata i (for eksempel.bashrc,.emacs,.mozilla,.ssh) Linux-kommandolinje for nybegynnere 2013-09-19 28 / 82

Grunnleggende konsepter Filer og kataloger Hvilke tegn kan brukes i filnavn? Du kan bruke de fleste tegn i filnavn Du bør bare bruke bokstavene i det engelske alfabetet, tall, punktum, bindestrek og understrek: ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789.-_ Første tegn i filnavnet bør ikke være bindestrek. Linux-kommandolinje for nybegynnere 2013-09-19 29 / 82

Grunnleggende konsepter Prosesser Prosesser Linux-kommandolinje for nybegynnere 2013-09-19 30 / 82

Grunnleggende konsepter Prosesser Prosesser En prosess er et kjørende program Når vi utfører en kommando i skallet, startes (vanligvis) en ny prosess, og når den prosessen er ferdig, kan vi skrive en ny kommando Linux-kommandolinje for nybegynnere 2013-09-19 31 / 82

Grunnleggende konsepter Prosesser Standardstrømmene: stdin, stdout og stderr En prosess har tre tilhørende tekststrømmer: Standard in (stdin): tekst som gis inn til programmet Standard out (stdout): tekst som produseres av programmet Standard error (stderr): feilmeldinger og andre spesielle beskjeder fra programmet Disse er i utgangspunktet satt opp slik: stdin får teksten vi skriver på tastaturet mens prosessen kjører stdout og stderr havner i terminalen Mange programmer som leser stdin vil fortsette å lese til de kommer til et spesielt tegn som markerer slutten (EOF, end of file). Vi kan produsere dette tegnet ved å trykke Ctrl-d. Linux-kommandolinje for nybegynnere 2013-09-19 32 / 82

Grunnleggende konsepter Prosesser Omkobling av standardstrømmene Når vi starter en prosess, kan vi bestemme at én eller flere av standardstrømmene skal kobles til filer istedenfor til terminalen Vi kan også koble én prosess sin stdout til en annen prosess sin stdin Linux-kommandolinje for nybegynnere 2013-09-19 33 / 82

Grunnleggende konsepter Prosesser Omkobling av standardstrømmene Syntaks kommando >fil kommando >>fil kommando <fil k1 k2 Betydning Send kommandos stdout til fil (om den finnes fra før, blir den overskrevet) Send kommandos stdout til fil (behold innholdet i filen og legg til det nye til slutt) Bruk innholdet fra fil som stdin til kommando Bruk stdout fra k1 som stdin til k2 Alle disse kan kombineres Vi kan kjede sammen vilkårlig mange kommandoer med pipe ( ) Linux-kommandolinje for nybegynnere 2013-09-19 34 / 82

Grunnleggende konsepter Prosesser Eksempel: Vi lager en fil med cat $ cat >katt Mjau mjau mjau mjau. $ cat katt Mjau mjau mjau mjau. (Husk å trykke Ctrl-d etter den siste linjen, for å fortelle cat at det ikke kommer mer tekst på stdin.) Linux-kommandolinje for nybegynnere 2013-09-19 35 / 82

Grunnleggende konsepter Prosesser Pipeeksempel $ echo ibsens ripsbusker tr a-z A-Z IBSENS RIPSBUSKER echo skriver på sin stdout tr leser fra sin stdin, som er koblet sammen med echo sin stdout tr skriver på sin stdout, som går til terminalen Linux-kommandolinje for nybegynnere 2013-09-19 36 / 82

Grunnleggende konsepter Skallet Skallet Linux-kommandolinje for nybegynnere 2013-09-19 37 / 82

Grunnleggende konsepter Skallet Hvordan en kommando tolkes ls -l fjas.txt Kommandonavnet er ls, argumentene er -l og fjas.txt Skallet sjekker først om ls er en innebygd kommando (det er den ikke) Så leter skallet i noen bestemte kataloger etter en fil ved navn ls, og finner filen /bin/ls, som inneholder programmet vi er ute etter Skallet starter programmet /bin/ls som en ny prosess og mater den med argumentene -l og fjas.txt Skallet venter på at den nye prosessen skal avslutte Linux-kommandolinje for nybegynnere 2013-09-19 38 / 82

Grunnleggende konsepter Skallet Globbing Hvis vi vil gi mange filer som argumenter til en kommando, kan det være lurt å bruke globbing Et kommandolinjeargument som inneholder asterisk (*) eller spørsmålstegn (?) erstattes med alle filer i nåværende katalog som passer etter følgende regler: * står for vilkårlig mange vilkårlige tegn? står for ett vilkårlig tegn Hvis vi skriver...... får vi * alle filene (unntatt de skjulte) i katalogen a* alle filer med navn som starter med «a» *.txt alle filer med navn som slutter med «.txt»???.txt alle filer med navn som er tre tegn, og så «.txt» Linux-kommandolinje for nybegynnere 2013-09-19 39 / 82

Grunnleggende konsepter Skallet Globbing: eksempel og advarsel $ ls *.txt albatross.txt and.txt $ ls albatross.txt and.txt albatross.txt and.txt Advarsel: globbingen gjøres av skallet, før kommandoen utføres. Programmet som får argumentene ser bare resultatet av globbingen (en liste med filer), ikke selve glob-uttrykket. I eksempelet over ser ikke ls forskjell på om vi skriver *.txt eller albatross.txt and.txt. Linux-kommandolinje for nybegynnere 2013-09-19 40 / 82

Grunnleggende konsepter Skallet Tab-komplettering Vi kan bruke TAB-tasten til å fullføre kommandonavn og filnavn. Hvis vi trykker TAB mens vi skriver et kommandonavn, vil skallet prøve å fullføre navnet til en gyldig kommando. Hvis vi trykker TAB mens vi skriver et argument, vil skallet prøve å fullføre argumentet til navnet på en eksisterende fil. (Noen skall har ekstra finesser, og kan tab-komplettere andre ting også, for eksempel opsjoner til programmer.) Linux-kommandolinje for nybegynnere 2013-09-19 41 / 82

Grunnleggende konsepter Skallet Kommandohistorie Skallet husker de forrige kommandoene vi skrev. Vi kan velge mellom de forrige kommandoene med opp- og ned-piltastene. Vi kan søke etter en tidligere kommando ved å trykke Ctrl-r. Linux-kommandolinje for nybegynnere 2013-09-19 42 / 82

Kommandoer Plan Innledning Grunnleggende konsepter Filer og kataloger Prosesser Skallet Kommandoer Filbehandling Tekstbehandling Prosessbehandling Nettverk Dokumentasjon Linux-kommandolinje for nybegynnere 2013-09-19 43 / 82

Kommandoer Kommandoene vi skal se på Filbehandling Tekstbehandling Prosessbehandling cd echo top pwd cat ps ls less mkdir grep Nettverk rmdir sed ssh mv tr wget cp wc rm Dokumentasjon find man Linux-kommandolinje for nybegynnere 2013-09-19 44 / 82

Kommandoer Filbehandling Filbehandling Linux-kommandolinje for nybegynnere 2013-09-19 45 / 82

Kommandoer Filbehandling Hold styr på hvor du er: cd og pwd cd (change directory): Gå til en annen katalog pwd (print working directory): Vis hvilken katalog du er i $ pwd /home/oystein $ cd test/katt $ pwd /home/oystein/test/katt $ cd.. $ pwd /home/oystein/test Linux-kommandolinje for nybegynnere 2013-09-19 46 / 82

Kommandoer Filbehandling Mer om cd cd uten argument går til hjemmekatalogen. $ pwd /home/oystein/test/katt $ cd $ pwd /home/oystein Linux-kommandolinje for nybegynnere 2013-09-19 47 / 82

Kommandoer Filbehandling Liste av filer: ls (list) Kan gi ett eller flere filnavn som argument; da vises de filene. Hvis et argument er navnet på en katalog, vises filene som ligger i den katalogen. Uten argumenter vises alle filene i katalogen vi befinner oss i. Mange opsjoner for å styre hvordan filene vises. Linux-kommandolinje for nybegynnere 2013-09-19 48 / 82

Kommandoer Filbehandling Opsjoner for ls Noen av de nyttigste opsjonene til ls: -a: vis alle filene (også skjulte filer) -l: vis mye informasjon om hver fil -h: vis filstørrelse i mer leselig form -S: sorter filene etter størrelse -t: sorter filene etter tidspunkt for siste endring -X: sorter filene etter endelse -1: vis bare én fil på hver linje Linux-kommandolinje for nybegynnere 2013-09-19 49 / 82

Kommandoer Filbehandling mkdir og rmdir mkdir (make directory): Lager en katalog Navnet på den nye katalogen gis som argument rmdir (remove directory): Fjerner en katalog Navnet på katalogen gis som argument Katalogen må være tom Linux-kommandolinje for nybegynnere 2013-09-19 50 / 82

Kommandoer Filbehandling Flytting av filer: mv mv (move): Gi en fil nytt navn, eller flytt den til en annen katalog mv fil nytt-sted fil er en eksisterende fil eller katalog nytt-sted er enten det nye navnet på filen eller en katalog den skal flyttes inn i Kan også flytte flere filer samtidig: mv fil1 fil2 fil3 katalog Linux-kommandolinje for nybegynnere 2013-09-19 51 / 82

Kommandoer Filbehandling Kopiering av filer: cp cp (copy): Kopier filer Brukes på samme måte som mv, men filen(e) blir kopiert, ikke flyttet. Hvis vi vil kopiere en katalog (og alle filene inni den), må vi bruke opsjonen -r (recursive). Linux-kommandolinje for nybegynnere 2013-09-19 52 / 82

Kommandoer Filbehandling Sletting av filer: rm rm (remove): Slett filer rm tar en eller flere filer som argument, og sletter disse filene. Vær forsiktig med denne kommandoen! rm gjør nøyaktig det du ber den om, uten å stille spørsmål (vanligvis). rm vil i utgangspunktet ikke slette kataloger. Hvis vi vil slette en katalog og alle filene inni den, kan vi bruke opsjonen -r (recursive). Alternativt kan vi slette filene først, og deretter slette katalogen med rmdir. Linux-kommandolinje for nybegynnere 2013-09-19 53 / 82

Kommandoer Filbehandling find: Finn filer find leter i en gitt katalog og dens underkataloger etter filer som passer til kriteriene vi oppgir Alle de passende filnavnene blir skrevet ut på stdout, ett på hver linje I utgangspunktet tas alle typer filer med, inkludert kataloger I eksemplene under betyr punktumet at søket skal starte i katalogen vi står i Kommando find. find. -name hei.txt find. -name a* find. -name *.txt find. -type f find. -type d find. -type d -name ka* Finner alle filer alle filer med navn hei.txt alle filer med navn som starter med a alle filer med navn som slutter med.txt alle vanlige filer alle kataloger alle kataloger med navn som starter med ka Linux-kommandolinje for nybegynnere 2013-09-19 54 / 82

Kommandoer Filbehandling finds gode venn xargs Vi kan sende resultatet av find som input til et annet program med pipe ( ) Men resultatet av find er en liste med filer, og vi vil ofte gi dem som argumenter til et annet program Redningen er xargs xargs kommando leser linjer fra stdin og gir dem som argumenter til kommando Eksempel: find. -name *.txt xargs ls -l Linux-kommandolinje for nybegynnere 2013-09-19 55 / 82

Kommandoer Filbehandling Filtyper: file file: Finner ut hvilken type innhold det er i en fil. file tar et filnavn som argument, og skriver ut en beskrivelse av filtypen file ser ikke på endelsen i filnavnet (.txt,.pdf,.jpg etc), men på innholdet i filen Linux-kommandolinje for nybegynnere 2013-09-19 56 / 82

Kommandoer Tekstbehandling Tekstbehandling Linux-kommandolinje for nybegynnere 2013-09-19 57 / 82

Kommandoer Tekstbehandling echo Skriver ut argumentene sine på stdout. $ echo hallo hallo $ echo Er det ekko her? Er det ekko her? Linux-kommandolinje for nybegynnere 2013-09-19 58 / 82

Kommandoer Tekstbehandling cat cat (concatenate): Les filer og skriv innholdet deres på stdout cat fil1 fil2 fil3 Hendig for å se innholdet i en fil: cat filnavn Hvis vi ikke gir noen filnavn som argumenter, leser cat fra stdin isteden. Med opsjonen -n blir linjene nummerert. Linux-kommandolinje for nybegynnere 2013-09-19 59 / 82

Kommandoer Tekstbehandling less less: Vis en fil, én skjermfull om gangen less filnavn Med less kan vi bla opp og ned i filens innhold med PageUp- og PageDown-tastene. For å avslutte, trykk på q. Hvis vi ikke gir noen filnavn som argumenter, leser less fra stdin isteden. Linux-kommandolinje for nybegynnere 2013-09-19 60 / 82

Kommandoer Tekstbehandling Søk etter tekst: grep Enkel variant: grep -F tekst fil(er) Eksempel: grep -F Watson a-study-in-scarlet.txt Skriver ut alle linjer fra filen(e) som inneholder teksten. Hvis vi ikke bruker opsjonen -F, tolkes søketeksten som et regulært uttrykk. Linux-kommandolinje for nybegynnere 2013-09-19 61 / 82

Kommandoer Tekstbehandling Regulære uttrykk Et regulært uttrykk beskriver en samling med tekststrenger på en konsis måte fugl beskriver strengen «fugl» fugl\ fisk beskriver de to strengene «fugl» og «fisk» fl[aiu]bb beskriver strengene «flabb», «flibb» og «flubb» Realfags?bygget beskriver strengene «Realfagbygget» og «Realfagsbygget» mor+o beskriver strengene «moro», «morro», «morrro» og så videre \(kontra-\)*spion beskriver strengene «spion», «kontra-spion», «kontra-kontra-spion», og så videre Linux-kommandolinje for nybegynnere 2013-09-19 62 / 82

Kommandoer Tekstbehandling Regulære uttrykk: tegnklasser Uttrykk Står for. et vilkårlig tegn [0-9] et siffer [a-z] en liten bokstav [A-Z] en stor bokstav [c-f] «c», «d», «e» eller «f» [afd8] «a», «f», «D» eller «8» Linux-kommandolinje for nybegynnere 2013-09-19 63 / 82

Kommandoer Tekstbehandling Regulære uttrykk: gjentagelse Gjentagelsestegn Betyr? det som står foran forekommer én eller null ganger * det som står foran forekommer null eller flere ganger + det som står foran forekommer én eller flere ganger Linux-kommandolinje for nybegynnere 2013-09-19 64 / 82

Kommandoer Tekstbehandling grep med regulære uttrykk grep uttrykk fil(er) Eksempel: grep [0-9] a-study-in-scarlet.txt Skriver ut alle linjer fra filen(e) som inneholder en streng beskrevet av det regulære uttrykket Hvis vi ikke gir noen filer, leser grep fra stdin Linux-kommandolinje for nybegynnere 2013-09-19 65 / 82

Kommandoer Tekstbehandling Opsjoner for grep Noen av de nyttigste opsjonene til grep: -F: se på søkeuttrykket som vanlig tekst, ikke et regulært uttrykk -i: ignorer forskjellen på store og små bokstaver -v: omvendt av vanlig skriver ut linjene som ikke passer til søkeuttrykket Linux-kommandolinje for nybegynnere 2013-09-19 66 / 82

Kommandoer Tekstbehandling sed (stream editor) sed leser tekst fra en fil eller stdin, endrer teksten, og skriver resultatet på stdout Man kan gjøre mye rart med sed. Vi skal se på hvordan man den kan brukes til «søk-og-erstatt». Erstatt middag med kake: sed s/middag/kake/ Linux-kommandolinje for nybegynnere 2013-09-19 67 / 82

Kommandoer Tekstbehandling Kake til middag $ echo Nå skal vi spise middag! Nå skal vi spise middag! $ echo Nå skal vi spise middag! sed s/middag/kake/ Nå skal vi spise kake! Linux-kommandolinje for nybegynnere 2013-09-19 68 / 82

Kommandoer Tekstbehandling Alle skal med: /g Med s/// erstattes bare første treff i hver linje. For å få med alle treffene, bruker vi s///g. $ echo ostekake og sjokoladekake sed s/kake/glefser/ osteglefser og sjokoladekake $ echo ostekake og sjokoladekake sed s/kake/glefser/g osteglefser og sjokoladeglefser Linux-kommandolinje for nybegynnere 2013-09-19 69 / 82

Kommandoer Tekstbehandling Kommando: sed Søketeksten i s/// er et regulært uttrykk. $ cat >kinesere.txt Tre små kinesere på Høybroplass satt og spilte på en kontrabass. Så kom en konstabel, spurte hva det var. Tre små kinesere på Høybroplass. $ sed s/[aeiouyæøå]/a/g kinesere.txt Tra sma kanasara pa Haabraplass satt ag spalta pa an kantrabass. Sa kam an kanstabal, sparta hva dat var. Tra sma kanasara pa Haabraplass. Linux-kommandolinje for nybegynnere 2013-09-19 70 / 82

Kommandoer Tekstbehandling tr (translate): Bytt ut tegn tr leser fra stdin, erstatter noen tegn med andre, og skriver resultatet på stdout tr tpk dbg erstatter «t» med «d», «p» med «b» og «k» med «g». tr mn nm bytter om «m» og «n» tr a-z A-Z erstatter små bokstaver med store tr 0-9 A-I erstatter 0 med mellomrom og de andre sifrene med bokstaver tr A-Za-z N-ZA-Mn-za-m utfører rot13-kryptering Linux-kommandolinje for nybegynnere 2013-09-19 71 / 82

Kommandoer Tekstbehandling wc wc (word count, ikke water closet): tell linjer/ord/bytes i filer eller stdin wc fil: skriver ut antall linjer, antall ord og antall bytes i filen Hvis vi ikke gir noen fil som argument, brukes stdin isteden Med opsjonen -l vises bare antall linjer Eksempel: ls -1 wc -l forteller hvor mange filer det er i katalogen vi står i Linux-kommandolinje for nybegynnere 2013-09-19 72 / 82

Kommandoer Tekstbehandling Andre hendige kommandoer for tekst head: skriv ut begynnelsen av en fil (eller stdin) tail: skriv ut slutten av en fil (eller stdin) cut: plukk ut en bestemt bit av hver linje sort: sorter linjene uniq: fjern duplikatlinjer diff: vis forskjellene mellom to filer Linux-kommandolinje for nybegynnere 2013-09-19 73 / 82

Kommandoer Prosessbehandling Prosessbehandling Linux-kommandolinje for nybegynnere 2013-09-19 74 / 82

Kommandoer Prosessbehandling Prosesslister: top og ps top viser en kontinuerlig oppdatert liste av prosesser. Listen inneholder mye informasjon om hver prosess, og den oppdateres automatisk så lenge top kjører. Trykk på q for å avslutte top. ps skriver ut informasjon om et utvalg prosesser. Alle prosessene til brukeren oysteini: ps -u oysteini Samme, med mer informasjon om hver prosess: ps -f -u oysteini Mye informasjon om alle prosesser: ps -f -e Linux-kommandolinje for nybegynnere 2013-09-19 75 / 82

Kommandoer Prosessbehandling kill kill sender et signal til en prosess Prosessen spesifiseres med prosess-id (PID), som er et tall ps eller top kan hjelpe deg med å finne riktig PID kill 13662 ber prosess nummer 13662 pent om å avslutte seg selv kill -s KILL 13662 kverker prosess nummer 13662 brutalt og nådeløst Linux-kommandolinje for nybegynnere 2013-09-19 76 / 82

Kommandoer Nettverk Nettverk Linux-kommandolinje for nybegynnere 2013-09-19 77 / 82

Kommandoer Nettverk ssh (secure shell) ssh brukes til å logge inn på en annen Unix-maskin via Internett, med en kryptert forbindelse Logg inn som brukeren oysteini på maskinen login.stud.ntnu.no: ssh oysteini@login.stud.ntnu.no Linux-kommandolinje for nybegynnere 2013-09-19 78 / 82

Kommandoer Nettverk wget wget laster ned en fil (eller mange filer) via HTTP eller FTP Enkel bruk: wget URL Mange opsjoner for å gjøre avanserte ting som å laste ned mange filer ved å følge linker Linux-kommandolinje for nybegynnere 2013-09-19 79 / 82

Kommandoer Dokumentasjon Dokumentasjon Linux-kommandolinje for nybegynnere 2013-09-19 80 / 82

Kommandoer Dokumentasjon man (manual) man brukes til å se på «man-sider» (man pages) De fleste programmer har sin egen man-side For å se på man-siden til et program, gir vi programnavnet som argument til man Eksempel: man ls Linux-kommandolinje for nybegynnere 2013-09-19 81 / 82

Slutten... Spørsmål?