Filbehandling i linux

Fra TermvaktWiki
Gå til: navigasjon, søk

Denne veiledningen tar for seg filbehandling i operativsystemet Linux ved bruk av kommandolinje. Mer informasjon finnes i kompendiet Unix for nybegynnere.

Innhold

Kommandolinje

Kommandolinjen i Linux får du tilgang til via en terminal. Man kan ha flere terminaler kjørende samtidig, slik at man f.eks. kan ha en til irssi og en til generell filbehandling. Når du logger deg inn på en av Linux-maskinene på termstuene så åpnes automatisk en terminal. I tillegg kan den åpnes fra Applications-menyen:

Applications -> Utilities -> Terminal

Når du åpner en terminal, så vil det se omtrent slik ut:

   brukernavnetditt@maskinenduerloggetinnpå ~ $

~-en peker på hjemmekatalogen din, som er den du befinner deg i når du først åpner et terminalvindu. Kommandoen cd ~ vil alltid ta deg tilbake hit. Hvis du endrer hvilken mappe du er i, så vil det stå foran $-tegnet, slik:

   ~ $ cd INF1000
   ~/INF1000 $ 

Noen vanlige kommandoer

Tabellen under viser en oversikt over noen vanlige kommandoer som kan brukes i terminal. Jokertegn (* og ?) er effektive for å gjøre operasjoner på flere filer i samme kommando. ? representerer et hvilket som helst tegn, mens * angir alle mulige kombinasjoner av alle mulige tegn:

   Oblig?.java angir Oblig1.java Oblig2.java Oblig3.java etc.
   *.java angir alle java filer

Mellomrom i fil- eller mappenavn angis med en \ foran.

   mv Filnavn\ med\ mellomrom.txt filnavn-med-bindestreker.txt  

Husk også at tab-tasten fungerer som automatisk fullføring av navn (på filer, mapper og kommandoer), noe som er svært nyttig og tidsbesparende.

Kommando Forklaring Alternativer Eksempel
ls List: lister opp filer og mapper i den mappen man er i -l long (mer info); -a all (lister skjulte filer) ls -l
mkdir Make-Directory: lag ny mappe mkdir INF1000
cd Change-Directory: endrer hvilken mappe man befinner seg i .. mappen over den man er i cd INF1000 (hvis den eksisterer)
cp Copy: kopierer en fil -r rekursiv (kopiere mappe med innhold) cp Oppg.odc Oppg_backup.odc
mv Move: flytter fil. Brukes også til å gi nytt navn mv Obliger/ INF1000/
rm Remove: fjerner fil eller mappe -r rekursiv (fjerne mappe med innhold) rm INF1000/Obliger/Oblig1.java

For mer informasjon om hvordan en kommando fungerer, kan man skrive man foran kommandoen i terminal for å få opp en manual.

Filgrupper og tilgang

Adgangen til en fil er regulert på tre nivåer: eier, gruppe og alle. Kommandoen ls -l viser informasjon om grupper og tilgang:

   ~ $ ls -l
   total 20K
   drwxrwxr-x    2 jb       dg           4.0K Jan  5 19:47 inf1000/
   drwxrwxr-x    2 jb       dg           4.0K Jan  5 19:50 kjaerleiksbrev/

Tredje kolonne viser eieren av filen eller mappen (jb) og fjerde kolonne viser filgruppen (dg). Den første kolonnen viser hvordan adgangen er regulert. Det første tegnet angir om det er en mappe eller fil:

  • - angir en fil
  • d (Directory) angir en mappe

De neste 9 tegnene er delt opp i tre bolker: eier, gruppe og andre. Bokstavene angir

  • r (Read) angir leserettighet
  • w (Write) angir skriverettighet
  • x (eXecute) angir kjørerettighet

Disse rettighetene kan endres med chmod:

   chmod u=rwx,g=rx,o=x fil.txt

Tilsvarende kan tallkoder brukes:

   chmod 751 fil.txt

Der 751 setter rwx for eieren, rx for gruppen og x for resten av verden. Passende verdier i følgende tabell summeres altså for å definere tilgangsrettigheter innenfor henholdsvis eieren, gruppen og andre:

Bokstav Verdi
r 4
w 2
x 1


Filkomprimering

I Unix/Linux er det vanlig å bruke tar sammen med gzip for å komprimere filer. tar kombinerer flere filer til en større fil, mens gzip komprimerer enkeltfiler.

Pakke inn

I eksempelet under kombineres først alle filene i mappen test til fil.tar med tar-kommandoen. Deretter komprimeres fil.tar som resulterer i fil.tar.gz.

   ~/test $ tar -cvf fil.tar * 
   ~/test $ gzip -v fil.tar

Alternativt slås disse to operasjonene sammen, slik at en midlertidig tar-fil unngås

   ~/test $ tar -czvf fil.tar.gz *

Forøvrig kan det være mer hensiktsmessig å stå i mappen over for å pakke en hel mappen:

   ~/test> cd ..
   ~> tar -zcvf fil.tar.gz test

Fordelen med å stå utenfor mappen er at du får med deg alle filene i mappen (* tar ikke med seg filer som starter på .), og at også mappenavnet blir lagret i filen (noe som er praktisk når man skal pakke ut igjen ettersom filen da vil havne i en slik mappe igjen).

Pakke ut

For å pakke ut en tar.gz-fil kan man gjøre følgende:

   ~/test $ gunzip -v fil.tar.gz
   ~/test $ tar -xvf fil.tar

Vil man også her slippe å ha tar-filen liggende så kan man gå direkte til utpakking med:

   ~/test $ tar -zxvf fil.tar.gz

Oppsettfiler

De fleste Linux-program lagrer oppsettet sitt i filer eller mapper med navn som begynner med punktum. Feks har du filen .bashrc og mappen .mozilla på hjemmeområde ditt. Disse kan man se ved å benytte ls -a

  ~ $ ls -a
  ./   .bashrc   inf1000/         mat1100/   revlusjon/
  ../  familie/  kjaerleiksbrev/  .mozilla/
                                                                                                                                                                                 

Dersom du sletter disse filene eller mappene vil du tilbakstille oppsettet til det aktuelle programmet.

Historikk

Siden ~/.bash_history i utgangspunktet er tom, tar ikke terminalen vare på historikken din. En enkel måte å løse dette på er å skrive følgende i en terminal:

  ~ $ HISTFILESIZE=500

lukk terminalen - og neste gang du åpner en terminal, har den hukommelse.


Sikkerhetskopier

Snapshot

Studentar kan finne ein mappe som heiter .snapshot på heimeområdet. Denne mappa er aldri synleg når du listar opp filene, du må vita om han. Under denne finn du kopiar av heimeområdet ditt frå dei siste dagane, og du kan bruka denne mappa til å finna att filer du har sletta ved eit uhell. Meir om detta kan du finna her: Snapshot – sikkerhetskopi av hjemmeområdet ditt

restore@usit.uio.no

Viss du har mista ei fil på heimeområdet ditt, og du ikkje finn henne under .snapshot eller ikkje har .snapshot, kan du ta kontakt med backup-avdelinga på USIT. Send ein e-post til restore@usit.uio.no. I e-posten skriv du så fullstendig bane som mogleg til fila eller mappa du vil ha gjenoppretta, og håpar det beste. Viss fila var meir enn ein dag gamal då ho vart sletta eller overskriven er det nesten sikkert at du kan få henne igjen.

Det er ikkje backup av alt

Området /tmp på Linux-maskinane er reservert til mellombelse filer. Alt du lagrar her vil berre liggja på den maskinen du brukar, og vil ikkje vera synleg på andre maskinar. Dessutan vil det verta sletta i løpet av natta. Det finst ikkje backup av dette området

Områda C: og D: på Windows-maskinar er berre delvis tilgjengelege, og det som er lagra her vert sletta med jamne mellomrom.

Se også

? Katalog er et annet ord for mappe.

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy