Mapper og filer

Fra Programmering

Gå til: navigasjon, søk

Innhold

Mapper

En mappe, katalog eller et filområde er en slags beholder i filsystemet der man kan lagre både vanlige filer og andre mapper. På engelsk heter det directory eller folder. Mapper er viktige for å kunne ha orden på filene man har. Å lagre alt du eier og har i en og samme mappe er ingen god idé og fører til at man mister oversikten. Det er lurt å lage f.eks. en katalog for hvert kurs du tar.

Hjemmeområdet

Hjemmeområdet er filområdet der filene dine blir lagret på Ifi-filsystemet. Roten av hjemmeområdet er den øverste katalogen på hjemmeområdet, og angis med ~ (tilde-tegnet) i Linux.

I hjemmeområdet finnes en svært nyttig mappe som heter «privat». Denne mappen har ingen andre brukere leserettigheter til som standard og anbefales som lagringsplass til alt av private dokumenter som oppgaver.

. og ..

Alle mapper inneholder to spesielle lenker . (punktum) og .. (to punktum). . er en lenke til mappen selv og brukes av og til for å angi at et program skal gjøre noe med den mappen man er i. .. er en lenke til overmappen, altså mappen denne mappen ligger i, den er nødvendig for at du skal kunne bevege deg ut av en mappe, eller om du vil referere til en fil i overmappen.

Programmer for å jobbe med mapper

Navn Program Flagg Hva det gjør
Make directory mkdir   Lager den angitte mappen.
-p Lager i tillegg alle nødvendige overmapper.
-v Skriver ut hvilke mapper som ble opprettet. Dette brukes vanligvis sammen med -p.
Change directory cd   Flytter deg inn i mappen som er angitt.
List ls   Skriver ut en liste over filer i den angitte mappen eller den gjeldende mappen om ingen mappe er angitt.
-l Skriver ut den samme listen i detaljert (long) format med informasjon om filtype, rettighter, eier, lenker, størrelse, m.m.
-a Viser alle filer (altså, også skjulte filer).
-A Viser alle filer unntatt . og .. (nåværende mappe og overmappen).
-h Skriver ut filstørrelser i et format som er leselig for mennesker (må brukes sammen med -l).
--color Viser forskjellige typer filer i forskjellige farger for mapper, vanlige filer, lenker og kjørbare filer.
Tree tree   Skriver ut et filtre. Dette kan ta veldig lang tid om det er mange filer og/eller undermapper.
-a Viser også skjulte filer i filtreet.
-d Viser kun mapper i filtreet.
-C Fargelegger filer etter filtype.

Merk at tabellen ikke viser alle mulige valg kun de vanligste. For å få mer informasjon om et program kan du bruke kommandovalget --help eller programmet man, f.eks. ls --help for kort informasjon om bruk av ls eller man ls for detaljert informasjon om bruk av ls.

Opprette en mappe

Oppretter mappen «ny-mappe». Hvis du har behov for å lage undermapper også, kan du gjøre det i én operasjon:

Eksemplet ovenfor oppretter både mappen «ny-mappe» og undermappen «undermappe».

Vise innholdet i en mappe

Du kan enkelt vise innholdet i en mappe med ls:

Om du vil ha mer informasjon, kan du bruke flagget -l:

Du kan også angi hvilke filer eller hvilken mappe ls skal vise:

Det siste eksemplet viser bruk av jokertegn for å kun vise filer som slutter på «.txt».

Du kan også vise innholdet i mapper med tree, men denne skriver også ut innholdet av alle undermapper og kan bruke lang tid om det er mange filer.

Bevege seg mellom mapper

For å flytte deg inn i en annen mappe bruker du kommandoen cd:

Du kan også flytte deg rett inn i en undermappe av mappen du beveger deg inn i:

Om du skal tilbake til hjemmeområdet, bruker du cd uten noe argument:

Skal du ut av en mappe, bruker du ..-lenken til overmappen:

Merk at det ikke finnes en egen kommando for å bevege seg til overmappen som i MS DOS/Windows, men du må ha mellomrom mellom cd og ...

Filer

Opprette en tom fil

I Unix finnes det en kommando for å endre datoen en fil sist ble brukt. Dette kan være nyttig for å opprette filer tomme filer. Kommandoen heter touch.

Flytting og endring av filnavn

I Unix brukes en og samme kommando både for å flytte filer fra en mappe til en annen, og for å endre navnet på en fil. Da bruker vi kommandoen mv (move). Hvis du tenker etter, så vil det å flytte filen til samme mappe den var i men med et nytt navn tilsvare å bare endre filnavnet.

Kopiering

For å lage en kopi av en fil bruker vi kommandoen cp (copy). Vær oppmerksom på at hvis du allerede har en fil med det navnet du flytter eller kopierer filen til, vil den gamle filen bli overskrevet uten forvarsel. I motsetning til Windows, så antar Unix at brukerne vet hva de gjør. Vi lager en kopi av filen fil.txt med navn fil2.txt som vist under:

For å lage en kopi av en mappe bruker vi parameter -r som vist under:

Sletting

For å slette filer brukes kommandoen rm (remove).

For å slette mapper kan man bruke kommandoen rmdir (remove directory) eller rm med kommandovalget -r. rmdir krever at mappen er tom, mens rm er mer voldsom og sletter også alle filer og mapper som ligger i mappen. Valget -r står for rekursiv og angir at kommandoen skal dykke gjennom mappestrukturen og slette alle undermapper og filer før den sletter mappen. Mange kommandoer har muligheter for å jobbe rekursivt med -r.

Flere filer i samme kommando

Ofte er det nyttig å utføre en kommando på flere filer samtidig, f.eks. for å flytte mange filer til en gitt katalog, og det kan enkelt gjøres ved å angi flere argumenter. Når man gir mer enn to argumenter til mv, angir altså det siste den mappen filene skal flyttes til og alle de foregående hvilke filer som skal flyttes.

Skråstreken bak mappen tall er ikke nødvendig, men viser tydelig at dette er en mappe. Den dukker også automatisk opp om man bruker auto-fullføring med Tab ⇆.

Kommandoen ls kan også ta imot en eller flere kataloger (eller filer) som argumenter og viser da info om de angitte filene og katalogene.

Jokertegn

Jokertegnet betyr rett og slett et hvilket som helst tegn. Dette kan brukes for å angi mange filer som argument til en kommando. Når du bruker jokertegnet * (asterisk/stjerne), angir du at null eller flere tegn uansett tegn skal matche jokertegnet.

Filrettigheter

I Unix/Linux har man mulighet til å sette filrettigheter på hver enkelt fil og katalog med programmet chmod. Når man bruker ls -l kan man se hvilke filrettigheter man har. Under vises en eksempelutskrift:

Først i tabellen som skrives ut vises filrettigheter og filtype. Den første bokstaven viser om det er en mappe d eller en vanlig fil - (det finnes noen andre muligheter). De etterfølgende bokstavene viser rettigheter for eier, gruppe og alle i mønstret rwx. r står får readable, w for writable og x for executable. De første tre bokstavene er rettigheter til brukeren som eier fila, de neste er til gruppa som er tilordnet fila, og de siste tre er for alle andre brukere.

Om du vil endre rettighetene til en fil, kan du bruke chmod med enten et tall for å representere de nye rettighetene eller en enkel tekstkode. Tallkodene består av et tresifret tall (ett siffer for eier, gruppe og alle) der hvert siffer er summen av rettighetene tilordnet de forskjellige brukerne. 1 er kjørerettighet, 2 er skriverettighet og 4 er leserettighet (0 er ingen rettigheter). Tekstkodene består av hvilke brukere man vil gi eller frata rettigheter (u for eier, g for gruppe og o for andre), pluss-, minus- eller likhetstegnet for å gi, fjerne eller sette rettighetene, og til slutt rettighetene gitt som en bokstav. Tekstkodene kan skilles med komma om man skal gi forskjellige rettigheter til forskjellige brukere (eier, gruppe eller andre).

Ovenfor kan du se noen vanlige tallkoder for å sette rettigheter for en fil. 644 gir lese- og skriverettigheter til eieren av fila og leserettigheter til alle andre. 755 Gir de samme rettighetene som 644, men legger til kjørerettigheter til alle i tillegg. 600 stenger ute alle andre enn eieren, men eieren har lese- og skriverettigheter. Som du kan se, er 6 summen av lese- (4) og skriverettighetene (2), 7 legger til 1 som er kjørerettigheten.

Under kan du se de samme innstillingene som ovenfor gitt med tekstkoder (merk at når likhetstegnet ikke er fulgt av noen rettigheter, tilsvarer det at de brukerne ikke har noen rettigheter):

I alle eksemplene ovenfor er rettighetene satt eksplisitt, men med tekstkoder kan man legge til og fjerne rettigheter med pluss og minus:

Det første eksemplet legger til alle rettigheter for eieren av fila. Det andre eksemplet gir i tillegg lese- og kjørerettigheter til alle andre (det kan også gjøres med u+w,ugo+rx). De to siste eksemplene fjerner rettigheter. Den første fjerner skriverettigheter for alle unntatt eieren, og det siste eksemplet fjerne leserettigheter for alle.

Personlige verktøy