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 IN1000 ~/IN1000 $
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 IN1000 |
|
cd | Change-Directory: endrer hvilken mappe man befinner seg i | .. mappen over den man er i | cd IN1000 (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/ IN1000/ |
|
rm | Remove: fjerner fil eller mappe | -r rekursiv (fjerne mappe med innhold) | rm IN1000/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 IN1000/ drwxrwxr-x 2 jb dg 4.0K Jan 5 19:50 Testing/
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 IN1000/ IN1010/ 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
Studenter kan finne en mappe som heter .snapshot på hjemmeområdet sitt. Denne mappen er aldri synlig når du lister opp filene, du må vite om den. Under denne mappen finner du kopier av hjemmeområdet ditt fra de siste dagene, og kan bruke denne mappen til å finne filer du har slettet ved et uhell. Mer om dette kan du finne her: Snapshot – sikkerhetskopi av hjemmeområdet/fellesområder
restore@usit.uio.no
Hvis du har mistet en fil på hjemmeområdet ditt, og du ikke finner enne under .snapshot eller ikke har .snapshot, kan du ta kontakt med backup-avdelingen hos USIT. Send en e-post til restore@usit.uio.no. I denne e-posten må du skrive så mye av filbanen til filen eller mappen du vil ha gjennopprettet, og håpe på det beste. Hvis filen er mer enn en dag gammel da den var slettet eller overskrevet er det nesten sikkert at du får filen tilbake.
Det er ikke backup av alt
Området /tmp på Linux-maskinene er reservert til midlertidig filer. Alt du lagrer her vil bare ligge på den spesifikke maskinen du bruker og vil ikke være synlig på andre maskiner. Dessuten vil de bli slettet i løpet av natta. Det finnes ikke backup av dette området.
Områdene C: og D: på Windows-maskiner er bare delvis tilgjengelie, og det som er lagra kan bli sletet med jevne mellomrom.