|
| Vorige | Begin | Volgende |
Het Linux bestandsindeling wijkt op een aantal punten nogal af van die van windows.
Om goed met Linux om te kunnen gaan is het belangrijk te weten wat de belangrijkste verschillen zijn.
Natuurlijk hoef je niet alle details te weten.
Daarom begin ik in dit hoofdstukje met de belangrijkste details die je moet weten voor het dagelijkse gebruik.
Naarmate de detaillering toeneemt, neemt ook de belangrijkheid voor dagelijks gebruik af.
Je mag daarom zelf weten hoe ver je op deze pagina door leest.
Om te beginnen kent Linux geen drive letters, zoals bij Windows.
Alle bestanden staan in een grote mapstruktuur.
Die struktuur begint bij de wortel, in het Engels heet dat de root.
In die root zitten een aantal mappen, in die mappen zitten weer andere mappen en/of bestanden.
In die mappen zitten misschien nog meer mappen, waarin ook nog meer mappen kunnen zitten.
Enz, enz, enz....
Eigenlijk is dat dus niet eens zo heel veel anders als wat we van Windows gewend zijn.
In Windows heeft elke drive ook een root, waarin mappen en bestanden opgeslagen worden.
Het enige verschil is dat Linux eigenlijk dus maar een drive heeft, en daarom heeft die drive ook geen naam (drive letter) nodig.
Diskettes, CD's en USB stations krijgen geen eigen letter. De mappen en bestanden van zo'n extern station worden gemonteerd (in het Engels heet dat mounted) in een van de mappen ergens in de mapstruktuur. Verderop zien we waar en hoe dat werkt. Een mounted extern station krijgt een eigen ikoontje op het bureaublad zodat je niet hoeft te zoeken.
Om te beginnen zijn onder Linux bestandsnamen hoofdletter gevoelig! Dit is een groot verschil tussen Linux en Windows! Het bestand "Hallo.txt" is onder Linux dus een ander bestand dan "hallo.txt". Onder Windows zou dit een en het zelfde bestand zijn.
Valkuil!
Normaal heb je geen last van de hoofdlettergevoeligheid onder Linux.
Maar let op als je bestanden vanuit Linux gaat kopieren naar een Windows bestandssysteem.
"Hallo.txt" en "hallo.txt" zijn in Linux twee verschillende bestanden.
Als je die beide naar een Windows bestandssysteem kopieert dan zal een van de twee bestanden door de ander overschrijven worden.
Let op! Ook USB stations zijn vaak geformatteerd met het FAT32 systeem.
Dit is dus ook een Windows bestandssysteem, en is daarom niet hoofdletter gevoelig.
Eigenlijk kent Linux op zich geen standaard bestand extensies, zoals bijvoorbeeld .txt, .exe, .bat of .doc.
Je mag ze wel opgeven, maar de extensie is gewoon een deel van de naam en heeft voor Linux geen speciale betekenis.
Maar.....
Een hoop dekstop programma's maken tegenwoordig wel gebruik van bestandsextensies, zoals we bij Windows gewend zijn.
Zo herkennen de Linux desktopschillen (waar onder Gnome en KDE) bijvoorbeeld jpg en mp3 bestanden aan hun extensie en starten het juiste programma als je op zo'n bestand dubbel klikt.
Allemaal in de naam van het gebruikersgemak.
Ook een aantal server toepassingen, zoals de Apache web server die je onder Linux kunt installeren, maken gebruik van bestandsextensies.
Apache herkent bijvoorbeeld bestanden met de extensie .php als uitvoerbare PHP script bestanden.
Echter....
Het simpel hernoemen van een bestand naar "huppeldepup.bat" maakt het bestand nog niet automatisch uitvoerbaar, zoals onder Windows.
Dit maakt Linux een stuk veiliger.
Bestandsextensies zijn onder Linux niet beperkt tot 3 letters achter de punt.
Al zijn de meeste bestandsextensies wel 3 letters lang, om toch een beetje op Windows te lijken.
Iedere bestandsnaam die met een punt begint is onder Linux een verborgen bestand.
Verborgen bestanden worden standaard niet getoond in de verkenners zoals Nautilus of Dolphin.
Ook in een terminal venster worden verborgen bestanden normaal niet getoond.
Bij Nautilus kun je de verborgen bestanden zichtbaar maken door Ctrl-H in te toetsen (de H is van het Engelse woord Hidden, verborgen dus).
In de terminal kun je de verborgen bestanden zichtbaar maken door bijvoorbeeld het commando ls -a te geven.
Vooral in je eigen home map staan heel veel verborgen bestanden en mappen.
Daar worden door diverse programma's je persoonlijke voorkeuren in opgeslagen.
Sommige programma's nemen genoegen met een paar voorkeursinstellingen en die staan dan in een verborgen bestand.
Andere programma's hebben veel meer instellingen te onthouden en gebruiken daarom een verborgen map.
Bestanden in een verborgen map hoeven per definitie zelf niet verborgen te zijn.
Het mag natuurlijk wel.
Mappen in Linux zijn eigenlijk ook gewoon bestanden, met een speciale eigenschap. Dus alles wat geldt voor bestandsnamen, geld even zo goed voor mapnamen. Mappen kunnen ook worden verborgen door de naam te beginnen met een punt.
We beginnen ons pad bij de root map, de wortel dus.
De root map wordt aangegeven door een enkele / .
Hier zien we dus een ander verschil met Windows, daar wordt de root map van een drive aangegeven door een enkele \ .
Elke mapnaam die we aan ons pad toevoegen volgt het / teken van de vorige map in het pad.
Zo wijst het pad /home/user/Documenten naar de map Documenten, die zich in de map user bevindt.
De map user bevindt zich in de map home, en die map zit in de root map.
Verder kunnen we dus niet terug.
Eigenlijk werkt dit precies het zelfde als wat we van Windows computers kennen.
Het enige verschil tussen Windows en Linux is het gebruik van het scheidings teken \ versus / .
Linux gebruikt dus altijd het / teken als scheidingsteken.
Er zijn twee speciale mappen in Linux (net als in Windows).
Dit zijn de mappen . en ..
De map . is "deze" map, de map dus waarin we ons nu bevinden.
De map .. is de vorige map in het huidige pad.
Deze speciale mappen worden voornamelijk gebruikt in de terminal.
Bijvoorbeeld het command cd .. zet de huidige werkmap naar de vorige map in het huidige pad.
Dus als we in de map /home/user/Documenten stonden, dan staan we na cd .. in de map /home/user .
Het commando cp /tmp/test . kopieert het bestand test, wat zich in de map /tmp bevindt, naar de huidige map (wat dus door de . wordt aangegeven).
Linux volgt een standaard mapindeling, die eigenlijk afkomstig is van Unix, het grote voorbeeld van Linux. Als je die standaard indeling eenmaal kent is het vrij gemakkelijk om je weg te vinden in Linux.
In deze map bevinden zich de persoonlijke mappen van alle gebruikers.
Je kunt deze map vergelijken met de /Documents and settings map van Windows, maar dan beter gestruktureerd.
Dus elke gebruiker van de machine krijgt hier zijn eigen persoonlijke map.
Vervang de naam user door de gebruikersnaam of namen op je eigen computer.
Alle persoonlijke bestanden van de gebruiker, in dit geval user, worden opgeslagen in deze persoonlijke map.
Elke gebruiker is automatisch de eigenaar van de map, en als de gebruiker dat niet wil kunnen andere normale gebruikers geen toegang krijgen tot die map en de bestanden in de map.
Maar let op! De super user kan overal bij.
In deze map kun je dus je eigen documenten opslaan. Maar ook al je persoonlijke voorkeuren staan ergens in deze map, meestal in verborgen bestanden of verborgen submappen.
Dit is de home map van de gebruiker root, de super user. De super user is dus de enige gebruiker die geen eigen map in de map /home heeft.
In deze map staan alle systeem instellingen. De eigenaar van deze map en alle onderliggende bestanden en mappen is de super user. De meeste bestanden in deze map kun je wel inzien als normale gebruiker, maar je kunt er geen wijzigingen in aanbrengen. Dat kan alleen de super user.
Deze map bevat script bestandjes die alle services die de machine biedt kunnen starten, stoppen en herstarten. Maar dat is meer voor de gevorderde gebruiker. Als je benieuwd bent welke services er zo allemaal kunnen draaien op je machine dan kun je hier een kijkje nemen.
Deze map wordt door het systeem gebruikt voor allerhande huishoudelijke zaken.
Zo worden alle systeem logbestanden opgeslagen in de map /var/log .
Erg handig bij foutzoeken dus.
De map /var/tmp bevat tijdelijke bestanden die het systeem even kwijt wil, maar die daarna meteen weer gewist mogen worden.
Daar mogen dus niet al te oude bestanden in staan.
Staan er wel oude bestanden in dan is het systeem die waarschijnlijk vergeten te wissen, bijvoorbeeld als gevolg van een systeem crash.
Ja, ook Linux kan crashen, bijvoorbeeld als je de stekker gewoon uit het stopkontakt trekt.
Hierin staan alle door een normale gebruiker uitvoerbare systeem bestanden.
Hierin staan alle uitvoerbare systeem bestanden die alleen door de super user uitgevoerd kunnen worden.
Hierin staan alle uitvoerbare bestanden die niet noodzakelijkerwijs aan het systeem toebehoren, de applicaties dus. Ook hier wordt er een onderscheid gemaakt tussen programma's die iedereen mag uitvoeren en programma's die alleen door de super user uitgevoerd mogen worden.
Dit is een speciale map.
Onder Linux is alles een bestand, ook apparaten.
En /dev is de map waarin alle apparaten verzameld worden.
Deze map wordt normaal gesproken tijdens het opstarten van het systeem gevuld met alle aanwezige echte en virtu ele apparaten.
Linux is tegenwoordig zo slim dat ook tijdens normaal gebruik nog apparaten kunnen worden toegevoegd, bijvoorbeeld als je een USB station aansluit.
Ook dit is een speciale map, die tijdens het opstarten van het systeem gevuld wordt met allerhande bestandjes.
Zo staat in het bestand /proc/meminfo een heleboel informatie over het beschikbare geheugen in je machine.
Neem gerust eens een kijkje in deze map als je jezelf een keer verveelt.
Dit is de map die de auto-mounter gebruikt om externe bestandssystemen zoals CD-DVD spelers, diskettes en USB stations in te mounten. Elk gekoppeld bestandssysteem krijgt dan een eigen map in deze /media map, waarin alle bestanden van het gekoppelde station te vinden zijn.
Vroeger werden daar de mappen /floppy /cdrom en /mnt voor gebruikt. Die mappen kunnen nog steeds gebruikt worden om bestandssystemen op te mounten. Ze bestaan echter alleen nog maar om compatibel te blijven met oudere software.
Onder Linux kan aan elk bestand een eigenaar en een aantal rechten worden toegekend.
Hier is echter zo veel over te vertellen dat ik daar een appart hoofdstuk voor maak.
Het komt er echter op neer dat er drie verschillende categorien zijn:
Ieder van deze drie categorien kan leesrechten, schrijfrechten en uitvoerrechten krijgen op het betreffende bestand.
Je kunt de rechten op een bestand bijvoorbeeld zo instellen dat de eigenaar het bestand mag lezen en schrijven, maar niet mag uitvoeren.
Iedereen die tot de groep behoort waartoe ook het bestand behoort mag het bestand alleen maar lezen.
En de rest van de wereld mag niets doen met het bestand.
Bij mappen heeft het uitvoer recht echter een andere functie.
Hiermee wordt aangegeven of de betreffende gebruiker of groep in de map mag kijken.
Onder Windows zijn we gewend dat elk extern station een eigen drive letter krijgt.
Dit is meteen ook een hele zwakke kant van Windows, je kunt namelijk maximaal 24 drive letters gebruiken.
De letters A en B zijn namelijk gereserveerd voor floppy drives, maar wie heeft die vandaag de dag eigenlijk nog.
Ook is Windows een beetje eigenwijs met het uitdelen van die stationsletters.
De ene keer krijgt een USB station de letter F, de andere keer weer H.
Heb je een netwerk drive gekoppeld op de letter F, en je start je PC op met een USB station reeds aangesloten dan wordt steevast je USB station drive F.
Met als gevolg dat je netwerk drive verborgen is.
Onder Linux kennen we gelukkig geen drive letters, dus kennen we ook de beperkingen niet. Elk extern station wordt gekoppeld aan een lege map, die zich ergens in onze mapstruktuur bevindt. Meestal bevindt die lege map zich in de map /media . Andere Linux smaken gebruiken misschien een andere hoofdmap, maar het principe blijft gelijk.
Vroeger moesten externe stations onder Linux door de super user worden gekoppeld en ontkoppeld. Allemaal onder het mom van systeemveiligheid. Je kon dus niet zomaar bestanden het systeem binnen of buiten smokkelen. Maar ja, tijden veranderen, en Linux moet gebruikersvriendelijker worden. Dus kennen we tegenwoordig de auto mounter, die geheel zelfstandig net aangebrachte schijf stations aankoppelt.
Let op bij het ontkoppelen!
Bij Windows heet dat een station veilig verwijderen.
Onder Linux heet dat ontkoppelen of unmounting.
CD en DVD stations kun je gewoon openen, waarna de auto mounter het station vanzelf ontkoppelt.
Ook een ZIP disk kun je gewoon verwijderen door op het knopje te drukken.
De ZIP drive geeft namelijk aan het systeem aan dat de schijf verwijdert wordt, dus wordt alles wat nog niet naar de schijf geschreven was eerst nog even veilig gesteld.
Helaas hebben USB stations en floppies niet zo'n knopje.
Nee, het knopje op de floppie drive vertelt niet aan het systeem dat de diskette eruit gehaald wordt!
Dus daar moet je als gebruiker zelf even aangeven dat het station verwijderd gaat worden.
Dit doe je bijvoorbeeld door rechts te klikken op het stationsikoon op het bureaublad.
Daar kun je kiezen voor "Volume ontkoppelen".
Er bestaan verschillende bestandssystemen.
Linux gebruikt zijn eigen systeem: ext2, ext3 of ext4 bijvoorbeeld (er zijn nog meer verschillende Linux bestandssystemen namelijk).
Deze bestandssystemen zijn zeer robuust en zeer veilig, maar hebben een klein nadeeltje: ze zijn alleen door Linux te gebruiken.
Daarom hebben USB stations meestal een Windows achtig bestandssysteem, zoals: FAT32 of NTFS.
Die kunnen namelijk zowel door Linux als door Windows gelezen en geschreven worden.
Maar let daarbij wel even op de beperkingen die dit met zich mee brengt!
Op FAT32 en NTFS systemen wordt geen onderscheid gemaakt tussen hoofd en kleine letters in bestandsnamen.
Dus op een extern USB station is het bestand test.txt hetzelfde bestand als Test.txt .
Verder kennen deze bestandssystemen geen eigenaars en rechten, zoals het Linux bestandssysteem dat wel kent.
Eigenlijk is onder Linux elke bestandsnaam een snelkoppeling naar het echte bestand.
Bestanden (en mappen, want dat zijn ook bestanden) worden in Linux namelijk allemaal op een grote hoop gegooid.
Ze krijgen een volgnummer (inode genaamd) en wat attributen toegewezen (waar onder de eigenaar en de rechten).
Speciaal voor ons mensen wordt een naam gekoppeld aan het inode nummer van het bestand, zodat wij mensen het bestand gemakkelijk kunnen terugvinden in die grote hoop.
Een map is dus eigenlijk niet meer dan een lijst met namen met de daaraan gekoppelde inode nummers.
Zo'n snelkoppeling noemen we een hard-link.
Dit principe van snelkoppelingen opent een paar interessante mogelijkheden.
Je kunt namelijk meerdere namen geven aan hetzelfde bestand.
Zodoende kun je zo'n dubbele verwijzing gewoon weggooien, terwijl het bestand nog steeds op de schijf blijft staan en nog steeds bereikbaar is onder die andere naam.
Een bestand wordt pas echt van de schijf verwijderd als er geen namen meer verwijzen naar de betreffende inode en als het bestand gesloten is.
Dus als je een update krijgt van een programma, kan het oude programma nog gewoon verder werken, ook al is het oude bestand eigenlijk al gewist.
Als het programma gesloten wordt, ziet Linux dat er geen namen meer verwijzen naar het oude bestand en dat niemand het oude bestand meer gebruikt.
Pas dan zal het bestand ook daadwerkelijk worden gewist.
Let op!
Twee, of meer, namen geven aan een bestand is dus niet hetzelfde als het bestand backuppen.
Je kunt een van de twee namen gewoon weggooien (per ongeluk), en het bestand staat nog steeds gewoon op je schijf onder die andere naam.
Maar als je het ene bestand wijzigt, of per ongeluk overschijft met gegevens uit een ander bestand, dan is het bestand onherroepelijk gewijzigd.
Dus ook als je het bestand via de andere naam of namen benadert.
Hard-links hebben een nadeel: ze kunnen alleen verwijzen naar bestanden op de huidige fysieke disk.
Een bestandsnaam op bijvoorbeeld de systeem harde schijf kan niet verwijzen naar een bestand wat op een CD-ROM staat.
Daarom hebben ze ook het soft-link systeem toegevoegd.
Dit systeem lijkt meer op de Windows snelkoppelingen.
Een soft-link verwijst dus niet naar een inode, maar naar de bestandsnaam van een reeds bestaand bestand.
Gooi je het echte bestand weg, dan wijst de soft-link dus naar een niet meer bestaand bestand!
Het voordeel van een soft-link is dus dat je kunt verwijzen naar elk ander bestand, waar dan ook in je totale mapstruktuur.
Ook voor snelkoppelingen naar een hele map moet je teruggrijpen naar soft-links, omdat een hard-link naar een map niet mogelijk is.
| Vorige | Begin | Volgende |