Antag att jag har en diskett med det innehåll som visas i figur
.
På disketten finns filerna svamp.html och
RMAIL. Dessutom finns där två kataloger,
dokument och program,
som innehåller ytterligare några filer.
Jag vill nu läsa av filerna som finns på disketten.
Problemet är att
man i UNIX bara kan komma åt filer
som finns någonstans
i hierarkin av kataloger under rotkatalogen.
Men vill man använda en diskett, en extra hårddisk,
en CD-skiva eller dylikt,
så kan man montera den på en katalog i det
ordinarie filsystemet.
Om jag tex monterar min diskett på katalogen
/floppy, så ser det ut som om
de filer och kataloger som finns på disketten
ligger i den katalogen i det ordinarie filsystemet.
Då kan jag tex ge kommandot more /floppy/svamp.html
för att läsa filen svamp.html på disketten,
eller kommandot cp /floppy/svamp.html /home/göran
för att kopiera den till min hemkatalog.
mount -t typ enhet katalog
där typ står för den typ av filsystem som ska monteras,
enhet för den enhet filsystemet finns på och
katalog för den katalog filsystemet ska monteras på.
Katalogen katalog måste existera. Den behöver inte vara tom,
men det som eventuellt finns i den kan inte kommas åt
så länge något är monterat på den.
När filsystemet inte längre behöver vara monterat ska det monteras ned igen
med kommandot umount katalog, där katalog
står för den katalog filsystemet är monterat på.
Om min diskett använder typen minix, så blir kommandot
för att montera den mount -t minix /dev/fd0 /floppy,
och kommandot för att montera ned den är
umount /floppy.
Men nu kommer vi till det riktigt stora problemet:
av säkerhetsskäl är det vanligtvis bara
systemadministaratören som får montera kataloger!
Systemadministaratören skulle kunna göra så här:root@fafner# mount -t minix /dev/fd0 /floppy
Hur ska jag som vanlig användare komma åt innehållet
på min diskett? Jo, kanske har systemadministaratören
gjort en inställning som tillåter användarna att
montera disketter och CD-skivor, om än
under restriktiva former.
För att kontrollera om det är så ska vi
studera filen /etc/fstab.$ cat /etc/fstab
#<enhet> <katalog> <typ> <flaggor> <> <pass>
/dev/sda1 / ext2 defaults 0 1
/dev/sda7 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/sda3 /usr ext2 defaults 0 2
/dev/sda2 /dosc vfat defaults 0 0
/dev/fd0 /floppy vfat user,noauto 0 0
/dev/fd0 /floppy/minix minix user,noauto 0 0
/dev/fd0 /floppy/ext2 ext2 user,noauto 0 0
/dev/cdrom /cdrom iso9660 user,ro 0 0
/dev/sda5 /home ext2 defaults 0 2
fasolt:/home/eva /home/eva nfs defaults 0 0
$Det är systemadministaratören som skapar filen
/etc/fstab. Filen är främst till för att
ange vilka filsystem som ska monteras varje gång datorn
startas om. Men om ett filsystem ofta monteras på ett
visst ställe, så kan det också beskrivas i
/etc/fstab, och då kan kommandot för att montera
det förenklas - man behöver bara ge kommandot
mount katalog ifall det anges
i /etc/fstab vad som brukar monteras på katalog.
Varje rad (utom de som inleds med tecknet #)
motsvarar ett filsystem. Alla utom de som har
ordet noauto under rukriken ''flaggor''
monteras automatiskt vid uppstarten.
Under rubriken ''enhet'' anges på vilken fysisk enhet
filsystemet finns, under ''katalog'' var det ska monteras,
under ''typ'' vilken typ av filsystem det gäller.
I den näst sista kolumnen ska det stå
en nolla (så vitt jag vet används detta inte längre till något).
Den sista kolumnen anger ifall man vill att filsystemet
ska genomsökas efter eventuella fel innan det monteras.
En nolla betyder att det inte ska felsökas,
annars ska det stå en etta för filsystemet som
ska innehålla rotkatalogen och en tvåa
för alla andra.
Apropå enhet: hårddiskar brukar heta
/dev/hda, /dev/hdb, /dev/sda
eller dylikt. Om hårddisken är uppdelad på flera
delar (så kallade partitioner), så
har delarna nummer 1,2,3 osv.
Men vad som intresserar oss nu är ifall det
under rubriken ''flaggor'' står user,
för i så fall får vanliga användare montera
det filsystem som beskrivs på den raden.
Av utskriften ovan att döma får jag montera
disketter i första diskettenheten.
Om filsystemet på disketten är av typen
vfat så får det monteras på katalogen
/floppy, om det är av typen ext2
så får det monteras på /floppy/ext2
och om typen är minix så
får det monteras på /floppy/minix.
Så här kan jag alltså göra:$ mount /floppy/minix
$ cd /floppy/minix
$ ls
RMAIL dokument/ program/ svamp.html
$ cp svamp.html /home/göran
$ cd program
$ ls
Makefile hejvärlden.c nim.c
$ pwd
/floppy/minix/program
$ cp /home/göran/bellman .
$ ls
Makefile bellman hejvärlden.c nim.c
$ umount /floppy/minix
umount: /floppy/minix: device is busy
$ cd /floppy
$ umount /floppy/minix
$ ls minix
$Först monterade jag min diskett som /floppy/minix.
Jag kopierade filen svamp.html från disketten till
min hemkatalog, och filen bellman från min hemkatalog
till katalogen program på disketten.
Därefter försökte jag montera ned disketten,
men det gick inte eftersom jag befann mig i den katalog
disketten var monterad på (eller snarare i en
underkatalog till den). När jag gick bort från katalogen
/floppy/minix och försökte igen, så gick det bättre.
Efter att disketten monterats ned är katalogen /floppy/minix
tom.
Observera att disketten absolut inte får tas ur diskettenheten
så länge den är monterad!
Om man brutalt tar ur
disketten utan att först montera ned den, så kan det inträffa att
vissa filer bara finns med till hälften eftersom
Linux ofta sparar saker i minnet
en stund innan de skrivs över till disketten.
Med hjälp av kommandot df kan man få reda på hur mycket
utrymme som finns fillgängligt på de filsystem som är
monterade.$ df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sda1 304M 34M 254M 12% /
/dev/sda3 1.1G 433M 647M 40% /usr
/dev/sda2 314M 6.6M 307M 2% /dosc
/dev/sda5 987M 662M 274M 71% /home
fasolt:/home/eva 191M 161M 19M 89% /home/eva
/dev/hdc 592M 592M 0 100% /cdrom
$Till exempel är femte partitionen
på hårddisken /dev/sda
monterad på katalogen /home.
Utrymmet på partitionen är 987 megabyte,
varav 662 megabyte är använt just nu.