Η Μεταβλητή PATH
Εκτός από τις ενδογενείς εντολές, οι υπόλοιπες εντολές και τα εκτελέσιμα προγράμματα έχουν φυσική υπόσταση στο σύστημα αρχείων του Linux. Το σύστημα αρχείων του Linux, όπως θα δούμε και σε επόμενο κεφάλαιο, οργανώνει τα αρχεία σε καταλόγους. Έτσι τα εκτελέσιμα αρχεία – οι εντολές και τα προγράμματα – βρίσκονται σε καταλόγους όπως /bin, /sbin, /usr/bin, /usr/sbin, κοκ. Αντίθετα, τα αρχεία ρυθμίσεων βρίσκονται στον κατάλογο /etc, ενώ οι βιβλιοθήκες στους καταλόγους /lib, /usr/lib. Το κέλυφος θα πρέπει να ξέρει σε ποιο κατάλογο θα αναζητήσει τις εντολές που θα του ζητήσουμε να εκτελέσει, ή αλλιώς ποια διαδρομή θα χρησιμοποιήσει για να βρεί την εκάστοτε εντολή. Αυτό επιτυγχάνεται με τη μεταβλητή περιβάλλοντος (environment variable) PATH.
Η μεταβλητή PATH περιέχει μια λίστα κάποιων καταλόγων στους οποίους το κέλυφος θα αναζητά διαδοχικά οποιαδήποτε εντολή ή πρόγραμμα του ζητήσουμε να εκτελέσει. Κάθε κέλυφος μπορεί να έχει διαφορετική τιμή για τη μεταβλητή PATH, την οποία κληροδοτεί στα προγράμματα, κελύφη ή σενάρια κελύφους που εκτελεί. Αυτό σημαίνει ότι ένα σενάριο κελύφους που θα εκτελέσετε θα “βλέπει” τις ίδιες εντολές με το κέλυφος από το οποίο καλέστηκε.
Στην περίπτωση που ένας κατάλογος δεν υπάρχει μέσα στη μεταβλητή PATH, οποιοδήποτε εκτελέσιμο πρόγραμμα ή εντολή σε αυτόν, θα πρέπει να κληθεί με την πλήρη διαδρομή (full path).Για παράδειγμα, για να εκτελέσει ένας απλός χρήστης την εντολή ifconfig, στην οποία έχει άμεση πρόσβαση μόνο ο χρήστης root1, θα πρέπει να δώσει στην προτροπή του κελύφους:
$ /sbin/ifconfig
Επίσης για να εκτελεστεί ένα πρόγραμμα που βρίσκεται στον τρέχοντα κατάλογο θα πρέπει θα χρησιμοποιηθεί το πρόθεμα “./”. Το ”./” είναι η διαδρομή ενός αρχείο στον τρέχοντα κατάλογο. Θα μπορούσε κάποιος να το προσθέσει στη μεταβλητή PATH, αλλά αυτή η τεχνική δε συνιστάται καθώς αφήνει περιθώρια για “Δούρειους Ίππους” (trojan horses), προγράμματα δηλαδή που έχουν ως σκοπό το συμβιβασμό της ασφάλειας του συστήματος.
Η προκαθορισμένη τιμή της μεταβλητής PATH για ένα απλό χρήστη είναι η εξής:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games
ενώ για το χρήστη root:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
Ο χρήστης root έχει επιπλέον και τους καταλόγους sbin (που περιέχουν εντολές και προγράμματα απαραίτητα για την διαχείριση του συστήματος, αλλά περιττά ή και επικίνδυνα για έναν απλό χρήστη). Αυτά ισχύουν για το Debian GNU/Linux. Άλλες διανομές ή λειτουργικά συστήματα πιθανόν να έχουν διαφορετικές προκαθορισμένες τιμές για την διαδρομή PATH.
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