Απόλυτες και Σχετικές Διαδρομές, Τρέχων Κατάλογος
Όπως είδαμε και στο προηγούμενο παράδειγμα, η εντολή ls επέστρεψε τα περιεχόμενα του βασικού καταλόγου /. Αυτό συνέβη γιατί ο τρέχων κατάλογος του κελύφους και συνεπώς και της εντολής ήταν ο κατάλογος /. Τί ακριβώς όμως σημαίνει τρέχων κατάλογος;
Κάθε αρχείο αναγνωρίζεται στο σύστημα από τη μοναδική του διαδρομή (path) στο σύστημα αρχείων. Δηλαδή υπάρχει μόνο ένα αρχείο που βρίσκεται στον κατάλογο /etc και έχει όνομα passwd. Η διαδρομή του αρχείου αυτού είναι /etc/passwd. Το ίδιο ισχύει και για τους καταλόγους, λόγου χάριν ο κατάλογος /var/log είναι μοναδικός στο σύστημα. Έτσι για να έχουμε πρόσβαση σε κάποιο αρχείο ή κατάλογο θα πρέπει να το προσπελάσουμε χρησιμοποιώντας την διαδρομή του. Αν πρόκειται για ένα αρχείο όπως το /etc/passwd αυτό είναι αρκετά εύκολο. Τί γίνεται όμως αν έχουμε να κάνουμε με αρχεία όπως /var/log/very/long/path/verylongfilename.log; Κάτι τέτοιο γίνεται κουραστικό, ειδικά για μεγάλο αριθμό αρχείων. Αλλά υπάρχει και ένα άλλο πρόβλημα, καθώς τα προγράμματα συνήθως πρέπει να είναι σχεδιασμένα έτσι ώστε να μπορούν να εκτελεστούν χωρίς να παίζει ρόλο σε ποιο κατάλογο τρέχουν. Εξάλλου, τα ίδια προγράμματα θα πρέπει να μπορούν να τρέξουν σε άλλες αρχιτεκτονικές που χρησιμοποιούν διαφορετικό σχήμα καταλόγου.
Για αυτό το σκοπό ορίστηκαν οι σχετικές διαδρομές σε αντιπαραβολή με τις απόλυτες διαδρομές (relative και asbolute paths). Η διαφορά είναι ότι για τις σχετικές διαδρομές είναι απαραίτητος και ο ορισμός ενός σημείου αναφοράς. Χωρίς το σημείο αναφοράς δεν είναι δυνατός ο καθορισμός της θέσης του αρχείου με μονοσήμαντο τρόπο. Στην ουσία, το σημείο αναφοράς είναι ένας κατάλογος του δέντρου καταλόγων (directory tree) του συστήματος στο οποίο μετακινούμαστε κατά βούληση μέσα στο κέλυφος, έχοντας ως αρχή τον βασικό κατάλογο “/”. Αυτό το σημείο αναφοράς ονομάζεται Τρέχων Κατάλογος (current directory). Κάθε κέλυφος έχει έναν τρέχοντα κατάλογο, τον οποίο μπορούμε να μάθουμε με την εντολή pwd.
feanor@silmaril:/home/feanor$ pwd /home/feanor
Για παράδειγμα, η διαδρομή /var/log/syslog είναι απόλυτη, ενώ σχετική είναι η διαδρομή log/syslog, με τρέχοντα κατάλογο το /var. Εδώ πρέπει να τονισθεί ότι οι σχετικές διαδρομές εξαρτώνται πάντοτε από τον τρέχοντα κατάλογο του κελύφους.
Έτσι, κάθε πρόγραμμα ή εντολή που εκτελείται, χρησιμοποιεί ως σημείο αναφοράς τον τρέχοντα κατάλογο και έχει πρόσβαση στα αρχεία του καταλόγου αυτού χωρίς να χρησιμοποιεί το πλήρες όνομά τους. Αυτό έχει το πλεονέκτημα ότι μεταφέροντας το πρόγραμμα αυτό σε κάποιο άλλο κατάλογο του ίδιου ή ακόμη και διαφορετικού συστήματος με διαφορετική δομή καταλόγων, θα τρέξει χωρίς πρόβλημα.
Στο UNIX έχει οριστεί ένας ειδικός συμβολισμός για τον τρέχοντα κατάλογο, η τελεία “.”. Έτσι κάθε αρχείο file του τρέχοντος καταλόγου μπορεί να προσπελαστεί με το όνομα ./file.
Με το ίδιο σκεπτικό, έχει οριστεί να συμβολίζεται και ο γονικός κατάλογος (δηλαδή ο κατάλογος πρίν από τον τρέχοντα στο δέντρο δομής καταλόγων, parent directory) με δύο τελείες “..”.
Για παράδειγμα, αν ο τρέχων κατάλογος είναι /var/log, το αρχείο syslog μπορεί να προσπελαστεί ως ./syslog, ενώ ο γονικός κατάλογος είναι /var.
Αντίστοιχα, αν ο τρέχων κατάλογος είναι πάλι /var/log, το αρχείο /var/mail/root μπορεί να προσπελαστεί ως ../mail/root.
Active forum topics
- Wake up from suspend mode failed
- Οργάνωση στις μεταφράσεις των ελληνικών στο Debian.
- απορια σχετικα με nvidia440
- πρόβλημα εγκατάστασης nvidia driver GTS250.
- kernel 2.6.38 για squeeze
- Gnome3
- 2 μήνες σπασμένο το upgrade σε unstable [SOLVED]
- Οι χρήστες του Internet Explorer είναι χαζοί;
- Debian Lenny + Nvidia drivers
- εγκατασταση usb cosmote
New forum topics
Νέοι χρήστες
- kountp
- Adonthegreat
- giorgos_m
- prodromos
- airmaik
Οι πιο πρόσφατες καταχωρίσεις blog.
- Fosscomm 2012
- armhf officially into Debian!
- back from UDS/Linaro Connect...
- FTF is over, Linaro Interview
- straight from FTF 2011, San Antonio...
- Όσο μεγαλώνεις μαθαίνεις...
- Emdebian 2011 Sprint report, Genesi Europe store goes online...
- Θεσσαλονίκη - open source ERP workshop
- Χρήσιμο URL για Flash Cards και Linux filesystems
- Cambridge, UK, ARM HQ for Emdebian 2011 Sprint