java:path

H έννοια του μονοπατιού

Ένα σύστημα αρχείων αποθηκεύει και οργανώνει αρχεία σε κάποια μορφή μέσων, κυρίως ένα ή περισσότερους σκληρούς δίσκους, κατά τέτοιο τρόπο ώστε να μπορούν εύκολα να ανακτηθούν. Τα περισσότερα συστήματα αρχείων που χρησιμοποιούνται σήμερα αποθηκεύουν τα αρχεία σε μία δομή δέντρου (ή ιεραρχική). Στην κορυφή του δέντρου είναι ένας (ή περισσότεροι) κόμβοι ρίζα. Κάτω από τον κόμβο ρίζα, υπάρχουν αρχεία και διευθύνσεις (φακέλοι στα Microsoft Windows). Κάθε διεύθυνση μπορεί να περιέχει αρχεία και υποδιευθύνσεις, οι οποίες με τη σειρά τους μπορεί να περιέχουν αρχεία και υποδιευθύνσεις, και ούτω καθεξής, ενδεχομένως σε σχεδόν απεριόριστο βάθος.

Τι είναι το Μονοπάτι?

Η παρακάτω εικόνα δείχνει ένα δείγμα δέντρου διεύθυνσης που περιέχει ένα μόνο κόμβο. Το λειτουργικό σύστημα Microsoft Windows υποστηρίζει πολλαπλούς κόμβους ρίζα. Κάθε κόμβος ρίζας αντιστοιχίζεται σε έναν τόμο, όπως C: \ ή D: \. Το Solaris υποστηρίζει ένα μόνο κόμβο ρίζα, ο οποίος συμβολίζεται με το χαρακτήρα καθέτου, /.

Ένα αρχείο προσδιορίζονται από το μονοπάτι του μέσα στο σύστημα αρχείων, ξεκινώντας από τον κόμβο της ρίζας. Για παράδειγμα, το αρχείο statusReport στην παρπάνω εικόνα περιγράφεται από την ακόλουθη σημειογραφία στο λειτουργικό σύστημα Solaris:

/home/sally/statusReport

Στα Microsoft Windows, το statusReport περιγράφεται από την ακόλουθη σημειογραφία:

C:\home\sally\statusReport

Ο χαρακτήρας που χρησιμοποιείται για να διαχωρίσει τα ονόματα των διευθύνσεων (γνωστό και ως διαχωριστικό) είναι συγκεκριμένο για το σύστημα αρχείων: Το λειτουργικό σύστημα Solaris χρησιμοποιεί την κάθετο (/), και το Microsoft Windows χρησιμοποιεί την backslash κάθετο (\).

Σχετικό ή απόλυτο?

Ένα μονοπάτι είναι είτε σχετικό ή απόλυτο. Ένα απόλυτο μονοπάτι περιέχει πάντα το στοιχείο της ρίζας και την πλήρη λίστα διευθύνσεων που απαιτείται για να εντοπιστεί το αρχείο. Για παράδειγμα, το / home / Sally / statusReport είναι μια απόλυτη διαδρομή. Όλες οι πληροφορίες που χρειάζονται για να εντοπιστεί το αρχείο περιέχονται στην συμβολοσειρά του μονοπατιού.

Ένα σχετικό μονοπάτι πρέπει να συνδυαστεί με ένα άλλο μονοπάτι για να αποκτήσουμε πρόσβαση σε ένα αρχείο. Για παράδειγμα, το Joe / foo είναι ένα σχετικό μονοπάτι. Χωρίς περισσότερες πληροφορίες, ένα πρόγραμμα δεν μπορεί να εντοπίσει αξιόπιστα την διεύθυνση Joe / foo στο σύστημα αρχείων.

Τα αντικείμενα του συστήματος αρχείων είναι ως επί το πλείστον διευθύνσεις ή αρχεία. Όμως κάποια συστήματα αρχείων υποστηρίζουν επίσης την λογική των symbolic links. Το symbolic link μπορεί να αναφέρεται και ως symlink ή soft link.

Ένα symbolic link είναι ένα ειδικό αρχείο που χρησιμεύει ως αναφορά σε ένα άλλο αρχείο. Γενικά, τα symbolic links είναι ανοιχτά για τις εφαρμογές, και οι εργασίες πάνω σε symbolic links μεταφέρονται αυτόματα στον προορισμό του συνδέσμου. Εξαιρέσεις αποτελούν όταν ένα symbolic link έχει διαγραφεί ή μετονομαστεί, οπότε διαγράφεται ή μετονομάζεται το ίδιο το link και όχι ο προορισμός του link.

Στην παρακάτω εικόνα, το logFile φαίνεται να είναι ένα κανονικό αρχείο στο χρήστη, αλλά στην πραγματικότητα είναι ένα symbolic link στην διεύθυνση dir / logs / HomeLogFile. Το HomeLogFile είναι ο προορισμός του link.

Ένα symbolic link είναι συνήθως διαφανές στο χρήστη. Η ανάγνωση ή η εγγραφή σε ένα symbolic link είναι το ίδιο με την ανάγνωση ή γραφή σε οποιοδήποτε άλλο αρχείο ή κατάλογο.

Η φράση επίλυση ενός link σημαίνει να υποκαταστήσει την πραγματική θέση στο σύστημα αρχείων για το symbolic link. Στο παράδειγμα, η επίλυση του logFile έχει σαν αποτέλεσμα το dir / logs / HomeLogFile.

Στα real-world σενάρια, τα περισσότερα συστήματα αρχείων κάνουν φιλελεύθερη χρήση των symbolic links. Περιστασιακά, ένα απρόσεκτα δημιουργημένο symbolic link μπορεί να προκαλέσει μια κυκλική αναφορά. Μια κυκλική αναφορά εμφανίζεται όταν ο προορισμός ενός link οδηγεί πίσω στo αρχική link. Η κυκλική αναφορά μπορεί να είναι έμμεση: η διεύθυνση a δείχνει στην διεύθυνση b, η οποία παραπέμπει στην διεύθυνση c, η οποία περιέχει μια υποδιεύθυνση προς τα πίσω στην διεύθυνση α. Οι κυκλικές αναφορές μπορούν να προκαλέσουν τον όλεθρο, όταν ένα πρόγραμμα αναδρομικά ακολουθεί μια δομή διευθύνεων. Ωστόσο, το σενάριο αυτό ελήφθη υπόψη στους και δεν θα προκαλέσει το πρόγραμμά σας σε βρόχο απείρως.

java/path.txt · Last modified: 2016/02/26 11:15 (external edit)