Συνιστάται, 2024

Επιλογή Συντάκτη

Διαφορά μεταξύ του σκληρού συνδέσμου και του μαλακού συνδέσμου

Οι σύνδεσμοι στο Unix είναι ουσιαστικά οι δείκτες που συσχετίζονται με τα αρχεία και τους καταλόγους. Η μεγάλη διαφορά μεταξύ ενός σκληρού συνδέσμου και ενός μαλακού συνδέσμου είναι ότι ο σκληρός σύνδεσμος είναι η άμεση αναφορά στο αρχείο ενώ η μαλακή σύνδεση είναι η αναφορά με το όνομα που σημαίνει ότι δείχνει ένα αρχείο με όνομα αρχείου.

Ο σκληρός σύνδεσμος συνδέει τα αρχεία και τους καταλόγους στο ίδιο σύστημα αρχείων, αλλά ο μαλακός σύνδεσμος μπορεί να διασχίσει τα όρια του συστήματος αρχείων.

Πριν από την κατανόηση των συνδέσεων θα πρέπει πρώτα να καταλάβουμε inode, ένα inode είναι μια δομή δεδομένων που αποτελείται από μεταδεδομένα για το αρχείο, όπως η ημερομηνία δημιουργίας αρχείου, οι εξουσιοδοτήσεις αρχείων, ο κάτοχος του αρχείου και άλλα.

Συγκριτικό διάγραμμα

Βάση σύγκρισηςΣκληρός κρίκος
Μαλακός σύνδεσμος
ΒασικόςΈνα αρχείο μπορεί να αποκτηθεί μέσω πολλών διαφορετικών ονομάτων γνωστών ως σκληροί σύνδεσμοι.Ένα αρχείο μπορεί να προσπελαστεί μέσω διαφορετικών αναφορών που δείχνουν ότι το αρχείο αυτό είναι γνωστό ως μαλακός σύνδεσμος.
Επικύρωση συνδέσμου, όταν διαγραφεί το αρχικό αρχείοΕξακολουθεί να ισχύει και το αρχείο μπορεί να έχει πρόσβαση.
Μη έγκυρο
Εντολή που χρησιμοποιείται για δημιουργίαln
ln -s
inode numberΙδιο
Διαφορετικός
Μπορεί να συνδεθείΣτο δικό του διαμέρισμα.Σε οποιοδήποτε άλλο σύστημα αρχείων ακόμα και σε δίκτυο.
Κατανάλωση μνήμηςΠιο λιγοΠερισσότερο
Σχετική διαδρομήΔεν εφαρμόζεταιΕπιτρέπεται

Ορισμός του σκληρού συνδέσμου

Οι σκληροί σύνδεσμοι συνδέουν απευθείας δύο αρχεία στο ίδιο σύστημα αρχείων και για την αναγνώρισή τους χρησιμοποιεί τον αριθμό inode του αρχείου. Οι σκληροί σύνδεσμοι δεν μπορούν να υλοποιηθούν σε καταλόγους (διότι δείχνουν inode). Όταν η εντολή " ln " χρησιμοποιείται για τη δημιουργία ενός σκληρού συνδέσμου, δημιουργεί ένα άλλο αρχείο στη γραμμή εντολών που μπορεί να χρησιμοποιηθεί για την αναφορά του αρχικού αρχείου. Τόσο το αρχικό όσο και το δημιουργούμενο αρχείο έχουν το ίδιο inode και περιεχόμενο. Ως εκ τούτου, θα έχουν τα ίδια δικαιώματα και τον ίδιο ιδιοκτήτη.

Η αφαίρεση του αρχικού αρχείου δεν επηρεάζει το σκληρά συνδεδεμένο αρχείο και θα παραμείνει ένα σκληρά συνδεδεμένο αρχείο. Το inode έχει ένα μετρητή, για να υπολογίσει τον αριθμό των σκληρών δεσμών στον εαυτό του. Όταν ο μετρητής υποδεικνύει τιμή 0, τότε το inode αδειάζει. Κάθε φορά που κάνετε αλλαγές στον σκληρό σύνδεσμο, θα μιμηθεί στο αρχικό αρχείο.

Ορισμός της μαλακής σύνδεσης

Οι μαλακοί σύνδεσμοι είναι συνήθως μια εναλλακτική διαδρομή (ή ένα ψευδώνυμο) για το αρχικό αρχείο. αυτά αναφέρονται επίσης ως συμβολικοί δεσμοί . Περιλαμβάνει το όνομα του αρχείου προορισμού του συνδέσμου, το οποίο δηλώνει ότι είναι ένας μαλακός σύνδεσμος. Όταν προσεγγίζεται ένα αρχείο, ο μαλακός σύνδεσμος τον ανακατευθύνει στο αρχείο προορισμού μέσω της διαδρομής που είναι γραμμένη στο θέμα του μαλακού συνδέσμου.

Αυτά είναι πολύ χρήσιμα στην περίπτωση των λειτουργικών συστημάτων των Windows, όπου ο μαλακός σύνδεσμος συμπεριφέρεται ως συντομεύσεις. Η δημιουργία και η διαγραφή των μαλακών συνδέσμων δεν επηρεάζουν το πρωτότυπο αρχείο. Εάν διαγραφεί το αρχείο προορισμού, ο μαλακός σύνδεσμος κρέμεται, πράγμα που σημαίνει ότι δεν δείχνει πουθενά και δημιουργεί ένα μήνυμα σφάλματος κατά την πρόσβαση στο αρχείο προορισμού. Οι μαλακοί σύνδεσμοι δεν χρησιμοποιούν τον αριθμό inode, αντίθετα με τον σκληρό σύνδεσμο. Μια απόλυτη ή μια σχετική πορεία θα μπορούσε να αποτελέσει μέρος των συμβολικών δεσμών.

Βασικές διαφορές μεταξύ του σκληρού συνδέσμου και της μαλακής σύνδεσης

  1. Ένας σκληρός σύνδεσμος είναι ένα πρόσθετο όνομα του αρχικού αρχείου το οποίο αναφέρεται inode για να αποκτήσει πρόσβαση στο αρχείο προορισμού. Σε αντίθεση, ο μαλακός σύνδεσμος είναι διαφορετικός από το αρχικό αρχείο και είναι ένα ψευδώνυμο στο αρχικό αρχείο αλλά δεν χρησιμοποιεί inode.
  2. Όταν ένα αρχικό αρχείο παίρνει διαγραφεί, ο μαλακός σύνδεσμος καθίσταται άκυρος, ενώ ένας σκληρός σύνδεσμος είναι έγκυρος ακόμα και αν διαγραφεί το αρχείο προορισμού.
  3. Στο Linux, η εντολή που χρησιμοποιείται για τη δημιουργία του σκληρού συνδέσμου είναι " ln ". Αντιθέτως, η εντολή που χρησιμοποιείται για μια μαλακή ζεύξη είναι " ln -s ".
  4. Ο σκληρός σύνδεσμος έχει τον ίδιο αριθμό inode ανόμοια με τη μαλακή σύνδεση, όπου το αρχείο στόχου και ο μαλακός σύνδεσμός του έχουν ξεχωριστό αριθμό inode.
  5. Οι σκληροί σύνδεσμοι περιορίζονται στα δικά τους διαμερίσματα, αλλά οι μαλακοί σύνδεσμοι μπορούν να καλύπτουν διαφορετικά συστήματα αρχείων.
  6. Η απόδοση του σκληρού συνδέσμου είναι καλύτερη σε σχέση με τη μαλακή σύνδεση σε ορισμένες περιπτώσεις.
  7. Η σχετική διαδρομή και η απόλυτη διαδρομή επιτρέπονται και στους μαλακούς συνδέσμους. Αντίθετα, η σχετική διαδρομή δεν επιτρέπεται σε έναν σκληρό σύνδεσμο.

συμπέρασμα

Ένας σκληρός σύνδεσμος δεν απαιτεί επιπλέον χώρο και επιλύει το ματ πιο γρήγορα, αλλά οι αλλαγές που εφαρμόζονται σε έναν σκληρό σύνδεσμο αντανακλούν στο αρχικό αρχείο. Από την άλλη πλευρά, ο μαλακός σύνδεσμος χρειάζεται επιπλέον χώρο, αλλά οποιαδήποτε αλλαγή στον μαλακό σύνδεσμο δεν επηρεάζει το πρωτότυπο αρχείο. Οι μαλακοί σύνδεσμοι επιτρέπονται στους καταλόγους σε αντίθεση με τον σκληρό σύνδεσμο.

Top