Sobes.tech
Senior

Πού αποθηκεύονται τα ονόματα αρχείων σε έναν κατάλογο στο Linux;

sobes.tech AI

Απάντηση από AI

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

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

Έτσι, τα ονόματα αρχείων αποθηκεύονται στις καταχωρίσεις του καταλόγου, που περιέχουν ζεύγη (όνομα αρχείου, inode). Όταν το σύστημα αναζητά ένα αρχείο, περιηγείται σε αυτές τις καταχωρίσεις, βρίσκει το απαραίτητο όνομα και λαμβάνει το αντίστοιχο inode για πρόσβαση στο περιεχόμενο.

Αυτό επιτρέπει να υπάρχουν πολλά ονόματα (σύνδεσμοι σκληροί) για ένα ίδιο inode, δηλαδή ένα αρχείο μπορεί να έχει πολλά ονόματα σε διαφορετικούς καταλόγους.