Filer och filkataloger

Filsystemet {r kanske den mest p}tagliga delen av ett operativsystem. Det {r i filsystemet som vi lagrar olika slags information - program, data, dokument etc., och det {r i filsystemet alla program finns lagrade. En stor del av Unix kommandon {r till f|r att operera med filsystemet.

I princip {r de flesta operativsystems filsystem organiserade p} ett likartat s{tt, med filer och kataloger (Files och directories).

Filen

Varje fil har ett namn och ytterligare lite information assosierad till sig (Lagras i en s}kallad inode).

Ur en anv{ndares synvinkel finns det tre typer av filer i de flesta Unixar: "vanliga" filer, filkataloger och specialfiler (l{nkar och device pekare etc.). En vanlig fil inneh}ller ren data, tillexempel text, program eller k{llkod. En filkatalog {r en fil som inneh}ller information om andra filer, {ven andra filkataloger. Varje fil h|r till en filkatalog ([ven om (h}rda) l{nkar kan f} den att synbart finnas p} flera st{llen). Specialfiler symboliserar t.ex. fysiska enheter, som skrivare och tangentbord, eller pekar p} andra filer (l{nkar)

Filsystemet ges struktur genom att filmassan delas upp i en hierarki av filer. Denna struktur {r n|dv{ndig f|r att det ska kunna |verblickas.

Filnamn

Filnamn kan vara enkla, absoluta eller relativa. Enkla filnamn anv{nds f|r att ange filer i den katalog som vi st}r i, absoluta och relativa f|r filer i andra kataloger.

Ett enkelt namn (T.ex. 'RMAIL') avser en fil som ligger i den katalog man st}r i (cwd, f}s med kommandot 'pwd').

Ett filnamn kan vara absolut, dvs vara en fullst{ndig angivelse av hela s|kv{gen till filen, som startar i rooten ('/'). Ett exempel {r '/usr/local/bin/gnu/emacs'. Som du ser startas en absolut angivelse genam att man inleder med tecknet '/', som anger rooten, och sedan s{tter ett '/' mellan varje directory i s|kv{gen.

Filnamnskonventioner

Filnamn skrivs f|retr{desvis med bokst{ver, siffror, punkt och '_', {ven om alla tecken utom '/' {r till}tna. Observera att 'Hej' och 'hej' inte {r samma fil, stora och sm} bokst{ver s{rskiljs alts}. Namnen '.' och '..' {r reserverade i Unix, och anger 'Working Directory' och 'Parent Directory'.

En punkt i ett filnamn anv{nds ofta f|r att ange filtypen, te.x. .gif f|r gif-bilder.

De vanligaste kommandona f|r filmanipulation

cd Arg
cd {ndrar 'Current Working Directory' till det som anges i Arg.

Exempel

bash$ cd ..          [ndra CWD till Parent Dir.
bash$ cd foo         [ndra CWD till foo.
cp a b
Kopiera filen 'a' till 'b'.

Exempel

 bash$ ls
 Foo Bar
 bash$ cp Foo Gonk
 bash$ ls
 Bar Foo Gonk 
mv a b
D|p om filen 'a' till 'b'.

Exempel

 bash$ ls
 Foo Bar Gonk
 bash$ mv Foo Zonk
 bash$ ls
 Bar Gonk Zonk
 bash$ mv Zonk ..
 bash$ ls
 Bar Gonk
(Zonk befinner sig nu i f|r{ldrakatalogen)
ls
Lista filerna i CWD, eller om ett argument anges, i den katalogen. Anv{ndbara flaggor:
-l Visa full info
-g Visa gruppen
-s Visa l{ngen p} filerna, i Kb.
-F Visa filtypen (/ efter kataloger, @ efter l{nkar, * efter k|rbara kommandon.)

Exempel

 bash$ ls -lgF
 -rw-r--r-- 1 cardeci   www       512 Nov 1 16:22  foo.c
 -rw-rw-r-- 1 cardeci   www   2124322 Dec 2 18:12  core
 bash$ ls -s
 1 foo.c               2004 core
 bash$ ls -Fa
 1 ./                 10 ../
 1 foo.c            2004 core
 bash$

More to come