Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου
Κατάλογοι πολλαπλών επιπέδων
Όταν το σύστημα αρχείων οργανώνει τους καταλόγους σε πολλά επίπεδα, κάθε κατάλογος μπορεί να περιέχει άλλους καταλόγους, αλλά και αρχεία. Όταν ο κατάλογος Α περιέχει τον κατάλογο Β, ονομάζουμε τον Β υποκατάλογο (subdirectory) του Α και τον Α κατάλογο-πατέρα (parent directory) του Β. Έτσι δημιουργείται ένα «δένδρο» καταλόγων, όπου ο υποκατάλογος είναι «παρακλάδι» του καταλόγου που τον περιέχει και ο κεντρικός πίνακας καταλόγων του συστήματος αρχείων παίζει το ρόλο της ρίζας (root directory).
Στην οργάνωση του συστήματος αρχείων που φαίνεται στο σχήμα της επόμενης σελίδας, ο κατάλογος-ρίζα περιέχει δυο βασικούς καταλόγους: ένα για τα αρχεία του ΛΣ και ένα για τα αρχεία των χρηστών. Ο κατάλογος για τα αρχεία των χρηστών περιέχει διάφορα αρχεία, και από έναν υποκατάλογο για κάθε χρήστη. Ο Νίκος π.χ. κρατά όλα τα αρχεία του στον κατάλογο που έχει το όνομά του. Για τα αρχεία όμως που περιέχουν μουσικά κομμάτια έχει φτιάξει ένα ξεχωριστό υποκατάλογο, με το όνομα «Μουσική»· το ίδιο έχει κάνει και για τα κείμενα που γράφει.
Για να προσδιορίσουμε ένα αρχείο σε ένα σύστημα καταλόγων με πολλά επίπεδα, πρέπει να δώσουμε μια σειρά από ονόματα καταλόγων, ξεκινώντας από τον κατάλογο-ρίζα, τα οποία προσδιορίζουν τον τελικό κατάλογο όπου βρίσκεται το αρχείο. Αυτή η σειρά από ονόματα καταλόγων αποκαλείται διαδρομή ή μονοπάτι (path). Στα πιο πολλά ΛΣ μια διαδρομή δίνεται χωρίζοντας τα ονόματα των καταλόγων με κάποιο ειδικό χαρακτήρα, π.χ. «/» (όπως στο Unix) ή «\» (όπως στο DOS και τα Windows). Ο ειδικός χαρακτήρας αυτός μόνος του (ή στην αρχή μιας διαδρομής) συμβολίζει τον κατάλογο-ρίζα.
Η Μαρία έχει μια φωτογραφία στο αρχείο με όνομα «photo», μέσα στον κατάλογο με τις εικόνες. Η διαδρομή προς το αρχείο αυτό είναι: Κατάλογος-ρίζα -> Χρήστες -> Μαρία -> Εικόνες -> photo. Αν τα ονόματα των καταλογών χωρίζονται με το χαρακτήρα «\», η διαδρομή θα είναι «\Χρήστες\Μαρία\Εικόνες\photo». Τα ονόματα αρχείων και καταλόγων με ελληνικούς χαρακτήρες δεν επιτρέπονται σε όλα τα ΛΣ. Ο μεταγλωττιστής της γλώσσας Pascal, που έχει το όνομα «pascal» θα κρατείται με τα αρχεία του ΛΣ, στον κατάλογο των μεταγλωττιστών. Η διαδρομή που προσδιορίζει το μεταγλωττιστή είναι: Κατάλογος-ρίζα —> ΛΣ —> Μεταγλωττιστές -> pascal.
Οι διαδρομές αυτές που περιγράψαμε ορίζονται πάντα ως προς τον κατάλογο-ρίζα, είναι λοιπόν απόλυτες διαδρομές (absolute paths). Μπορεί όμως να θέλουμε να ορίσουμε μια διαδρομή ως προς έναν άλλο κατάλογο, να ορίσουμε δηλαδή μια σχετική διαδρομή (relative path).
Ο Νίκος θέλει να ορίσει τον κατάλογο που κρατά τα κείμενά του ως προς τον κατάλογο των χρηστών. Για το σκοπό αυτό θα ακολουθήσει το μονοπάτι του δένδρου από τον κατάλογο «Χρήστες» έως τον κατάλογο «Κείμενα», το οποίο είναι: Χρήστες —> Νίκος —> Κείμενα. Αν τα ονόματα των καταλόγων χωρίζονται με τον ειδικό χαρακτήρα «/», το σχετικό μονοπάτι θα είναι «Νίκος/Κείμενα». Αυτό προκύπτει εύκολα αν αφαιρέσουμε από την απόλυτη διαδρομή «/Χρήστες/Νίκος/Κείμενα» την απόλυτη διαδρομή /Χρήστες».
Είναι λοιπόν απλό να ορίσουμε μια σχετική διαδρομή που διασχίζει το δένδρο των καταλόγων από τη ρίζα προς τα «φύλλα». Τι κάνουμε όμως αν θέλουμε να διασχίσουμε το δένδρο από τα «φύλλα» προς τη ρίζα; Για το σκοπό αυτό, κάθε κατάλογος έχει ένα υποθετικό υποκατάλογο, με όνομα π.χ. «..», που παριστάνει τον κατάλογο-πατέρα του. Όταν σε μια σχετική διαδρομή εμφανίζεται αυτός ο υποκατάλογος, τότε η διαδρομή διασχίζει το δένδρο προς τη ρίζα. Αυτή η μέθοδος χρησιμοποιείται τόσο στα ΛΣ DOS/Windows όσο και στο Unix.
Ο κατάλογος μουσικής του Νίκου σε σχέση με τον κατάλογο του των κειμένων (Κείμενα -> Νίκος -> Μουσική) περιγράφεται από τη σχετική διαδρομή «..\Μουσική», ενώ η απόλυτη διαδρομή για αυτόν είναι η «\Χρήστες\Νίκος\Μουσική».
Αν θέλουμε να ορίσουμε το μεταγλωττιστή της Pascal ως προς τον κατάλογο της Μαρίας που περιέχει τα προγράμματά της, πρέπει να διατρέξουμε το δένδρο ως εξής: Προγράμματα -> Μαρία -> Χρήστες -> Κατάλογος-ρίζα -> ΛΣ -> Μεταγλωττιστές. Κάθε μετάβαση προς τη ρίζα στη διαδρομή αυτή παριστάνεται με τον κατάλογο «..». Αν λοιπόν οι κατάλογοι χωρίζονται με το σύμβολο «\», η σχετική διαδρομή αυτή είναι «..\..\..\ΛΣ\Μεταγλωττιστές», και είναι ισοδύναμη με την απόλυτη διαδρομή «\ΛΣ\Μεταγλωττιστές».