UNIX/Linux brukerveiledning

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

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

Filer og kataloger, prosesser og jobber

Håndtering av filer og kataloger

Håndtering av filer og kataloger

Filterprogrammer og redirigering av I/O

Filterprogrammer og redirigering av I/O

Oppgaver til forkurs i informatikk dag 1

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

Linux distribusjoner

EKSAMEN Innføring i Linux

Oppgaver til forkurs i informatikk dag 2

Fjerninnlogging over Internett

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Shellscripting I. Innhold

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

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.

Linux-kommandolinje for nybegynnere. PVV-kurs

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

Generelt om shell / skall

Filer i Linux og Bourne-again shell

Lynkurs i shellprogrammering under Linux

Unix/Linux for litt viderekomne

Unix/Linux for litt viderekomne

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

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

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

1 Diverse linuxtips. Innhold

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

Håndtering av tekstfiler

Løsningsforslag til eksamen 24. november 2015

Innhold. Kommandoskallet i Linux

Filsikkerhet i Linux

Brukerveiledning for ArkN4

EKSAMEN Innføring i Linux

Øving 0 - Xcode TDT4102

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

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

Svar: 1. "ls eller ls -l for lang utlisting, "ls -a" for å ta med skjulte filer 2. "ls t*" 3. "ls /etc/??.*"

Filer i Linux og Bourne-again shell

Videregående shellprogrammering i Linux

EKSAMEN. Dato: 7. desember 2016 Eksamenstid: 09:00 13:00

Oppgave 1 - Java og prosesser (20%)

Dagens tema. Perl: Mer om regulære uttrykk Filer Lister og tabeller Kompilering og interpretering (kapittel ) IN 211 Programmeringsspråk

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

Operativsystemer og nettverk

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

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

Dagens program. Operativsystemer Prosesser og systemkall i UNIX Hente prosessens nummer Starte prosesser Vente på prosesser Utføre programmer

Prøve- EKSAMEN. Operativsystemer med Linux

Shellprogrammer og -variabler

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

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

Oppgave 1 - Linux kommandolinje (%)

INF109 - Uke 1a

Kjenner du alle funksjonene på tastaturet?

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

Forkurs i informatikk - Onsdag

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

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

1. obligatoriske innlevering, høsten 2014

Eksamensinformasjon. Linux kommandolinje. Linux kommandolinje. Eksamensinformasjon. Fakultet: Teknologi, kunst og design. Tid: 3 t.

Hvordan å lage og publisere ditt personlige visittkort

Operativsystemer og Filbehandling

Linux forelesningsnotater. Hårek Haugerud TKD Høgskolen i Oslo og Akershus

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

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

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

Brukerveiledning for programmet HHR Animalia

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Personec AS. Veiledningen er oppdatert pr

"How I hate this damned machine, I wish that I could sell it, It never does what I want it to, But only what I tell it".

Kom i gang med. Åpne nettleseren, gå til: Velg «New Project».

Bruksanvisning. for Roundcube webmail. Utseende: Larry

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

Emnekode: SOl35A Alle trykte og skrevne hjelpemidler

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

1. Profiler og variabler

Kjøre Wordpress på OSX

ITGK - H2010, Matlab. Repetisjon

Betinget eksekvering og logiske tester i shell

Bruksanvisning. for Roundcube webmail. Utseende: Larry. Versjon

Velkommen til Brother's Keeper 6 for Windows!

UKEOPPGAVER 13: KONFIGURASJONSSTYRING

Installasjon av FINALE Årsoppgjør og FINALE Rapportering i ASP-miljø

KOMME I GANG 3. Logge på 3. I redigeringsvinduet 4 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 6

-/tmp med navn på alle kataloger og filer etter at disse

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

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

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

Shellscripting II. Innhold

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

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

MAT-INF 1100: Obligatorisk oppgave 1

NY PÅ NETT. Enkel tekstbehandling

1,r H øgs kolen i Østfol d

MATLABs brukergrensesnitt

EKSAMEN. Operativsystemer og nettverk

Avdeling for ingeniørutdannlng. Con Adelersgate Oslo. tlf: faks:

Transkript:

Dette bygger på tre artikler i RUN-NYTT 1991 og 1992: UNIX/Linux brukerveiledning UNIX og Linux. En kort oversikt over noen kommandoer Her følger en oversikt over UNIX- og Linuxkommandoer for ulike oppgaver ------------------------- ----------------------------------------------- UNIX! Oppgave ------------------------------------------------------------------------- Diverse: man emne Få hjelp. apropos stikkord Søker etter kommando for... passwd Endre passord who, finger Oversikt over brukere exit Logge ut fra maskinen!kommando Gjenta kommando history Utførte kommandoer!n Gjenta kommando nr. n!! Gjenta siste kommando Katalog: mkdir kat cd kat cd.. cd pwd rmdir kat mv kat1 kat2 Lage en ny katalog "kat" Flytte seg til katalog "kat" Opp et nivå. Til egen hjemmekatalog Vise aktiv katalog Slette katalog Endre katalognavn Filer: ls Filliste - bare navn ls -C Filliste - bare navn, flere kollonner med navn. ls -l Filliste - med størrelse,beskyttelse, dato ls -F Kataloger skrives slik: navn/,program: navn*, lenker: navn@ ls -R Filene i alle underkataloger ls -a UNIX - også.filer (alle) ls -l wc -l Antall filer i en katalog cat fn Skriv ut filinnhold cat f1 >> f2 Legg filinnholdet i f1 inni f2 bak filinnhold i f2. more fn Vis innholdet i fil fn på skjermen. Stopp for hver skjermside. lpr -h -Psk fn Utskrift på skriver "sk". Uten forside. lpr -p -Psk fn Utskrift med dato, filnavn og sidenr. cp f1 f2 Kopierer fil f1 til f2. Overskriver innholdet i f2. cat f1 f2 >f3 Kopierer flere filer til en fil. cp f1 f2 kat Kopier flere filer til katalog "kat". mv f1 f2 Endre navn på en fil 1

mv f1 f2 kat rm fn rm -i f* chmod umask Flytte filer til katalog "kat" Slette en fil Får spørsmål om en vil slette filene. Alle filer f... Endre filbeskyttelse Setter standard filbeskyttelse for nye filer Kommentarer til lista: En kan skrive help og få en kommandoliste, og få en beskrivelse av kommandoene med "help kommando". En kan bruke piltastene for å ta fram igjen utførte kommandoer. Standard utførelse av ls vil være ls -C hvis utskriften er på terminalen (standard utskrift). En kan en kopiere flere filer til en annen katalog vha "jokertegn" (wildcards) - f.eks. cp fa*.* kat Alle filer med navn som starter med fa kopieres til katalog kat. Noen oppgaver og "slik gjøres det i UNIX": find. -print wc -l Antall filer (og kataloger) totalt i alle underkataloger. find. -name '*po*' -print Hvor er filer med po i filnavnet. find. -type f -print xargs grep -l søkeord Finn filer i alle underliggende kataloger med "søkeord" i teksten i filene. UNIX - initialiseringsfil (oppstartfil) og variable: Definerer:.bashrc Initialiseringsfil (Bash shell) export var=verd Gir global variabel "var" verdi "verd" (Bash shell) var=verd Gir lokal variabel "var" verdi "verd" (Bash shell) Bruk: set Viser lokale og globale variable og lagrede verdier printenv, env Viser globale variable og lagrede verdier $var Tar fram og bruker lagret verdi i "var" - eks.: cd $var echo $var Utskrift på skjermen av verdien i "var" 2

UNIX - filnavn: /topp/under/bruker/kat1/kat2/fil1 Absolutt navn. Fil fil1 i katalog kat2. ~brukernavn/kat1/kat2/fil1 og $HOME/kat1/kat2/fil1 Også absolutt navn. ~brukernavn og HOME er variable som inneholder hjemmekatalogens absolutte navn. Brukernavn er vårt brukernavn på maskina - eks. oleb. kat1/kat2/fil1 Relativt navn - i forhold til katalog der en er. UNIX - rørforbindelse: En kan sette sammen to eller flere kommandoer vha. en rørforbindelse (pipline) - vha. tegnet (vertikalstrek). kommando1 kommando2 Utskrift (resultat) fra kommando1 er inndata til kommando 2. Eks.: Utskrift fra en kommando sendes rett til skriver "sk": kommando lpr -Psk UNIX - innlesing og utskrift: Innlesing til og utskrift fra kommandoer er som standard koplet til tastatur og skjerm. Dette kan endres til filer med tegnene <, > og >>: kommando1 <innfil Kommando1 leser inndata fra fil "innfil" istedenfor fra tastaturet. Eks.: grep søkeord <tekstfil kommando2 >utfil Kommando2 skriver resultatet til fil "utfil" istedenfor til terminalskjermen (overskriv). Eks.: ls -l > liste kommando2 >>samlefil Legg resultatet til innholdet i samlefil (bakerst). kommando3 <innfil >utfil Kommando3 leser fra "innfil" og skriver til "utfil" Eks - kjøring av program: progr <inndata >resultat Noen nyttige UNIX verktøy: script more less head skriver det som skrives til skjermen også på en fil med navn typescript. Vi kan bestemme filnavnet selv: script -a filnavn. Skriving til filen avsluttes med: ctrl d.. leseprogram for tekstfiler. leseprogram - lik more, men med flere kommandoer (ikke standard UNIX) utskrift av de første linjene i en fil 3

tail grep sort diff wc find du tar ps kill make utskrift av de siste linjene i en fil søker etter ord i en tekstfil sortering sammenligner to filer teller linjer, ord og tegn i en tekstfil finner filer utfra navn eller andre egenskaper størrelse på filer, kataloger og totalt (i 1024 ev. 512 byte blokker) samle sammen flere filer til en fil. vis status for egne prosesser drep en prosess. Prosessnummer får en med "ps". verktøy for automatisk kompilering og lenking av programkode. Se f. eks. man "navn". Husk at i UNIX skilles det mellom store og små bokstaver i navn! UNIX - diverse Foran har vi en oversikt over UNIX kommandoer for ulike oppgaver, samt en kort beskrivelse av endel andre muligheter i UNIX. Vi skal her nevne noe nytt og utdype noe. 1) Variable Vi kan definere variable hvor vi kan lagre f.eks. lange katalognavn vi ofte bruker. Vi har lokale variable for skallet og globale (miljø) (environment) variable. De siste overføres automatisk til nye skall og program som startes. For Bash skallet defineres lokal variabel med variabel=verdi og en global variabel med export variabel=verdi. Det finnes forhåndsdefinerte variable som systemet har definert for alle - f.eks. HOME som inneholder navnet på egen hjemmekatalog. En liste over definerte lokale og globale variable får vi ved å skrive set, og en liste med globale variable med printenv ev. env.. 4

Innholdet i en variabel tas fram for bruk ved å sette $ tegnet foran navnet - f.eks. ls $HOME Innholdet i en variabel vises med echo $variabelnavn. 2) Alias Dette er en nyttig egenskap. Vi kan definere egne forkortelser for kommandoer eller program - f.eks. hvis antall opsjoner er mange og linja er lang. Dette kan legges inn i oppstartfilen.bashrc og bli definert hver gang vi logger oss på maskina.. Alias defineres slik: alias=aliasnavn kommando Eks.: alias lst='ls -l more' Ved å gi kommando lst stopper fillista ved full skjerm alias prog=/usr/ole/oleprog Starter programmet oleprog ved å skrive prog. Vi kunne også lagt katalog /usr/ole inn i PATH kommandoen. alias filtall='find. -print wc -l' "Kommandoen" filtall gir oss antall filer (og kataloger) totalt i alle underkataloger. alias nykat='cd \!*; la -lt more' Med nykat skifter til oppgitt katalog, og vi får alltid en filliste sortert etter dato for siste lagring. Eks.: nykat News. Vi oppgi parameterverdier sammen med aliasnavnet (\!*), og det er to kommandoer adskildt med ;. Vi vil også ha noen aliaser definert av systemansvarlige for alle brukere. Vi ser hvilke aiaser som er definert ved å skrive alias. Merk at vi setter teksten mellom anførselstegn når den består av flere ord, og at det foran! må stå \ for å hindre at skallet tolker! som "history" kommandoen. 3) Oppstartfiler Alt som vi vil ha fast definert, må vi legge inn i oppstartfiler. Det gjelder f.eks. variable og aliaser. Når vi starter opp UNIX og Linux vil filen.bashrc leses og det som står der blir utført. I denne filen definerer vi lokale variable og aliaser, vi kan definere vår standard filbeskyttelse, osv. 4) Filbeskyttelse I den fillisten vi får på skjermen med ls -l står det lengst til venstre på hver linje f. eks. -rwxrxr--. Dette viser filenes og katalogenes filbeskyttelse (bekyttelsesmaske). Der er 10 tegn. Lengst til venstre står det i eksemplet -, og det forteller at dette gjelder en fil. Hvis det står d, beskriver linja en katalog. De neste 9 tegnene er delt inn i tre felt med 3 tegn i hver. Vi får vite beskyttelsen for filens eier (user, u), gruppe (group, g) og andre (other users, o). De tre tegnene i hver gruppe betyr 5

leseadgang (r), skriveadgang (w) og rett til å utføre filen som et program (x). Filens eier har alle rettigheter - nemlig rwx. Dette er kompakt, men ikke særlig forståelig uten forklaring. Merk at en katalog må ha utførelsesadgang for hver gruppe (av de tre) som skal ha adgang til katalogen. Det er viktig å være oppmerksom på om vi f.eks. gir alle leseadgang til våre filer. Vi kan sette ny adgang til en fil eller en katalog med kommandoen chmod og standard adgang for alle nye filer med kommandoen umask. Umask kommandoen vil vi sette inn i.bashrc eller.cshrc filen. Umask brukes slik at vi forteller hvilke adganger filene ikke skal få! Vi henviser til annen litteratur for detaljer om hvordan disse to kommandoene brukes. Her er noen eksempler: chmod o-rx filnavn Fjerner lese og utførelsesadgang for andre (others) chmod g=rw filnavn Gir gruppen (group) lese og skrivetilgang chmod g+w filnavn Legger til skriveadgang for gruppe. umask 077 Det er et siffer for hver eiergruppe. Eier (user) har ingen begrensninger, de andre to gruppene har full begrensning. Dette betyr at bare eier (user) har adgang til nye filer som opprettes. umask 027 Eier (user) har full adgang, gruppe har leseadgang (og utførelsesadgang for kataloger og programfiler), andre (others) har ingen tilgang. Vi kan også bruke slike tall sammen med chmod - her med betydning adgang: chmod 654 filnavn Eier har lese og skriveadgang, gruppe har lese og utførelsesadgang, og andre har leseadgang. Hver av disse tallene er en sum av leseadgang (4), skriveadgang (2) og utførelsesadgang (1). UNIX tips Vi viser her hvordan vi gjør endel oppgaver i UNIX a) Filiste sortert etter dato: 6

En liste over filer sortert etter dato, med de nyeste først, får vi ved å skrive: ls -lt. Hvis det er en lang liste, kan vi sette opp en rørforbindelse til f. eks. less: la -lt less. Vi får de nyeste filene sist med ls -ltr. b) Spørsmål om filnavn: Når vi vil slette flere filer på en gang - ved å bruke tegnet * som del av filnavnet - er det sikrere å be om å få få spørsmål om filnavnene ved å bruke opsjonen i: rm -i filer* Samme opsjon kan vi bruke ved kopiering (cp) og flytting (mv). Da får vi spørsmål hvis det er en fil med samme navn som vi kan overskrive. c) Kopiering av en katalogstruktur. Vi kopierer en hel katalogstruktur med underkataloger og tilhørende filer med: cp -r katalogfra katalogtil Med cp -pr bevares også datoer, etc d) Hjemmekatalog Når vi logger oss inn på en UNIX maskin, er vi i vår hjemmekatalog. Hjemmekatalogens absolutte navn er vanligvis et navn med flere underkataloger i - som /topp/under/bruker. Vi kan slippe å skrive det absolutte navnet ved å bruke variable $HOME, eller tegnet ~.. Katalogen info under vår hjemmekatalog kan vi refere til med $HOME/info eller med ~/info. En nyttig egenskap med kommanoen cd er at brukt uten argument (bare cd) kommer vi rett til hjemmekatalogen. Dette kan vi bruke hvis vi skal opp og så ned i en ny underkatalog. e) Aktive prosesser: Kommandoen ps gir oss en liste over egne aktive prosesser. Med ps -u får vi flere opplysninger. Hver prosess har et eget PID nummer. Hvis vi har prosesser gående som vi vil stoppe, bruker vi kill. Hvis prosessen er gjenstridig, kan vi prøve kill -9. f) Symbolsk lenke til en fil Vi kan fra en filkatalog sette opp en symbolsk lenke til en fil i en annen katalog. Da blir filen tilgjengelig i katalogen som om den var lagret der - den vises i fillista. Vi bruker kommandoen ln: ln -s katalog/filnavn Katalog og filnavn er navnet der filen egentlig er lagret, og filen i den nye katalogen får samme navn i ny katalog. Vi kan også gi nytt navn i ny katalog - se man ln. Det kan være nødvendig å oppgi navnet i ny katalog. 7

Anta at vi har lenket opp en fil epost.txt i katalog med absolutt navn /usr/avd/bruker/info/. Ber vi om filliste ved å skrive ls -F, er filnavnet merket med @ - epost.txt@. Med ls -lf ser vi hvordan lenken er satt opp - vi får: epost.txt -> /usr/avd/bruker/info/epost.txt. Vi sletter en lenke med rm filnavn - i katalogen hvor lenken er satt! Vi kan også sette en symbolsk lenke mot en katalog - vi kan gjøre det enklere å komme til en mye brukt katalog. g) Jobb i bakgrunnen Hvis vi har en jobb som tar lang tid, kan vi starte den som en egen prosess i bakgrunnen, og frigjøre skjermen og tastaturet til annen aktivitet imens. Dette kan gjøres slik: 1) Avslutt kommandoen som starter programmet med tegnet &. Med en datafil og utskrift av resultater på en fil kan vi starte programmet prog slik: prog < datafil > resfil &. Hvis vi også vil ha eventuelle feilmeldinger på resultatfilen, skriver vi: prog < datafil > & resfil &. 2) Vi stopper jobben med ctrl z (suspended). Jobben startes i bakgrunnen med kommandoen bg ev. bg jobbnummer. Kommandoen jobs viser hvilke jobber som går i bakgrunnen. Hver jobb har et jobbnummer, og en jobb tas fram i forgrunnen igjen med fg %jobbnr. h) Egne kataloger i søkestien En søkesti er de kataloger som maskinen automatisk søker i etter det programmet vi har skrevet vi vil starte. Det er en standard søkesti (path) for hver installasjon, hvordan den er, avhenger av hvordan de ansvarlige for maskinen har valgt katalognavn og oppsett av maskinen. Ofte er det med i stien en katalog hjemmekatalog/bin, og her kan vi legge vi våre egne program. Det kan også være andre kataloger hvor det er programmer vi vil nå fra alle kataloger. Slike katalognavn kan vi sette inn i stien slik - i initialiseringsfilen.bashrc: set path = (min/katalog $path) Vi legger min/katalog til den stien som variabel path inneholder. i) Mellomrom i filnavn Et filnavn kan også inneholde et mellomrom. For at en kommando skal forstå at det hele er et navm, må vi bruke apostrofer - f. eks. cd "med mellomrom". Det kan hende at vi uønsket får med et mellomrom i et navn - f. eks. som første tegn, og ønsker å slette filen: Da kan vi skrive: rm "med mellomrom", eller også rm med?mellomrom. Spørsmåltegnet erstatter et vilkårlig tegn. 8

j) Kommandosubstitusjon. I følgende uttrykk vil kommando2 utføres først, og fordi kommandoen er omsluttet av tegnet ` (bakover apostrof, aksent grave), vil resultatet være argument for kommando1: kommando1 `kommando2` Eksempler: Skriv ut alle filer med navn README i alle underkataloger: pr `find. -name README -print` Skriv ut alle filer (i en katalog) med ordet Trondheim i teksten: pr `grep -l Trondheim *` I begge tilfeller får vi filnavnene vha. find og grep -l, som så er argument for pr kommandoen. Vi velger henholdsvis ut fra filnavn og ut fra innholdet i filene. Knut L. Vik, IT-avdelingen, NTNU. 12 06 2005 9