Bestanden zijn een faciliteit voor het opslaan en het organiseren van informatie, analoog aan papieren documenten. Ze zijn in directory's georganiseerd, wat op een aantal andere systemen folders wordt genoemd. Laten we eens kijken naar de organisatie van bestanden op een Debian-systeem:
Een simpele / stelt de root-directory voor. Alle andere bestanden en directory's bevinden zich in de root-directory. Als je uit de DOS/Windows wereld komt, is / zeer vergelijkbaar met wat C: voor DOS is, dat is de root van het bestandssysteem. Een opmerkelijk verschil tussen DOS en Linux is echter, dat DOS verscheidene bestandssystemen bijhoudt: C: (de eerste harddisk), A: (het eerste diskettestation), D: (óf de CD-ROM, óf de tweede harddisk) terwijl Linux alle bestanden onder dezelfde / root heeft georganiseerd. Zie de paragraaf mount en /etc/fstab in Hoofdstuk 13 voor meer details.
Dit is de home-directory van gebruiker "janeq". Lezend van links naar rechts, begin je om bij deze directory te komen in de root-directory, ga je van daaruit naar home, en dan naar janeq.
Dit is het configuratiebestand voor het X Window Systeem. Het komt voor in de X11 subdirectory van de /etc directory. /etc is op zijn beurt een subdirectory van de root-directory /.
Wat opmerkingen:
Bestandsnamen zijn hoofdlettergevoelig. Dat wil zeggen dat MYFILE en MyFile verschillende bestanden zijn.
De root-directory verwijst eenvoudig naar /. Verwar deze "root" niet met de root-gebruiker, de gebruiker op je systeem met "super bevoegdheden".
Iedere directory heeft een naam welke kan bestaan uit alle letters of symbolen, behalve de /. De root-directory vormt daarop een uitzondering; zijn naam is / (uitgesproken als "slash" of "de root-directory") en het kan niet worden hernoemd.
Ieder bestand of iedere directory wordt aangeduid met een volledig gekwalificeerde bestandsnaam (FQN), absolute bestandsnaam, of pad, waarin de reeks directory's wordt aangegeven die moet worden doorlopen om het te bereiken. De drie termen zijn synoniem. Alle absolute bestandsnamen beginnen met de / directory, en er staat een / tussen iedere directory of bestand in de bestandsnaam. De eerste / is de naam van een directory, maar de anderen zijn eenvoudigweg scheidingstekens om de delen van de bestandsnaam van elkaar te onderscheiden.
De hier gebruikte woorden kunnen verwarrend zijn. Neem het volgende voorbeeld:
/usr/share/keytables/us.map.gz |
Directories zijn in een boomstructuur gearrangeerd. Alle absolute bestandsnamen beginnen bij de root-directory. De root-directory heeft een aantal onderverdelingen, zoals /etc en /usr. Deze subdirectory's zijn op hun beurt in nog meer subdirectory's onderverdeeld, zoals /etc/init.d en /usr/local. Het geheel wordt de "directory-structuur" genoemd.
Je kunt aan een absolute bestandsnaam denken als een route van de basis van een boom (/) naar het einde van een tak (een bestand). Je zal mensen er ook over horen praten alsof de directory-structuur een familie-stamboom is: dus subdirectory's hebben "ouders" en een pad toont de complete afstamming van een bestand.
Er zijn ook relatieve paden die ergens anders beginnen dan vanuit de root-directory. Hierover later meer.
Er is geen directory die met een fysiek device, zoals je harddisk correspondeert. Dit verschilt van DOS en Windows, waar alle paden met de naam van een apparaat, zoals C:\ beginnen. De directory-structuur is bedoeld als een afgeleide van de fysieke hardware, dus je kunt het systeem gebruiken zonder te weten wat de hardware is. Al je bestanden zouden zich op één disk kunnen bevinden -- of je zou 20 disks kunnen hebben, waarvan een aantal met een andere computer elders op het netwerk zijn verbonden. Dit is niet uit de directory-structuur op te maken, en bijna alle opdrachten werken op dezelfde manier ongeacht de fysieke apparaten waarop je bestanden zich in feite bevinden.
Maak je er geen zorgen om als het je nog niet helemaal duidelijk is. Er komen nog heel veel voorbeelden.
| [1] | Ondanks dat je bijna alle letters of symbolen in een bestandnaam kunt gebruiken, is het in de praktijk een slecht idee. Het is beter tekens te vermijden, die op de opdrachtregel vaak speciale betekenissen hebben, waaronder { } ( ) [ ] ' ` " \ / > < | ; ! # & ^ * % @. Voormijd in bestandsnamen ook het plaatsen van spaties. Als je woorden in een naam van elkaar wilt scheiden, zijn de punt, het koppelteken, en de underscore goede keuzes. Je zou ook ieder woord met een hoofdletter kunnen laten beginnen. ZoalsDit. |
| [2] | Er is ook nog een ander gebruik voor het woord "path" . De bedoelde betekenis blijkt vaak duidelijk uit de context. |