Δομή του λειτουργικού συστήματος Linux Linux Linux. Δομή συστήματος αρχείων Linux

Παρά το γεγονός ότι ο κύριος σκοπός του συστήματος αρχείων είναι να οργανώσει αποθηκευμένους πόρους, οι προγραμματιστές δεν θα ήθελαν πραγματικά να «εφεύρουν ξανά τον τροχό» για να διαχειριστούν αντικείμενα άλλων τύπων. Στο Linux, τα αντικείμενα του συστήματος αρχείων είναι: διεργασίες, συσκευές, δομές και ρυθμίσεις δεδομένων πυρήνα, κανάλια επικοινωνίας μεταξύ εργασιών, φάκελοι και, φυσικά, συνηθισμένα αρχεία. Αυτή η διάταξη συστήματος αρχείων έχει τόσο πλεονεκτήματα όσο και μειονεκτήματα. Τα πλεονεκτήματα περιλαμβάνουν ένα ενιαίο διεπαφή λογισμικού, ευκολία πρόσβασης από τον διερμηνέα εντολών. Τα μειονεκτήματα περιλαμβάνουν την υλοποίηση του συστήματος αρχείων χρησιμοποιώντας τη μέθοδο Frankenstein.

Το σύστημα αρχείων αποτελείται από τέσσερα κύρια στοιχεία:

  1. Χώρος ονομάτων - μέθοδοι για την ονομασία αντικειμένων και την οργάνωσή τους σε μια ενιαία ιεραρχία
  2. API - ένα σύνολο κλήσεων συστήματος για μετακίνηση μεταξύ αντικειμένων και διαχείρισή τους
  3. Μέθοδοι ασφαλείας - σύστημα προστασίας, απόκρυψης και μοιρασιάαντικείμενα
  4. Υλοποίηση – κώδικα προγράμματος, το οποίο συνδέει λογικά μοντέλα με το υποσύστημα δίσκου

Το σύστημα αρχείων είναι μια ενιαία ιεραρχική δομή που ξεκινά με τον κατάλογο / και διακλαδώνεται για να καλύψει έναν αυθαίρετο αριθμό καταλόγων.

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

Η αλυσίδα των ονομάτων καταλόγου που πρέπει να διασχιστεί για πρόσβαση δεδομένο αρχείο, μαζί με το όνομα αυτού του αρχείου σχηματίζουν τη διαδρομή προς το αρχείο. Το μονοπάτι μπορεί να είναι απόλυτος(Για παράδειγμα, /temp/foo) ή συγγενής(Για παράδειγμα, book4/σύστημα αρχείων). Τα τελευταία ερμηνεύονται ξεκινώντας από τον τρέχοντα κατάλογο. Αξίζει να σημειωθεί ότι κάθε διεργασία έχει έναν τρέχοντα κατάλογο (οι περισσότερες διεργασίες δεν αλλάζουν ποτέ τον κατάλογο εργασίας τους και έτσι απλά κληρονομούν τον τρέχοντα κατάλογο της διαδικασίας που τις ξεκίνησε).

Υπάρχει ένα όριο στο μήκος του ονόματος αρχείου - όχι περισσότεροι από 255 χαρακτήρες. Το όνομα δεν μπορεί να περιλαμβάνει κάθετες προς τα εμπρός ή μηδενικούς χαρακτήρες. Υπάρχει επίσης ένα όριο στο μήκος της διαδρομής που μεταβιβάζεται στον πυρήνα ως όρισμα κλήσης συστήματος - 4095 byte.

Τοποθέτηση και αποπροσάρτηση συστήματος αρχείων

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

Στις περισσότερες περιπτώσεις, τα συστήματα αρχείων συνδέονται στο δέντρο αρχείων χρησιμοποιώντας την εντολή βουνό. Αυτή η εντολή συσχετίζει έναν κατάλογο στο υπάρχον δέντρο αρχείων, που ονομάζεται σημείο προσάρτησης, με τον ριζικό κατάλογο του νέου συστήματος αρχείων. Κατά τη διάρκεια της τοποθέτησης, η πρόσβαση στα προηγούμενα περιεχόμενα του σημείου προσάρτησης καθίσταται αδύνατη. Για παράδειγμα, η εντολή $ sudo mount /dev/sda4 /usersτοποθετείται στη συσκευή /dev/sda4σύστημα αρχείων /χρήστες. Μόλις ολοκληρωθεί η προσάρτηση, μπορείτε να χρησιμοποιήσετε την εντολή ls /users για να προβάλετε τα περιεχόμενα του συστήματος αρχείων. Η λίστα των συστημάτων αρχείων που έχουν προσαρτηθεί από χρήστες αποθηκεύεται στο αρχείο /etc/fstab. Αποσυναρμολόγηση συστημάτων αρχείων χρησιμοποιώντας την εντολή ποσό. Δεν είναι δυνατή η αποπροσάρτηση ενός κατειλημμένου συστήματος αρχείων.

Οργάνωση συστήματος αρχείων

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

Μέρος του ριζικού συστήματος αρχείων είναι επίσης ένας κατάλογος /και τα λοιπάγια κρίσιμα αρχεία συστήματος και αρχεία διαμόρφωσης, καταλόγους /sbinΚαι /αποθήκη- για σημαντικά βοηθητικά προγράμματα και μερικές φορές έναν κατάλογο /tmp- για προσωρινά αρχεία. Κατάλογος /devείναι συνήθως ο πραγματικός κατάλογος που περιλαμβάνεται στο ριζικό σύστημα αρχείων, αλλά μπορεί (εν μέρει ή πλήρως) να επικαλύπτεται από άλλα συστήματα αρχείων εάν το σύστημά σας διαθέτει εικονική υποστήριξη για τις συσκευές του.

Ορισμένα συστήματα αποθηκεύουν αρχεία κοινόχρηστης βιβλιοθήκης και άλλα σημαντικά προγράμματα (όπως ο προεπεξεργαστής γλώσσας C) σε έναν κατάλογο /lib. Άλλοι έχουν μετακινήσει αυτά τα στοιχεία στον κατάλογο /usr/lib, αφήνοντας το /libο ρόλος ενός συμβολικού συνδέσμου.

Οι κατάλογοι έχουν επίσης μεγάλη σημασία /usrΚαι /var. Το πρώτο περιέχει τα περισσότερα από τα τυπικά προγράμματα και άλλα χρήσιμα στοιχεία, ιδίως ηλεκτρονική τεκμηρίωση και βιβλιοθήκες. Δεν είναι καθόλου απαραίτητο ότι ο κατάλογος /usrήταν ένα ξεχωριστό σύστημα αρχείων, αλλά για ευκολία διαχείρισης συνήθως τοποθετείται με αυτόν τον τρόπο. Προκειμένου το σύστημα να εκκινήσει σε λειτουργία πολλών χρηστών, απαιτούνται και οι δύο κατάλογοι - /usrΚαι /var. Στον κατάλογο /varπεριέχει καταλόγους ουρά, αρχεία καταγραφής, λογιστικές πληροφορίες και άλλα στοιχεία ειδικά για κάθε υπολογιστή. Επειδή τα αρχεία καταγραφής αναπτύσσονται γρήγορα όταν παρουσιάζονται προβλήματα, συνιστάται η τοποθέτηση του καταλόγου /varσε ένα ξεχωριστό σύστημα αρχείων. Οι αρχικοί κατάλογοι χρήστη αποθηκεύονται συχνότερα σε ένα ξεχωριστό σύστημα αρχείων, το οποίο είναι συνήθως προσαρτημένο στον ριζικό κατάλογο. Τα χωριστά συστήματα αρχείων μπορούν επίσης να χρησιμοποιηθούν για την αποθήκευση μεγάλων συστοιχιών πληροφοριών, για παράδειγμα, βιβλιοθήκες πηγαίων κωδίκων προγραμμάτων και βάσεις δεδομένων.

Ο πίνακας δείχνει τους τυπικούς καταλόγους και τα περιεχόμενά τους

Κατάλογος OS Περιεχόμενο
/αποθήκη Ολα Εντολές λειτουργικού συστήματος πυρήνα
/μπότα L.S. Πυρήνας και αρχεία για τη φόρτωσή του
/dev Ολα Αρχεία συσκευής: δίσκοι, εκτυπωτές, ψευδοτερματικά κ.λπ.
/και τα λοιπά Ολα Σημαντικά αρχεία εκκίνησης και διαμόρφωσης συστήματος
/Σπίτι Ολα Προεπιλεγμένοι οικείοι κατάλογοι χρηστών
/πυρήνας μικρό Στοιχεία πυρήνα
/lib Ολα Βιβλιοθήκες, κοινόχρηστες βιβλιοθήκες και στοιχεία C compiler
/μεσο ΜΑΖΙΚΗΣ ΕΝΗΜΕΡΩΣΗΣ L.S. Σημεία προσάρτησης συστήματος αρχείων σε αφαιρούμενα μέσα
/μντ LSA Προσωρινά σημεία τοποθέτησης
/επιλέγω Ολα Προαιρετικά πακέτα λογισμικού εφαρμογών (δεν χρησιμοποιούνται ακόμη ευρέως)
/proc LSA Πληροφορίες για όλες τις διεργασίες που εκτελούνται
/ρίζα L.S. Ο οικιακός κατάλογος του υπερχρήστη (συχνά μόνο /)
/sbin Ολα Απαιτούμενες εντολές για τη διασφάλιση της ελάχιστης απόδοσης του συστήματος
/στάση H Βοηθητικά προγράμματα εκτός σύνδεσης, διαγνωστικά και εργαλεία μορφοποίησης δίσκου
/tmp Ολα Προσωρινά αρχεία που μπορούν να διαγραφούν κατά την επανεκκίνηση
/usr Ολα Ιεραρχία επιπλέον αρχείακαι προγράμματα
/usb/bin Ολα Περιεχόμενο
/usr/include Ολα Αρχεία κεφαλίδας για μεταγλώττιση προγραμμάτων C
/usr/lib Ολα Βιβλιοθήκες και βοηθητικά αρχεία για τυπικά προγράμματα
/usr/lib64 μεγάλο Βιβλιοθήκες 64-bit για διανομές Linux 64-bit
/usr/local Ολα Τοπικά προγράμματα (προγράμματα που δημιουργούνται ή εγκαθίστανται από τοπικούς χρήστες)
/usr/sbin Ολα Λιγότερο σημαντικά αρχεία διαχείριση συστήματος
/usr/share Ολα Στοιχεία κοινά σε διαφορετικά συστήματα
/usr/share/man Ολα Ηλεκτρονικές σελίδες τεκμηρίωσης
/usr/src LSA Πηγαίοι κώδικες μη τοπικών πακέτα λογισμικού(δεν χρησιμοποιείται ευρέως)
/usr/tmp Ολα Πρόσθετος κατάλογος για προσωρινά αρχεία που μπορούν να διατηρηθούν κατά τις επανεκκινήσεις
/var Ολα Δεδομένα συστήματος και αρχεία διαμόρφωσης
/var/adm Ολα Διάφορα: αρχεία καταγραφής, εγγραφές εγκατάστασης συστήματος, διοικητικά στοιχεία
/var/log LSA Αρχεία καταγραφής συστήματος
/var/spool Ολα Συλλέξτε καταλόγους για εκτυπωτές, email κ.λπ.
/var/tmp Ολα Κατάλογος για προσωρινή αποθήκευση αρχείων

Σημείωση: L = Linux, S = Solaris, H = HP-UX, A = AIX

Τύποι αρχείων

Οι περισσότερες υλοποιήσεις συστημάτων αρχείων ορίζουν επτά τύπους αρχείων:

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

Μπορείτε να προσδιορίσετε τον τύπο ενός υπάρχοντος αρχείου χρησιμοποιώντας την εντολή ls -ld. Ο πρώτος χαρακτήρας στη γραμμή εξόδου υποδεικνύει τον τύπο του αντικειμένου. Παράδειγμα:

$ ls -ld /usr/include

Οπου ρε– σημαίνει κατάλογος

Πιθανοί κωδικοί για παρουσίαση διάφοροι τύποιτα αρχεία παρουσιάζονται στον πίνακα

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

Ο κατάλογος αποθηκεύει συνδέσμους με όνομα και άλλα αρχεία. Δημιουργείται από την ομάδα mkdirκαι διαγράφεται (εφόσον είναι κενό) με την εντολή rmdir. Οι μη κενοί κατάλογοι μπορούν να διαγραφούν με την εντολή rm -r. Οι ειδικοί σύνδεσμοι «.» και «..» υποδηλώνουν τον ίδιο τον κατάλογο και τον γονικό κατάλογο, αντίστοιχα. Τέτοιοι σύνδεσμοι δεν μπορούν να αφαιρεθούν. Δεδομένου ότι ο ριζικός κατάλογος βρίσκεται στην κορυφή της ιεραρχίας, ένας σύνδεσμος «..» είναι ισοδύναμος με έναν σύνδεσμο «.».

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

Οι σκληροί σύνδεσμοι δημιουργούνται από την εντολή lnκαι διαγράφονται με την εντολή rm. Σύνταξη εντολών lnεύκολο να το θυμάστε γιατί είναι " εικόνα καθρέφτηεντολές cp. Ομάδα νέο αρχείο cp παλιού αρχείουδημιουργεί ένα αντίγραφο του παλιού αρχείου που ονομάζεται newfile και την εντολή Στο παλιό αρχείο νέου αρχείουμετατρέπει το όνομα newfile σε έναν πρόσθετο σύνδεσμο προς το παλιό αρχείο.

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

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

Μπορούν να θεωρηθούν ως πύλες μέσω των οποίων ο οδηγός δέχεται αιτήματα. Τα αρχεία συσκευών χαρακτήρων επιτρέπουν στα προγράμματα οδήγησης που σχετίζονται με αυτά να εκτελούν τη δική τους προσωρινή αποθήκευση I/O. Τα αρχεία συσκευών αποκλεισμού επεξεργάζονται από προγράμματα οδήγησης, τα οποία εκτελούν I/O σε μεγάλα κομμάτια και η αποθήκευση στην προσωρινή μνήμη εκτελείται από τον πυρήνα. Στο παρελθόν, ορισμένοι τύποι υλικού θα μπορούσαν να αντιπροσωπεύονται από οποιονδήποτε τύπο αρχείου, αλλά αυτή η ρύθμιση παραμέτρων είναι σπάνια στα σύγχρονα συστήματα.

Τα αρχεία συσκευής χαρακτηρίζονται από δύο αριθμούς: κύριο και δευτερεύον. Ο αριθμός της κύριας συσκευής επιτρέπει στον πυρήνα να προσδιορίσει σε ποιο πρόγραμμα οδήγησης ανήκει το αρχείο, ενώ ο δευτερεύων αριθμός τυπικά προσδιορίζει μια συγκεκριμένη φυσική συσκευή. Για παράδειγμα, ο κύριος αριθμός συσκευής 4 στο Linux αντιστοιχεί στο πρόγραμμα οδήγησης σειριακής θύρας. Έτσι, η πρώτη σειριακή θύρα (/dev/tty0) θα έχει έναν κύριο αριθμό 4 και έναν δευτερεύοντα αριθμό 0.

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

Στο μακρινό παρελθόν /devέπαιξε ρόλο γενικός κατάλογοςκαι τα αρχεία της συσκευής που ήταν αποθηκευμένα σε αυτό δημιουργήθηκαν χρησιμοποιώντας την εντολή mknodκαι διαγράφηκαν από την εντολή rm. Ένα σενάριο που ονομάζεται MAKEDEV βοήθησε στην τυποποίηση της δημιουργίας αρχείων συσκευής.

Δυστυχώς, αυτό το «ακατέργαστο» σύστημα δεν τα κατάφερε καλά με την απέραντη θάλασσα οδηγών και τύπων συσκευών που εμφανίστηκαν τις τελευταίες δεκαετίες. Εισήγαγε επίσης κάθε είδους πιθανές ασυνέπειες στη διαμόρφωση: για παράδειγμα, αρχεία συσκευής που αναφέρονται σε ανύπαρκτες συσκευές, συσκευές που δεν ήταν προσβάσιμες επειδή δεν είχαν αρχεία συσκευής κ.λπ.

Τα περισσότερα συστήματα αυτές τις μέρες εφαρμόζουν κάποια μορφή αυτόματο έλεγχοαρχεία συσκευής, που επιτρέπει στο σύστημα να αναλάβει πιο ενεργό ρόλο στη διαμόρφωση των δικών του αρχείων συσκευής. Για παράδειγμα, στο Solaris οι κατάλογοι /dev και /devices είναι εντελώς εικονικοποιημένοι. Στις διανομές Linux, ο κατάλογος /dev είναι ο προεπιλεγμένος κατάλογος, αλλά τα αρχεία μέσα σε αυτόν διαχειρίζονται ο δαίμονας udevd. (Ο δαίμονας udevd δημιουργεί και διαγράφει αρχεία συσκευής ως απόκριση σε αλλαγές υλικού που αναφέρονται από τον πυρήνα.)

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

Αν και άλλες διεργασίες αναγνωρίζουν τα αρχεία υποδοχής ως καταχωρήσεις καταλόγου, μόνο οι διεργασίες που έχουν κατάλληλη σύνδεση μεταξύ τους μπορούν να διαβάσουν και να εγγράψουν στο αρχείο υποδοχής. Ως παραδείγματα τυπικά μέσαΤα συστήματα που χρησιμοποιούν τοπικές υποδοχές περιλαμβάνουν τα συστήματα X Window και Syslog.

Οι τοπικές υποδοχές δημιουργούνται χρησιμοποιώντας μια κλήση συστήματος πρίζα. Όταν η σύνδεση είναι κλειστή και στις δύο πλευρές, η υποδοχή μπορεί να διαγραφεί με την εντολή rmή χρησιμοποιώντας μια κλήση συστήματος αποσύνδεση.

Όπως και οι τοπικές πρίζες, οι ονομαζόμενοι σωλήνες επιτρέπουν την επικοινωνία μεταξύ δύο διεργασιών που εκτελούνται στον ίδιο υπολογιστή. Τέτοια κανάλια ονομάζονται επίσης αρχεία FIFO (First In, First Out). Δημιουργούνται από μια ομάδα mknodκαι διαγράφονται με την εντολή rm.

Όπως και με τις τοπικές πρίζες, οι πραγματικές επώνυμες παρουσίες σωλήνων είναι λίγες. Σπάνια απαιτούν διοικητική παρέμβαση.

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

Εργασία με αρχεία στο Linux

Πρώτα απ 'όλα, ας αναλογιστούμε βασικές εντολέςγια εργασία με αρχεία και φακέλους. Για να δημιουργήσετε ένα αρχείο χρησιμοποιήστε την εντολή αφή, για να δημιουργήσετε έναν κατάλογο την εντολή mkdir.

user@ubuntu$ αγγίξτε [όνομα αρχείου] – δημιουργήστε ένα αρχείο

user@ubuntu$ mkdir [όνομα καταλόγου] – δημιουργήστε έναν κατάλογο

Τα αρχεία διαγράφονται χρησιμοποιώντας την εντολή rm.Για καταλόγους χρησιμοποιείται η ίδια εντολή, μόνο με τον διακόπτη -r (αναδρομικός).

user@ubuntu$ rm [όνομα αρχείου] – διαγραφή αρχείου

user@ubuntu$ rm -r [όνομα καταλόγου] – διαγραφή καταλόγου

Μπορείτε να δείτε σε ποιον κατάλογο βρισκόμαστε χρησιμοποιώντας την εντολή pwd. Τα περιεχόμενα του καταλόγου προβάλλονται από την εντολή ls,που είναι βολικό να καλέσετε με το διακόπτη -l για να δείτε εκτεταμένες πληροφορίες για κάθε αρχείο. Η μετάβαση στον κατάλογο πραγματοποιείται με την εντολή CD.

user@ubuntu$ pwd – τρέχων κατάλογος

user@ubuntu$ ls -l [διαδρομή καταλόγου] – περιεχόμενα καταλόγου

user@ubuntu$ cd [διαδρομή καταλόγου] – μετάβαση στον κατάλογο

Οι λειτουργίες αντιγραφής και μετακίνησης εκτελούνται με εντολές cpΚαι mvαντίστοιχα. Όχι στο Linux ειδική ομάδαγια να μετονομάσετε ένα αρχείο, χρησιμοποιήστε το αντί αυτού mv.

user@ubuntu$ cp [αρχείο προς αντιγραφή] [κατάλογος] – αντιγραφή αρχείου

user@ubuntu$ mv [κινητό αρχείο] [κατάλογος] – μετακίνηση αρχείου

user@ubuntu$ mv [τρέχον όνομα αρχείου] [όνομα νέου αρχείου] – μετονομασία αρχείου

Σε αυτό το παράδειγμα, δημιουργούμε έναν κατάλογο δοκιμής/, πηγαίνουμε σε αυτόν με την εντολή CD.Σε αυτόν τον κατάλογο δημιουργούμε δύο αρχεία αρχείο και file2. Εμφανίστε τα περιεχόμενα ενός καταλόγου με την εντολή ls -l.Αντιγράψτε το αρχείο και ονομάστε το file3. Μετονομάστε το αρχείο αρχείου σε new_file με την εντολή mv. Στο τέλος, διαγράψτε όλα τα αρχεία στον κατάλογο με την εντολή rm * . * – υποδηλώνει οποιονδήποτε αριθμό χαρακτήρων. Μεταβείτε στον παραπάνω κατάλογο με την εντολή CD..και διαγράψτε τον κατάλογο /test.

Δικαιώματα στο Linux

Τα δικαιώματα πρόσβασης σε ένα αρχείο ή κατάλογο μπορούν να οριστούν χρησιμοποιώντας την εντολή chmod. Μόνο ο κάτοχος του αρχείου και ο χρήστης root έχουν αυτό το δικαίωμα. Στο Linux, κάθε αρχείο έχει ένα αντίστοιχο σύνολο δικαιωμάτων, που αντιπροσωπεύονται ως 8 bit λειτουργίας. Καθορίζουν ποιοι χρήστες έχουν δικαιώματα ανάγνωσης, επεξεργασίας και εκτέλεσης του αρχείου.

Το πρώτο όρισμα της εντολής chmod είναι η προδιαγραφή άδειας. Το δεύτερο και τα επόμενα επιχειρήματα είναι τα ονόματα των αρχείων των οποίων τα δικαιώματα πρόσβασης πρόκειται να αλλάξουν. Όταν χρησιμοποιείτε οκταδική σημείωση, το πρώτο ψηφίο αναφέρεται στον κάτοχο, το δεύτερο στην ομάδα και το τρίτο σε άλλους χρήστες. Εάν πρέπει να καθοριστούν bits setuid/setgid ή ένα επιπλέον bit, θα πρέπει να καθοριστούν τέσσερα οκταδικά ψηφία αντί για τρία: το πρώτο ψηφίο σε αυτήν την περίπτωση θα αντιστοιχεί σε τρία ειδικά bit.

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

Για παράδειγμα, η εντολή chmod 711 myprogπαρέχει στον κάτοχο όλα τα δικαιώματα και σε άλλους χρήστες μόνο δικαιώματα εκτέλεσης 9 .

Όταν χρησιμοποιείτε μνημονική σύνταξη, συνδυάζετε ένα σύνολο εκτελεστών (u για χρήστη, g για ομάδα ή o για άλλα) με έναν τελεστή (+προσθήκη, –διαγραφή και = εκχώρηση) και ένα σύνολο δικαιωμάτων. Περισσότερο Λεπτομερής περιγραφήΗ μνημονική σύνταξη μπορεί να βρεθεί στη σελίδα man για την εντολή chmod, αλλά η σύνταξη μαθαίνεται πάντα καλύτερα μέσω παραδειγμάτων.

Συχνά συμβαίνουν καταστάσεις όταν, κατά την εκτέλεση ενός αρχείου, παραπονιέται για έλλειψη δικαιωμάτων. Αυτό το πρόβλημα μπορεί να λυθεί με την εντολή αρχείο sudo chmod a+x. Η εντολή σημαίνει ότι το αρχείο αρχείου έχει ρυθμιστεί να εκτελεί δικαιώματα για όλους τους χρήστες.

Με την επιλογή -R, η εντολή chmod θα ενημερώνει αναδρομικά τα δικαιώματα όλων των αρχείων καθορισμένο κατάλογοκαι τους υποκαταλόγους του. Εδώ είναι πιο βολικό να τηρείτε τη μνημονική σύνταξη, έτσι ώστε να αλλάζουν μόνο εκείνα τα bit που έχουν οριστεί ρητά. Για παράδειγμα, η εντολή
chmod -R g+w mydirπροσθέτει δικαιώματα εγγραφής ομάδας στον κατάλογο mydir και τα περιεχόμενά του χωρίς να επηρεάζει άλλα δικαιώματα.


Εγγραφείτε στο δικό μας

/ρίζα

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

/sbin

Βασικός προγράμματα του συστήματοςγια διαχείριση και διαμόρφωση συστήματος (iptables, ifconfig, κ.λπ.).

/srv

Παράμετροι που είναι συγκεκριμένες για το περιβάλλον του συστήματος. Τις περισσότερες φορές αυτός ο κατάλογος είναι κενός.

/sys

Το /sys είναι ο κατάλογος όπου είναι προσαρτημένο το εικονικό σύστημα αρχείων sysfs, το οποίο προσθέτει πληροφορίες στο χώρο του χρήστη Πυρήνες Linuxσχετικά με τις συσκευές και τα προγράμματα οδήγησης που υπάρχουν στο σύστημα. Δεν χρησιμοποιείται σε εκδόσεις πυρήνα κάτω από την 2.6.

/sys/block

Το /sys/block περιέχει τους καταλόγους όλων των συσκευών μπλοκ που υπάρχουν αυτή τη στιγμήστο σύστημα.

/sys/bus

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

/sys/class

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

/tmp

Προσωρινή αποθήκευση δεδομένων. Το ανάλογο του φακέλου στο λειτουργικό σύστημα Windows είναι C:/Windows/Temp. Όλοι οι χρήστες έχουν δικαιώματα ανάγνωσης και εγγραφής σε αυτόν τον κατάλογο.

/usr

Αυτός ο κατάλογος αποθηκεύει όλα τα εγκατεστημένα πακέτα λογισμικού, την τεκμηρίωση, τον πηγαίο κώδικα του πυρήνα και το X Window System. Όλοι οι χρήστες εκτός από τη ρίζα υπερχρήστη έχουν πρόσβαση μόνο για ανάγνωση. Μπορεί να τοποθετηθεί σε δίκτυο και μπορεί να μοιραστεί μεταξύ πολλών μηχανημάτων.

/usr/bin

Ευρετήριο πρόσθετα προγράμματαγια όλους τους λογαριασμούς.

/usr/games

Ένας κατάλογος για την τοποθέτηση διαθέσιμων παιχνιδιών υπολογιστή στο σύστημα.

/usr/include

Αρχεία κεφαλίδας C++.

/usr/lib

Βιβλιοθήκες συστήματος για προγράμματα που βρίσκονται στον κατάλογο /usr.

/usr/local

Σύμφωνα με το πρότυπο, το /usr πρέπει να είναι κοινό σε πολλούς υπολογιστές και να είναι τοποθετημένο στο δίκτυο και το /usr/local θα πρέπει να περιέχει εγκατεστημένα πακέτα προγραμμάτων μόνο στον τοπικό υπολογιστή (για παράδειγμα, /usr είναι ο οικογενειακός προϋπολογισμός και /usr/local είναι προσωπικό πορτοφόλικαθε). Αλλά πιο συχνά ο κατάλογος /usr/local χρησιμοποιείται για την εγκατάσταση προγραμμάτων που δεν προορίζονται για μια συγκεκριμένη διανομή (για παράδειγμα, για ένα πακέτο Διανομή UbuntuΤο /usr περιέχει "εγγενή" εγκατεστημένα πακέτα και το /usr/local περιέχει μεταγλωττισμένα πακέτα από την πηγή).

Το Linux (Linux) είναι ένα λειτουργικό σύστημα που σήμερα είναι στην πραγματικότητα η μόνη εναλλακτική αντικατάσταση του λειτουργικού συστήματος Windows από τη Microsoft. Το Linux χρονολογείται από το 1991, όταν ένας νεαρός προγραμματιστής από τη Φινλανδία, ο Linus Torvalds, άρχισε να εργάζεται πάνω στην πρώτη κιόλας έκδοση του συστήματος, που πήρε το όνομά του. Η αυγή της δημοτικότητας του Linux ξεκίνησε από την αρχή του. Αυτό οφείλεται, πρώτα απ 'όλα, στο γεγονός ότι ο πυρήνας αυτού του λειτουργικού συστήματος, όπως τα περισσότερα προγράμματα που γράφτηκαν για αυτό, έχουν πολύ σημαντικές ιδιότητες.

Πυρήνας Ο πυρήνας είναι ένα λειτουργικό σύστημα ενός τμήματος του παραδοσιακού επιπέδου που εξαρτάται από το μηχάνημα, που επεξεργάζεται αρχεία, που λειτουργεί από τον πυρήνα του UNIX OS, συμπεριλαμβανομένων των ακόλουθων στοιχείων: δίσκους, δικτύωση και εκτέλεση άλλων απαραίτητων λειτουργιών. (προς το παρόν εξαρτάται από τα χαρακτηριστικά του εξοπλισμού). Πυρήνας λειτουργίας Συστήματα Linuxαντιπροσωπεύει στοιχεία μιας μονολιθικής αρχιτεκτονικής συστήματος μικροπυρήνων. προώθηση και αρχικοποίηση του συστήματος σε χαμηλό επίπεδο με διακοπές. Κατά τη μεταγλώττιση του πυρήνα, μπορείτε να ενεργοποιήσετε τη δυναμική αρχική επεξεργασία των εσωτερικών και εξωτερικός έλεγχοςμνήμη (στο τμήμα που αφορά τη φόρτωση και εκφόρτωση πολλών στοιχείων του πυρήνα - χαρακτηριστικά υποστήριξης υλικού για εικονικά λεγόμενα modules. Κατά τη φόρτωση της μονάδας μνήμης); Ο κώδικάς του φορτώνεται σε επίπεδο συστήματος και συνδέεται με τον υπόλοιπο πυρήνα. Οι λειτουργίες μπορούν να χρησιμοποιηθούν σε μια ενότητα. οποιοδήποτε περιβάλλον διεργασίας που εξάγεται από τον πυρήνα αλλάζει μεταξύ των λειτουργιών χρήστη και πυρήνα. τμήματα προγραμμάτων οδήγησης συσκευών που σχετίζονται με τα χαρακτηριστικά της πλατφόρμας προορισμού.

Δομή αρχείων (σύστημα) /bin – βασικές δυαδικές μονάδες χρήστη /boot – στατικά αρχεία εκκίνησης /cdrom – ιστορικά επιλεγμένο σημείο προσάρτησης για CD /dev – αρχεία συσκευής /etc – αρχεία διαμόρφωσης /home – home directory /lib – κύριες κοινόχρηστες βιβλιοθήκες /lost +found – ανακτημένα αρχεία /μέσα – συνδεδεμένα μέσα /proc – αρχεία πυρήνα και διεργασίας /root – αρχικός κατάλογος του χρήστη root /srv – δεδομένα τμήματα εξυπηρέτησης/tmp – προσωρινά αρχεία /usr – αρχεία χρήστη δυαδικά αρχείακαι δεδομένα μόνο για ανάγνωση (φαίνεται στην εικόνα)

Η διεπαφή (γραφικό κέλυφος) είναι ένα πρόγραμμα που οργανώνει την αλληλεπίδραση του χρήστη με έναν υπολογιστή. Παρέχει υποστήριξη για παράθυρα, μενού, εικονίδια, ποντίκια και άλλα γνωστά GUI - γραφικά στοιχεία διεπαφής χρήστη. Πιο πολύπλοκα γραφικά περιβάλλοντα είναι χτισμένα πάνω από το X. τα πιο δημοφιλή από αυτά είναι το KDE και το GNOME. Το GUI είναι ένα σύνολο εικονιδίων, μενού, διαλόγων, πινάκων, παραθύρων και άλλων γραφικά στοιχεία, επιτρέποντας στους χρήστες να χειρίζονται εύκολα τον υπολογιστή και τις εφαρμογές τους. Το KDE και το Gnome είναι ενσωματωμένα περιβάλλοντα επιφάνειας εργασίας. Οι χρήστες αλληλεπιδρούν με στοιχεία διεπαφής και προγράμματα.

Utilities Utility (eng. utility or tool) - βοηθητικό πρόγραμμα υπολογιστήστο Ενσωματωμένο σε Linux βοηθητικά προγράμματα λογισμικούκαι γλώσσες. περιλαμβάνεται g++ -GNU C++ compiler. Η Perl είναι μια πολύ ισχυρή γλώσσα σεναρίου. g 77 - Μεταγλωττιστής GNU FORTRAN. (παράμετροι, ρυθμίσεις, ρυθμίσεις), ή κάντε τη διαδικασία f 2 c - έναν transcoder από FORTRAN σε C; αλλαγές παραμέτρων (αυτοματοποιήστε το). Το Fort 77 είναι ένας μεταγλωττιστής FORTRAN. Εκτελεί f 2 c και μετά γενικό λογισμικό για εκτέλεση εξειδικευμένου τυπικές εργασίες. Τα βοηθητικά προγράμματα παρέχουν πρόσβαση σε δυνατότητες Οι τύποι βοηθητικών προγραμμάτων για την επικοινωνία με το λειτουργικό σύστημα χρησιμοποιούν gcc ή g++. Ανεξάρτητα βοηθητικά προγράμματα που δεν απαιτούν λειτουργικό σύστημα για λειτουργία, Grep - αναζητά ένα κομμάτι κειμένου σε αρχεία που ταιριάζει με την πληκτρολογημένη μάσκα. Η μάσκα ορίζεται με Βοηθητικά προγράμματα συστήματος, περιλαμβάνεται στην παράδοση του λειτουργικού συστήματος και απαιτεί τη βοήθειά του τυπικό σύστημαονομασίες που ονομάζονται διαθεσιμότητα " κανονικές εκφράσεις"; Τύποι βοηθητικών προγραμμάτων κατά λειτουργία Διαχειριστές αρχείων. Αρχειοθέτες (με πιθανή συμπίεση δεδομένων). Θεατές. Απεγκατάσταση - λογισμικό [; πρόγραμμα για Tr - βοηθητικό πρόγραμμα μετάφρασης (με άλλα λόγια - αντικατάσταση γραμμάτων σε αρχείο κειμένου). Gawk - GNU awk (χρησιμοποιείται για την επεξεργασία μορφοποιημένων αρχείων κειμένου). αφαίρεση λογισμικού sed - ένα βοηθητικό πρόγραμμα για την επεξεργασία αρχείων κειμένου.

Εισαγωγή στο Σύστημα Αρχείων

Το λειτουργικό σύστημα (εφεξής OS) Linux υποστηρίζει πολλά συστήματα αρχείων, επί του παρόντος το πιο ευρέως χρησιμοποιούμενο: ext2, ext3, ext4, reiserfs. Επίσης, τα σύγχρονα λειτουργικά συστήματα Linux είναι συμβατά με συστήματα αρχείων(FS παρακάτω) που χρησιμοποιείται από το λειτουργικό σύστημα Windows, όπως π.χ NTFSΚαι FAT32, αλλά η χρήση δεδομένων FS στο Linux είναι εξαιρετικά ανεπιθύμητη λόγω του γεγονότος ότι αυτά τα FS αναπτύχθηκαν για λειτουργικό σύστημα Windows και η υποστήριξη για κατατμήσεις Windows από τον πυρήνα Linux υλοποιείται χρησιμοποιώντας βοηθητικά προγράμματα/προγράμματα οδήγησης/μονάδες τρίτων, γεγονός που επιβάλλει ορισμένους περιορισμούς ( για παράδειγμα, σύμφωνα με το έργο Linux-NTFS Κατά τη στιγμή της σύνταξης αυτού του άρθρου, υποστηρίζεται σχεδόν μόνο για ανάγνωση σε διαμερίσματα με NTFS (η εγγραφή είναι δυνατή μόνο σε υπάρχοντα αρχείαχωρίς αλλαγή του μεγέθους τους), και το Linux OS δεν έχει τη δυνατότητα να διαφοροποιεί τα δικαιώματα πρόσβασης σε αρχεία σε κατατμήσεις NTFS. Αυτή η κατάσταση μπορεί να αλλάξει με την πάροδο του χρόνου.

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Θα ξεκινήσω με γενική δομήσύστημα αρχείων. FS Linux/UNIXαντιπροσωπεύει φυσικά τον χώρο διαμερισμάτων δίσκου χωρισμένο σε μπλοκ σταθερού μεγέθους, πολλαπλάσια του μεγέθους του τομέα - 1024, 2048, 4096 ή 8120 byte. Το μέγεθος του μπλοκ καθορίζεται όταν δημιουργείται το σύστημα αρχείων.

Η διαχείριση της ανταλλαγής δεδομένων μεταξύ του πυρήνα/εφαρμογών και των πραγματικών byte στο δίσκο γίνεται από 2 βασικές τεχνολογίες, που ονομάζεται εικονικό σύστημα αρχείων (VFS)Και προγράμματα οδήγησης συστήματος αρχείων. Το εικονικό σύστημα αρχείων είναι ένα μέρος του πυρήνα του linux, το οποίο είναι ένα είδος αφηρημένου επιπέδου (διεπαφές αλληλεπίδρασης, αν θέλετε) μεταξύ του πυρήνα και μιας συγκεκριμένης υλοποίησης του συστήματος αρχείων (ext2, fat32...). Αυτή η τεχνολογίαεπιτρέπει στον πυρήνα και τις εφαρμογές να αλληλεπιδρούν με το σύστημα αρχείων χωρίς να λαμβάνονται υπόψη οι λεπτομέρειες της λειτουργίας ενός συγκεκριμένου συστήματος αρχείων και ελέγχου λειτουργίες αρχείωνχρησιμοποιώντας τυπικές εντολές - με διαφάνεια. Συχνά, το VFS ονομάζεται διακόπτης εικονικού συστήματος αρχείων. Το εικονικό σύστημα αρχείων συνδέει επίσης μπλοκ συσκευές με υπάρχοντα συστήματα αρχείων.

Λίστα αυτών που υποστηρίζονται από τον πυρήνα σας αρχείο Linuxσυστήματα μπορείτε να δείτε στο αρχείο /proc/Filesystems.

Δομή καταλόγου και άλλες βασικές έννοιες

Δομή καταλόγου, γενικά, μπορεί να αναπαρασταθεί ως το ακόλουθο διάγραμμα:

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

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

Η δομή του αρχείου Linux έχει ένα κατάτμηση ρίζας- / (γνωστός και ως ρίζα , ρίζα ). Ολα τμήματα σκληρούδίσκος(εάν υπάρχουν αρκετοί από αυτούς) αντιπροσωπεύουν μια δομή υποκαταλόγων «προσαρτημένοι» σε ορισμένους καταλόγους, αυτό μπορεί να αναπαρασταθεί σχηματικά ως εξής:

/- |-/etc-|-/etc/X11-|-/etc/X11/xinit.d | | |-... | |-αρχεία | |-... |-/επιλογή |-/σπίτι<- |-/user1-|-/user1/Desktop # примонтированный раздел ext3, | | |-/user1/Documents # содержащий свое дерево каталогов | | |-... # (/home - точка монтирования) | |-/user2 | |-.... |-/usr |-/var

Λειτουργία τοποθέτησηςχρησιμεύει για τη διάθεση ενός συστήματος αρχείων που βρίσκεται σε μια συσκευή μπλοκ. Η ουσία της λειτουργίας τοποθέτησηςείναι ότι ο πυρήνας συσχετίζει έναν κατάλογο (που ονομάζεται σημείο προσάρτησης) με μια συσκευή που περιέχει το σύστημα αρχείων και το πρόγραμμα οδήγησης συστήματος αρχείων. Για να γίνει αυτό, μεταβιβάζει έναν σύνδεσμο στη συσκευή μπλοκ - το πρόγραμμα οδήγησης του συστήματος αρχείων, και εάν το πρόγραμμα οδήγησης έχει αναγνωρίσει με επιτυχία αυτό το σύστημα αρχείων, ο πυρήνας εισάγει σε έναν ειδικό πίνακα προσάρτησης τις πληροφορίες που όλα τα αρχεία και οι κατάλογοι των οποίων η πλήρης διαδρομή αρχίζει με το καθορισμένο σημείο προσάρτησης, εξυπηρετούνται από το κατάλληλο πρόγραμμα οδήγησης συστήματος αρχείων και βρίσκονται στην καθορισμένη συσκευή μπλοκ. Μπορείτε να δείτε τον πίνακα των προσαρτημένων συστημάτων αρχείων μέσω του αρχείου /proc/mounts .

Σημείωση.Σε γενικές γραμμές, δεν είναι απαραίτητο να συνδεθεί σε μια συσκευή μπλοκ σε αυτήν την περίπτωση. Η συσκευή που είναι τοποθετημένη δεν μπορεί να βασίζεται μόνο σε μπλοκ. Μπορεί να είναι, για παράδειγμα, δίκτυο (εάν έχει προσαρτηθεί NFS ή SMB\CIFS).

Δείτε πόσους συνδέσμους έχει ένα αρχείο και inodeαρχείο χρησιμοποιώντας την εντολή:

$ ls -li 193 drwxr-xr-x 1 mc-sim root 368 Mar 30 2008 bin 1 drwxr-xr-x 1 mc-sim root 0 Jan 1 1970 dev 197 lrwxrwxrwx 1 mc-sim root 20 Mar 30 -> tmp/κτλ...

στο παράδειγμα που δίνεται, η πρώτη στήλη (τιμές 193,1,197) είναι inodeκαι η τρίτη στήλη (τιμές 1) είναι ο αριθμός των συνδέσμων προς το αρχείο (διαβάστε: διαδρομές αρχείων).

Inode, όπως ήδη ειπώθηκε, μοναδικόςμέσα σε ένα συγκεκριμένο σύστημα αρχείων και περιέχει τις ακόλουθες πληροφορίες:

  • σχετικά με τον ιδιοκτήτη του αντικειμένου FS
  • χρόνος τελευταίας πρόσβασης
  • μέγεθος του αντικειμένου FS
  • προσδιορίζοντας εάν πρόκειται για αρχείο ή κατάλογο
  • δικαιώματα πρόσβασης
Δομή και περιγραφή καταλόγου Linux
. σύνδεσμο προς τον τρέχοντα κατάλογο. Αυτό το στοιχείο υπάρχει σε κάθε κατάλογο της δομής του αρχείου.
.. σύνδεσμο προς τον γονικό κατάλογο. Αυτό το στοιχείο υπάρχει σε κάθε κατάλογο της δομής του αρχείου. (στη ρίζα - / αυτό το στοιχείο υποδεικνύει το ίδιο το ριζικό σύστημα)
/ Ο ριζικός κατάλογος FS, όλοι οι άλλοι υποκατάλογοι πρώτου επιπέδου είναι "δεμένοι" εδώ
/αποθήκη/ Δυαδικά προγράμματα, βασικά προγράμματα για εργασία στο σύστημα: κελύφη εντολών, βοηθητικά προγράμματα αρχείωνκαι τα λοιπά.
/μπότα/ στατικά αρχεία bootloader (εικόνα πυρήνα, αρχεία GRUB, LILO)
|-- /κάμπια/
|-- /lilo/ Κατάλογος αρχείων διαμόρφωσης
| config-kern_ver τρέχον αρχείο διαμόρφωσης πυρήνα
| initrd.img-kern_ver εικόνα εκκίνησης initrd
| vmlinuz-kern_ver Εικόνα πυρήνα Linux
/dev/ κατάλογο που περιέχει αρχεία συσκευής.
Στο Linux γενικά όλα θεωρούνται ως αρχείο, ακόμα και διάφορες συσκευές όπως εκτυπωτές, σκληροί δίσκοι, σαρωτές κ.λπ. Για να αποκτήσετε πρόσβαση σε μια συγκεκριμένη συσκευή, πρέπει να υπάρχει ένα ειδικό αρχείο. Τα περισσότερα λειτουργικά συστήματα που μοιάζουν με UNIX έχουν σχεδιαστεί με παρόμοιο τρόπο.
|-- /pts/ εικονικό σύστημα αρχείων, το οποίο είναι μια δομή αρχείων που αντικατοπτρίζει τα ψευδοτερματικά των συνδεδεμένων χρηστών
| |-- 0 ψευδοτερματική συσκευή pts/0
| |-- 1 ψευδοτερματική συσκευή pts/1
| --- n ψευδοτερματική συσκευή pts/n
|-- μηδενικό τα λεγόμενα «μαύρη τρύπα» ή «τεφροδόχος». Όλες οι πληροφορίες που αποστέλλονται σε αυτήν τη συσκευή χάνονται/καταστρέφονται.
--- μηδέν "μηδενική γεννήτρια"
/και τα λοιπά/ Αρχεία διαμόρφωσης συστήματος, σενάρια εκκίνησης, αρχεία διαμόρφωσης σύστημα γραφικώνΚαι διάφορες εφαρμογές. Από αυτόν τον κατάλογο θα ήθελα να επισημάνω παρακάτω αρχεία:
|-- /Προκαθορισμένο/ περιέχει αρχεία συστήματοςδιαμορφώσεις σε Διανομές Debian(ανάλογο με το /etc/sysconfig/ στο RedHat)
|-- /logrotate.d/ κατάλογος αρχείων ρυθμίσεων για τον δαίμονα αυτόματης επεξεργασίας αρχείων καταγραφής.
| |-- απάχης
| |-- καλαμάρι ρύθμιση παραμέτρων καταγραφής apache
| |-- syslog διαμόρφωση καταγραφής του συστήματος
| --- ...
|-- /pam.d/ κατάλογος περιέχει αρχεία διαμόρφωσης PAM (καθορίστε μεθόδους ελέγχου ταυτότητας σε εφαρμογές που χρησιμοποιούν PAM)
|-- /ppp/ ο κατάλογος περιέχει διαμορφώσεις σύνδεσης PPP:
| |-- επιλογές περιέχει μια κοινή διαμόρφωση για όλες τις συνδέσεις PPP.
| |-- επιλογές.* διαμόρφωση μιας συγκεκριμένης σύνδεσης (για παράδειγμα, modem options.ttyS1)
| |-- ip-up σενάριο που εκτελείται επί/για σύνδεση (από τον δαίμονα pppd).
| --- ip-down σενάριο που εκτελείται κατά την/για αποσύνδεση (από τον δαίμονα pppd).
|-- /rc.d/ κατάλογος συστήματος (περιέχει σενάρια προετοιμασίας)
| |-- /init.d/ περιέχει σενάρια για τη διαχείριση των δαιμόνων του συστήματος (υπηρεσίες).
| --- /rcX.d/ Καταλόγους X runlevel, περιέχουν συνδέσμους σε σενάρια στο init.d.
|-- /σάμπα/ περιέχει αρχεία διαμόρφωσης samba:
| |-- smb.conf Κύριο αρχείο διαμόρφωσης SAMBA.
| |-- smbusers περιγράφει την αντιστοίχιση των χρηστών SAMBA σε χρήστες του συστήματος.
| --- smbpasswd περιέχει κατακερματισμούς χρήστη SAMBA, οι κωδικοί πρόσβασης ορίζονται από το βοηθητικό πρόγραμμα smbpasswd.
|-- /ssh/ Κατάλογος διαμόρφωσης sshd daemon
| |-- ssh_config Αρχείο διαμόρφωσης ssh πελάτη
| --- sshd_config Αρχείο διαμόρφωσης διακομιστή SSH
|-- /sysconfig/ περιέχει αρχεία διαμόρφωσης συστήματος σε διανομές RedHat (ανάλογα με το /etc/default/ στο Debian)
| |-- πληκτρολόγιο περιγραφή της τρέχουσας διάταξης πληκτρολογίου.
| |-- επιφάνεια εργασίας εγκατάσταση του γραφικού περιβάλλοντος (KDE, GNOME..);
| |-- δίκτυο αρχείο ρύθμισης παραμέτρων υποσυστήματος δικτύου
| --- i18n διαμόρφωση τοπικών ρυθμίσεων σε όλο το σύστημα (οι μεμονωμένες τοπικές ρυθμίσεις χρήστη ενδέχεται να περιέχονται στο (home)/i18n).
|-- /ασφάλεια/ περιέχει Αρχεία που περιγράφουν την ασφάλεια του συστήματος:
| |-- κονσόλα.perms κανόνες για την αλλαγή των δικαιωμάτων πρόσβασης σε συσκευές κατά τον έλεγχο ταυτότητας·
| |-- όρια.conf διαμόρφωση των ορίων χρήστη.
| --- δίκτυο διαμόρφωση δικτύου?
|-- /skel/ πρότυπο καταλόγου χρήστη (κατά τη στιγμή της δημιουργίας του χρήστη, τα περιεχόμενα του καταλόγου χρήστη αντιγράφονται από εδώ), ένα είδος αναλόγου του καταλόγου C:\Documents and settings\Default User\ στα Windows.
|-- /xinetd.d/ κατάλογος περιέχει αρχεία ρυθμίσεων μεμονωμένες υπηρεσίεςγια superserver xinetd?
|-- /X11/ /fs/config περιέχει μια λίστα καταλόγων με γραμματοσειρές για το X.
| |-- XF86 Config X αρχείο διαμόρφωσης (XFree86);
| --- xorg.conf X αρχείο διαμόρφωσης (XOrg);
|-- στο.επιτρέπω Λίστα χρηστών που επιτρέπουν (επιτρέπουν) ή αρνούνται (αρνούνται) την εκτέλεση του βοηθητικού προγράμματος στο
|-- στο.άρνηση
|-- cron.επιτρέπω Λίστα χρηστών που επιτρέπουν (επιτρέπουν) ή αρνούνται (αρνούνται) την εκτέλεση
|-- cron.αρνούνται
|-- ανακροντάμπ ρύθμιση παραμέτρων των εργασιών που εκτελούνται από το anacron.
|-- crontab ρύθμιση παραμέτρων των εργασιών που εκτελούνται από το cron.
|-- αιθέρες Ένα αρχείο που αντιστοιχίζει τις διευθύνσεις MAC υλικού με τις διευθύνσεις IP δικτύου στο δίκτυο, σε περίπτωση αναντιστοιχίας, η πρόσβαση για τον κεντρικό υπολογιστή θα απαγορεύεται.
|-- εξαγωγή Διαμόρφωση πόρων NFS προσβάσιμων από έξω.
|-- συστήματα αρχείων λίστα συστημάτων αρχείων που υποστηρίζονται από τον πυρήνα (το σύστημα αρχείων λαμβάνεται από εδώ, εάν δεν αναφέρεται στο /etc/fstab)
|-- fstab λίστα αρχείων που προσαρτώνται αυτόματα κατά την εκκίνηση
|-- ομάδα βάση δεδομένων
|-- gshadow αρχείο κωδικού πρόσβασης ομάδας χρηστών
|-- όνομα κεντρικού υπολογιστή τρέχον όνομα μηχανήματος.
|-- Οικοδεσπότες μια λίστα κεντρικών υπολογιστών και τις αντίστοιχες διευθύνσεις IP τους.
|-- φιλοξενεί.επιτρέπω λίστα κεντρικών υπολογιστών που επιτρέπεται να συνδεθούν·
|-- οικοδεσπότης.άρνηση λίστα κεντρικών υπολογιστών για τους οποίους απαγορεύεται η είσοδος (για libc έκδοση 5).
|-- host.conf υποδεικνύει πού και με ποια σειρά να αναζητηθούν ονόματα κεντρικών υπολογιστών (για libc έκδοση 6).
|-- inittab ;
|-- inputrc Διαμόρφωση πόρων εισόδου πληκτρολογίου.
|-- θέμα μήνυμα που εμφανίζεται όταν τοπική σύνδεσηστο σύστημα
|-- issue.net εμφανίζεται μήνυμα κατά την απομακρυσμένη σύνδεση στο σύστημα
|-- ld.so.conf αρχείο ρυθμίσεων που περιέχει μια λίστα καταλόγων στους οποίους, εκτός από τις καθορισμένες διαδρομές, ο σύνδεσμος αναζητά στους καταλόγους /lib και /usr/lib
|-- ld.so.cache cache αρχείων βιβλιοθήκης, για περισσότερα γρήγορη αναζήτησηβιβλιοθήκες (ένα είδος ευρετηρίου)
|-- login.defs περιγράφει τη συμπεριφορά του login και του su.
|-- logrotate.conf διαμόρφωση δαίμονα
|-- lilo.conf Διαμόρφωση φορτωτή εκκίνησης LILO.
|-- άνδρας.conf Διαμόρφωση συστήματος σελίδας βοήθειας, εντολή man.
|-- motd ένα μήνυμα που εμφανίζεται σε όλους τους χρήστες μετά την εισαγωγή ενός κωδικού πρόσβασης και πριν από την έναρξη του διερμηνέα, το λεγόμενο. "μήνυμα της ημέρας"
|-- mtab Λίστα των επί του παρόντος τοποθετημένων FS. Συνήθως, αυτό το αρχείο θα πρέπει να δημιουργηθεί αμέσως μόλις προσαρτηθεί ένα νέο σύστημα αρχείων.
|-- netgroup αρχείο ορίζει ομάδες δικτύου, χρησιμοποιείται για τον έλεγχο των δικαιωμάτων πρόσβασης κατά την εκτέλεση απομακρυσμένης σύνδεσης.
|-- nologin η παρουσία αυτού του αρχείου εμποδίζει τους χρήστες να συνδεθούν στο σύστημα με ένα μήνυμα στο αρχείο.
|-- nsswitch.conf διαμόρφωση της ακολουθίας αναζητήσεων ονομάτων από διάφορες πηγές.
|-- passwd
|-- καπάκι εκτύπωσης Αρχείο διαμόρφωσης εκτυπωτή.
|-- Προφίλ σενάριο προφίλ για Διερμηνέας BASH(διενεργείται μετά την εγγραφή στο σύστημα και χρησιμοποιείται για όλους τους χρήστες του συστήματος).
|-- πρωτόκολλα το αρχείο περιγράφει αριθμούς πρωτοκόλλου, τίτλους και περιγραφές.
|-- resolv.conf ρύθμιση παραμέτρων επίλυσης ονόματος, περιέχει μια λίστα διακομιστών DNS.
|-- rpc το αρχείο περιγράφει τις υπηρεσίες RPC (αντίστοιχο όνομα Διακομιστής RPC, αριθμός προγράμματος RPC και ψευδώνυμα)
|-- Υπηρεσίες περιέχει αντιστοιχίσεις αριθμών θύρας/υποδοχής σε ονόματα υπηρεσιών
|-- σκιά
|-- sysctl.conf περιέχει εντολές για αυτόματη προετοιμασία των παραμέτρων sysctl του πυρήνα.
|-- syslog.conf ρύθμιση παραμέτρων του δαίμονα καταγραφικού συστήματος (syslogd).
|-- sudoers μια ένδειξη από ποιους χρήστες και ποια προγράμματα μπορούν να εκκινηθούν δικαιώματα rootχρησιμοποιώντας sudo.
--- xinetd.conf Διαμόρφωση υπερδιακομιστή Διαδικτύου (κεντρική διαχείριση πρίζας/θύρας).
/Σπίτι/ (όνομα χρήστη) κατάλογος που περιέχει υποκαταλόγους χρήστη (ρυθμίσεις διεπαφής, προσωπικά αρχεία)
|-- .bashrc Προφίλ συγκεκριμένο χρήστηγια BASH (εκτελείται όταν ξεκινά το bash ή ξεκινά ένα αντίγραφο του bash).
|-- .cshrc συγκεκριμένο προφίλ χρήστη για TCSH.
|-- .bash_profile προφίλ συγκεκριμένου χρήστη για το BASH (εκτελείται κάθε φορά που συνδέεστε).
|-- .inputrc διαμόρφωση πόρων εισόδου πληκτρολογίου για συγκεκριμένο χρήστη.
|-- .Αυθεντία αρχείο εξουσιοδότησης για την απομακρυσμένη εκκίνηση εφαρμογών X, τα αρχεία ενεργοποιούνται απομακρυσμένα μηχανήματαπρέπει να αντιστοιχεί?
|-- .xinitrc X σενάριο εκκίνησης διακομιστή για συγκεκριμένο χρήστη.
--- .σχέδιο
.έργο
.προς τα εμπρός
Αυτά τα αρχεία χρησιμοποιούνται από το βοηθητικό πρόγραμμα δακτύλων για την εμφάνιση πληροφοριών χρήστη
/lib/ Απαιτούνται βιβλιοθήκες συστήματος για προγράμματα και λειτουργικές μονάδες πυρήνα. (Στα Windows, οι βιβλιοθήκες είναι ενότητες dll)
/χαμένος+βρέθηκε Το Lost+found περιέχει αρχεία που δεν έχουν συνδέσμους σε κανέναν κατάλογο, αν και τα inod τους δεν επισημάνθηκαν ως δωρεάν.
/μεσο ΜΑΖΙΚΗΣ ΕΝΗΜΕΡΩΣΗΣ/ Κατάλογος για την τοποθέτηση αφαιρούμενων μέσων (CD, Flash)
|-- /μονάδα οπτικού δίσκου/
/mnt/ Ο κατάλογος περιέχει προσωρινά σημεία προσάρτησης για συσκευές
/επιλέγω/ Πρόσθετα πακέτα λογισμικού. Εάν το πρόγραμμα που είναι εγκατεστημένο εδώ δεν χρειάζεται πλέον, τότε αρκεί να διαγράψετε τον κατάλογό του χωρίς τη διαδικασία απεγκατάστασης. Προγράμματα που δεν αποτελούν μέρος της διανομής μπορούν να εγκατασταθούν εδώ. (για παράδειγμα /opt/openoffice.org).
/proc/ Ένα εικονικό FS που αποθηκεύεται στη μνήμη του υπολογιστή όταν φορτώνεται το λειτουργικό σύστημα. Αυτός ο κατάλογος περιέχει τις πιο πρόσφατες πληροφορίες σχετικά με όλες τις διεργασίες που εκτελούνται στον υπολογιστή. Το περιεχόμενο κάθε αρχείου προσδιορίζεται σε πραγματικό χρόνο. Μεταξύ αυτού του καταλόγου, θα ήθελα να επισημάνω τα ακόλουθα αρχεία και καταλόγους:
|-- /καθαρά/
| -- αρπ τρέχον πίνακα arp
|-- /sys/kernel/
| |-- καπάκι διαχείριση πρόσθετων δικαιωμάτων, όπως γίνεται στην τελευταία γραμμή για το σενάριο προφίλ δισκέτας.tr για τον διερμηνέα BASH (εκτελείται από το td/tdtda name="proc" μετά τη σύνδεση στο σύστημα και χρησιμοποιείται για όλους τους χρήστες του συστήματος εσύ (ρίζα) (0 - δικαιώματα ρίζαςακυρώνονται)·
| |-- όνομα κεντρικού υπολογιστή τρέχον όνομα υπολογιστή
| |-- όνομα τομέα Όνομα τομέα υπολογιστή
| |-- osrelease έκδοση πυρήνα συστήματος.
| |-- ostype Τύπος λειτουργικού συστήματος (Linux, *BSD, ...);
| --- εκδοχή ημερομηνία κατασκευής του πυρήνα.
|-- cpuinfo Τρέχουσες πληροφορίες επεξεργαστή
|-- cmdline λίστα παραμέτρων που μεταβιβάζονται στον πυρήνα κατά την εκκίνηση
|-- συσκευές συσκευές συστήματος
|-- dma Κανάλια DMA που χρησιμοποιούνται αυτήν τη στιγμή
|-- διακόπτει Μετρητές για τον αριθμό των IRQ στην αρχιτεκτονική i386.
|-- ioports Θύρες I/O
|-- συστήματα αρχείων υποστηρίζεται από την FS
|-- φορτίοvg πληροφορίες φορτίου συστήματος
|-- kcore περιεχόμενο της φυσικής μνήμης την τρέχουσα στιγμή
|-- kmsg μηνύματα που εκδίδονται από τον πυρήνα (αντίγραφο καταγραφής συστήματος)
|-- mdstat εμφάνιση στατιστικών στοιχείων των συστοιχιών RAID λογισμικού
|-- meminfo πληροφορίες μνήμης
|-- ενότητες φορτωμένες μονάδες πυρήνα
|-- βάσεις τοποθετημένο FS
|-- χωρίσματα πληροφορίες για το διαμέρισμα του δίσκου
|-- pci Μια πλήρης λίστα με όλες τις συσκευές PCI που βρέθηκαν κατά την προετοιμασία του πυρήνα, μαζί με τη διαμόρφωσή τους.
|-- ανταλλαγές πληροφορίες για όλα τα swap partitions που είναι συνδεδεμένα στο σύστημα
|-- χρόνο λειτουργίας χρόνο λειτουργίας
|-- εκδοχή έκδοση πυρήνα
|-- /ψηφιακό/ οι κατάλογοι που περιέχουν σύνολα αριθμών στα ονόματά τους αντιστοιχούν στον αριθμό GID της διεργασίας και περιέχουν πληροφορίες σχετικά με τη διεργασία που εκτελείται στην οποία αντιστοιχεί το GID.
| |-- /fd/* περιέχει δείκτες σε όλα τα αρχεία που ανοίγονται από τη διαδικασία
| |-- cmdline γεμάτος γραμμή εντολώνεκτέλεση μιας διαδικασίας έως ότου η διαδικασία "ξεφορτωθεί" ή γίνει "ζόμπι"
| |-- cwd συμβολικός σύνδεσμος στον τρέχοντα κατάλογο εργασίας της διαδικασίας
| |-- περιβάλλω περιέχει το περιβάλλον της διαδικασίας
| |-- exe περιέχει μια μαλακή σύνδεση με τη δυαδική διαδικασία
| |-- όρια περιέχει πληροφορίες σχετικά με τα όρια διεργασιών (για παράδειγμα, όριο ανοιχτά αρχεία, προτεραιότητα διαδικασίας κ.λπ.)
| |-- ρίζα μαλακό σύνδεσμο στον κατάλογο χρήστη root για τη διαδικασία
| --- κατάσταση Πληροφορίες σχετικά με τη διαδικασία παρουσιάζονται σε μια αρκετά ευδιάκριτη μορφή. Περιλαμβάνει, ειδικότερα, τις ακόλουθες γραμμές:
  • Ονομα εκτελέσιμο αρχείοδιαδικασία σε παρένθεση?
  • Κατάσταση διαδικασίας.
  • Αναγνωριστικό διαδικασίας
  • Αναγνωριστικό γονικής διαδικασίας
  • Αναγνωριστικό ομάδας διεργασίας
  • και τα λοιπά.
/ρίζα/ στον αρχικό κατάλογο του χρήστη root, αυτός ο κατάλογος πρέπει να βρίσκεται στο root FS ώστε ο διαχειριστής να μπορεί να συνδεθεί σε αυτόν.
/sbin/ Αυτός ο κατάλογος περιέχει τα κύρια δυαδικά αρχεία συστήματος, εντολές για διαχείριση συστήματος, καθώς και προγράμματα που εκτελούνται κατά την εκκίνηση του λειτουργικού συστήματος. Εδώ είναι τα στοιχεία που τρέχουν Ιστορικό, κατά μία έννοια, αυτός ο κατάλογος είναι ανάλογος με τους φακέλους c:\Windows\system\ και c:\Windows\system32\.
--- ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ βοηθητικό πρόγραμμα τερματισμού λειτουργίας συστήματος
/srv/ δεδομένα παρεχόμενων υπηρεσιών από το Λ.Σ
/sys/ Αυτός είναι ο κατάλογος στον οποίο είναι προσαρτημένο το εικονικό σύστημα αρχείων sysfs, το οποίο προσθέτει πληροφορίες πυρήνα Linux σχετικά με τις συσκευές και τα προγράμματα οδήγησης που υπάρχουν στο σύστημα στο χώρο χρήστη. (Δεν χρησιμοποιείται σε εκδόσεις πυρήνα κάτω από την 2.6)
|-- /ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ/ ο κατάλογος περιέχει υποκαταλόγους όλων των μπλοκ συσκευών που υπάρχουν αυτήν τη στιγμή στο σύστημα.
|-- /λεωφορείο/ Αυτός ο κατάλογος περιέχει μια λίστα με διαύλους που ορίζονται στον πυρήνα του Linux (eisa, pci, κ.λπ.).
--- /τάξη/ Ο κατάλογος περιέχει μια λίστα συσκευών ομαδοποιημένων ανά κλάση (εκτυπωτής, συσκευές scsi, κ.λπ.).
/tmp/ Προσωρινά αρχεία. Αυτός ο κατάλογος είναι παρόμοιος με το c:\Windows\temp. Συνήθως το Linux διαγράφει αυτόν τον κατάλογο κατά την εκκίνηση.
/usr/ Αυτός ο κατάλογος αποθηκεύει όλα τα εγκατεστημένα πακέτα λογισμικού, την τεκμηρίωση, τον πηγαίο κώδικα του πυρήνα και το X Window System. Όλοι οι χρήστες εκτός από τη ρίζα υπερχρήστη έχουν πρόσβαση μόνο για ανάγνωση. Μπορεί να τοποθετηθεί σε δίκτυο και μπορεί να μοιραστεί μεταξύ πολλών μηχανημάτων.
|-- /αποθήκη/ Κατάλογος πρόσθετων προγραμμάτων για όλους τους λογαριασμούς.
|-- /περιλαμβάνω/ Αρχεία κεφαλίδας C++.
|-- /lib/ Βιβλιοθήκες συστήματος για προγράμματα που βρίσκονται στον κατάλογο /usr
| /τοπικός/ Σύμφωνα με το πρότυπο, το /usr πρέπει να είναι κοινό σε πολλούς υπολογιστές και να είναι τοποθετημένο στο δίκτυο και το /usr/local θα πρέπει να περιέχει εγκατεστημένα πακέτα προγραμμάτων μόνο στον τοπικό υπολογιστή (για παράδειγμα, /usr είναι ο οικογενειακός προϋπολογισμός και /usr/local είναι το προσωπικό πορτοφόλι του καθενός). Αλλά τις περισσότερες φορές, ο κατάλογος /usr/local χρησιμοποιείται για την εγκατάσταση προγραμμάτων που δεν προορίζονται για μια συγκεκριμένη διανομή (για παράδειγμα, για τη διανομή πακέτων Ubuntu, το /usr περιέχει "εγγενή" εγκατεστημένα πακέτα και το /usr/local περιέχει μεταγλωττισμένα πακέτα από πηγές).
| |-- /αποθήκη/
| |-- /lib/
| |-- ...
|-- /sbin/ Πρόσθετα προγράμματα συστήματος.
|-- /μερίδιο/ Γενικά δεδομένα εγκατεστημένων προγραμμάτων.
| |-- /εικονίδια/ Ο κατάλογος περιέχει όλα τα εικονίδια συστήματος.
| --- /doc/ Ο κατάλογος που συνήθως περιέχει τεκμηρίωση βοήθειας για εγκατεστημένα προγράμματα.
|-- /src/ Ο κατάλογος περιέχει πηγαίους κώδικες(για παράδειγμα, οι πηγαίοι κώδικες του πυρήνα βρίσκονται εδώ).
|-- /X11R6/bin/ Χ σύνδεση με τον τρέχοντα διακομιστή X.
|-- μαγεία.μίμη αρχεία που αποθηκεύουν τον "μαγικό αριθμό". Αυτός ο αριθμόςπεριγράφει τον τύπο αρχείου για το βοηθητικό πρόγραμμα αρχείο.
--- μαγεία
/var Τα δεδομένα που αλλάζουν συχνά βρίσκονται εδώ (αρχεία καταγραφής λειτουργικού συστήματος, αρχεία καταγραφής συστήματος, αρχεία προσωρινής μνήμης κ.λπ.)
|-- /κρύπτη Εδώ αποθηκεύονται όλα τα αποθηκευμένα δεδομένα από διάφορα προγράμματα.
|-- /lib Μόνιμα δεδομένα που τροποποιούνται από προγράμματα κατά τη λειτουργία (για παράδειγμα, βάσεις δεδομένων, μεταδεδομένα διαχείρισης πακέτων, κ.λπ.).
| --- /rpm/ Βάση δεδομένων διαχείρισης πακέτων RPM
|-- /κλειδαριά Ακολουθούν αρχεία κλειδώματος που υποδεικνύουν ότι κάποιος πόρος είναι απασχολημένος.
|-- /κούτσουρο/ αυτός ο κατάλογος περιέχει όλα τα αρχεία καταγραφής συστήματος
| |-- wtmp (δυαδική μορφή) περιέχει επιτυχημένες προσπάθειες σύνδεσης και αποσύνδεσης
| |-- utmp (δυαδική μορφή) περιέχει χρήστες που έχουν συνδεθεί αυτήν τη στιγμή
| |-- lastlog (δυαδική μορφή) περιέχει πότε κάθε χρήστης συνδέθηκε τελευταία φορά
| -- btmp (δυαδική μορφή) ΔΕΝ περιέχει επιτυχημένες προσπάθειες σύνδεσης/αποσύνδεσης
|-- /πηνίο Εργασίες που αναμένουν επεξεργασία (για παράδειγμα, ουρές εκτύπωσης, μη αναγνωσμένα ή μη απεσταλμένα email, εργασίες cron κ.λπ.).
--- /www Αυτή η τοποθεσία φιλοξενεί τις ιστοσελίδες για τον διακομιστή Apache.

Εδώ, με λίγα λόγια, είναι ο σκοπός των καταλόγων Linux. Στο μέλλον, αυτός ο πίνακας θα συμπληρωθεί καθώς μελετώ το λειτουργικό σύστημα LINUX. Θα ήθελα να σημειώσω ότι ορισμένες διανομές μπορεί να έχουν ελαφρώς διαφορετικές δομές καταλόγου και μπορεί να προσθέσουν άλλους καταλόγους. Αλλά στη γενική περίπτωση, η δομή έχει τη μορφή που υποδεικνύεται παραπάνω.

Αυτά για σήμερα. Το επόμενο άρθρο θα παρέχει ένα φύλλο εξαπάτησης για τις βασικές εντολές Linux.

Πρωτότυπο: "The Linux Directory Structure Explained"
Συγγραφέας: Chris Hoffman
Ημερομηνία δημοσίευσης: 6 Ιουνίου 2012
Μετάφραση: Ν. Ρομοντάνοφ
Ημερομηνία μετάφρασης: Ιούλιος 2012

Εάν προέρχεστε από σύστημα Windows, η δομή του συστήματος αρχείων Linux μπορεί να φαίνεται ιδιαίτερα περίεργη. Η συσκευή C:\ και τα γράμματα άλλων συσκευών έχουν εξαφανιστεί, δίνοντας τη θέση τους στον κατάλογο / και άλλους καταλόγους με μυστηριώδη ονόματα, τα περισσότερα από τα οποία είναι τριών γραμμάτων

Η δομή του συστήματος αρχείων στο Linux και σε άλλα λειτουργικά συστήματα παρόμοια με το UNIX ορίζεται από το Πρότυπο Ιεραρχίας Συστήματος Αρχείων (FHS). Ωστόσο, τα συστήματα αρχείων Linux έχουν επίσης ορισμένους καταλόγους που δεν έχουν ακόμη καθοριστεί σε αυτό το πρότυπο.

Κατάλογος ρίζας - /

Τα πάντα στο σύστημά σας Linux βρίσκονται στον κατάλογο /, γνωστός ως ριζικός κατάλογος. Μπορείτε να σκεφτείτε τον κατάλογο / ως ανάλογο με τη συσκευή C:\ Σύστημα Windows- αλλά αυτό δεν είναι απολύτως αληθές, αφού το Linux δεν χρησιμοποιεί γράμματα για συσκευές. Ενώ ένα άλλο διαμέρισμα δίσκου μπορεί να βρίσκεται στο D:\ στα Windows, αυτό το άλλο διαμέρισμα στο Linux θα εμφανίζεται ως άλλος υποκατάλογος κάτω από τον κατάλογο /.


/bin – βασικές δυαδικές μονάδες χρήστη

Ο κατάλογος /bin περιέχει τις κύριες δυαδικές μονάδες χρήστη (προγράμματα) που πρέπει να υπάρχουν εάν το σύστημα είναι προσαρτημένο σε λειτουργία ενός χρήστη. Εφαρμογές όπως ο Firefox αποθηκεύονται στο /usr/bin, ενώ σημαντικά προγράμματα συστήματος και βοηθητικά προγράμματα όπως το Command κέλυφος bash, που βρίσκεται στον κατάλογο /bin. Ο κατάλογος /usr μπορεί να αποθηκευτεί σε διαφορετικό διαμέρισμα - η τοποθέτηση αυτών των αρχείων στον κατάλογο /bin διασφαλίζει ότι το σύστημα θα έχει αυτά τα σημαντικά βοηθητικά προγράμματα ακόμα κι αν δεν έχουν προσαρτηθεί άλλα συστήματα αρχείων. Ο κατάλογος /sbin είναι παρόμοιος - περιέχει τις κύριες δυαδικές μονάδες που χρησιμοποιούνται για τη διαχείριση του συστήματος.


/boot – στατικά αρχεία εκκίνησης

Ο κατάλογος /boot περιέχει αρχεία που απαιτούνται για την εκκίνηση του συστήματος - για παράδειγμα, τα αρχεία αποθηκεύονται εδώ GRUB bootloaderκαι τους πυρήνες Linux σας. Δεν υπάρχουν αρχεία διαμόρφωσης που χρησιμοποιούνται από τον bootloader - βρίσκονται στον κατάλογο /etc μαζί με άλλα αρχεία διαμόρφωσης.

/cdrom – ιστορικά επιλεγμένο σημείο προσάρτησης για CD

Ο κατάλογος /cdrom δεν αποτελεί μέρος του προτύπου FHS, αλλά μπορείτε ακόμα να τον βρείτε στο Ubuntu και σε άλλα λειτουργικά συστήματα. Αυτό είναι ένα προσωρινό μέρος όπου τοποθετούνται CD-ROMόταν εισάγονται στον υπολογιστή. Ωστόσο, η τυπική θέση για τα προσαρτημένα μέσα βρίσκεται μέσα στον κατάλογο /media.

/dev – αρχεία συσκευής

Στο Linux, οι συσκευές παρέχονται ως αρχεία και ο κατάλογος /dev περιέχει έναν αριθμό ειδικών αρχείων που αντιπροσωπεύουν συσκευές. Αυτά δεν είναι τα αρχεία που γνωρίζουμε, αλλά εδώ εμφανίζονται ως αρχεία - για παράδειγμα, με το /dev/sda το πρώτο αντιπροσωπεύεται μονάδα SATA, διαθέσιμο στο σύστημα. Εάν χρειάζεστε ένα διαμέρισμα σε αυτό, πρέπει να εκκινήσετε το πρόγραμμα επεξεργασίας διαμερισμάτων και να του πείτε να επεξεργαστεί το /dev/sda.

Αυτός ο κατάλογος περιέχει επίσης ψευδο-συσκευές, οι οποίες είναι εικονικές συσκευέςκαι για την οποία μάλιστα δεν υπάρχει αντίστοιχη πραγματική συσκευή. Για παράδειγμα, το αρχείο /dev/random δημιουργεί τυχαίους αριθμούς. Το αρχείο /dev/null είναι μια ειδική συσκευή που δεν παράγει έξοδο και διαγράφει αυτόματα όλες τις εισόδους - όταν ανακατευθύνετε την έξοδο μιας εντολής στο /dev/null, τη διαγράφετε.


/etc – αρχεία διαμόρφωσης

Ο κατάλογος /etc περιέχει αρχεία διαμόρφωσης που συνήθως μπορούν να επεξεργαστούν με μη αυτόματο τρόπο επεξεργαστής κειμένου. Σημειώστε ότι ο κατάλογος /etc/ περιέχει αρχεία διαμόρφωσης σε όλο το σύστημα. Τα αρχεία ρυθμίσεων χρήστη βρίσκονται στον αρχικό κατάλογο κάθε χρήστη.

/home – αρχικοί κατάλογοι

Ο κατάλογος /home περιέχει τον αρχικό κατάλογο κάθε χρήστη. Για παράδειγμα, εάν το όνομα χρήστη σας είναι bob, τότε έχετε έναν αρχικό κατάλογο που είναι /home/bob. Αυτός ο κατάλογος περιέχει αρχεία με δεδομένα χρήστη και αρχεία ρυθμίσεων για έναν συγκεκριμένο χρήστη. Κάθε χρήστης έχει πρόσβαση εγγραφής μόνο στον αρχικό του κατάλογο και για να αλλάξει άλλα αρχεία στο σύστημα θα πρέπει να αποκτήσει υψηλότερα δικαιώματα πρόσβασης (να γίνει χρήστης root).


/lib – κύριες κοινόχρηστες βιβλιοθήκες

Ο κατάλογος /lib περιέχει τις βιβλιοθήκες που απαιτούνται για τα δυαδικά αρχεία πυρήνα που βρίσκονται στους καταλόγους /bin και /sbin. Οι βιβλιοθήκες που απαιτούνται από τα δυαδικά αρχεία που βρίσκονται στον κατάλογο /usr/bin βρίσκονται στον κατάλογο /usr/lib.

/lost+found – ανακτημένα αρχεία

Κάθε σύστημα αρχείων Linux έχει έναν κατάλογο lost+found. Εάν παρουσιαστεί αποτυχία συστήματος αρχείων, τότε επόμενη μπόταΤο σύστημα αρχείων θα ελεγχθεί. Τυχόν κατεστραμμένα αρχεία που βρέθηκαν θα τοποθετηθούν στον κατάλογο lost+found, ώστε να μπορείτε να προσπαθήσετε να ανακτήσετε όσο το δυνατόν περισσότερα δεδομένα.

/media – συνδεδεμένα μέσα

Ο κατάλογος περιέχει υποκαταλόγους στους οποίους γίνεται προσάρτηση αφαιρούμενα μέσα, εισάγεται στον υπολογιστή. Για παράδειγμα, όταν εισάγετε ένα CD σε ένα σύστημα Linux, ένας αντίστοιχος υποκατάλογος θα δημιουργηθεί αυτόματα στον κατάλογο /media. Σε αυτόν τον υποκατάλογο μπορείτε να έχετε πρόσβαση στα περιεχόμενα του CD.

/mnt – προσωρινά σημεία προσάρτησης

Ιστορικά, ο κατάλογος /mnt βρίσκεται εκεί διαχειριστές συστήματοςπροσαρτούν προσωρινά συστήματα αρχείων όταν τα χρησιμοποιούν. Για παράδειγμα, αν τοποθετήσετε Διαμέρισμα των WindowsΓια να εκτελέσετε ορισμένες λειτουργίες ανάκτησης αρχείων, μπορείτε να το προσαρτήσετε στο /mnt/windows. Αλλά μπορείτε να προσαρτήσετε άλλα συστήματα αρχείων σε οποιαδήποτε άλλη θέση.

/opt – βοηθητικά πακέτα

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

/proc – αρχεία πυρήνα και διεργασίας

Ο κατάλογος /proc είναι παρόμοιος με τον κατάλογο /dev στο ότι δεν περιέχει τυπικά αρχεία. Περιέχει ειδικά αρχεία, το οποίο παρέχει πληροφορίες σχετικά με το σύστημα και τις διαδικασίες.


/root – αρχικός κατάλογος χρήστη root

Ο κατάλογος /root είναι ο κεντρικός κατάλογος του χρήστη root. Αντί να είναι στο /home/root, τοποθετείται στο /root. Αυτός ο κατάλογος είναι διαφορετικός από τον κατάλογο /, που είναι ο ριζικός κατάλογος του συστήματος.

/run – αρχεία κατάστασης εφαρμογής

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

/sbin – δυαδικά αρχεία διαχείρισης συστήματος

Ο κατάλογος /sbin είναι παρόμοιος με τον κατάλογο /bin. Περιέχει σημαντικά δυαδικά αρχεία που συνήθως προορίζονται να εκτελεστούν από τον χρήστη κατά τη διαχείριση του συστήματος.


/selinux – εικονικό σύστημα αρχείων SELinux

Εάν η διανομή σας χρησιμοποιεί SELinux για ασφάλεια (όπως το Fedora και κόκκινο καπέλο), τότε ο κατάλογος /selinux θα περιέχει ειδικά αρχεία που χρησιμοποιούνται από το SELinux. Αυτός ο κατάλογος είναι παρόμοιος με τον κατάλογο /proc. Το Ubuntu δεν χρησιμοποιεί SELinux, επομένως η παρουσία αυτού του φακέλου στο Ubuntu είναι μάλλον λάθος.

/srv – δεδομένα υπηρεσίας

Ο κατάλογος /srv περιέχει "δεδομένα για υπηρεσίες που παρέχονται από το σύστημα". Εάν χρησιμοποιείτε Διακομιστής Apache HTTP για να εξυπηρετήσει έναν ιστότοπο, τότε πιθανότατα θα αποθηκεύσετε τα αρχεία του ιστότοπού σας σε έναν κατάλογο που βρίσκεται μέσα στον κατάλογο /srv.

/tmp – προσωρινά αρχεία

Οι εφαρμογές αποθηκεύουν προσωρινά αρχεία στον κατάλογο /tmp. Τέτοια αρχεία συνήθως διαγράφονται κάθε φορά που το σύστημά σας επανεκκινείται και μπορούν να διαγραφούν ανά πάσα στιγμή χρησιμοποιώντας βοηθητικά προγράμματα όπως το βοηθητικό πρόγραμμα tmpwatch.

/usr – δυαδικά αρχεία χρήστη και δεδομένα μόνο για ανάγνωση

Ο κατάλογος /usr περιέχει εφαρμογές και αρχεία που χρησιμοποιούνται από τους χρήστες, σε αντίθεση με εφαρμογές και αρχεία που χρησιμοποιούνται από το σύστημα. Για παράδειγμα, οι μη κρίσιμες εφαρμογές βρίσκονται στο /usr/bin και όχι στο /bin και τα μη κρίσιμα δυαδικά αρχεία που προορίζονται για διαχείριση συστήματος βρίσκονται στο /usr/sbin αντί στο /sbin. Οι βιβλιοθήκες για αυτές βρίσκονται μέσα στον κατάλογο /usr/lib. Ο κατάλογος έχει επίσης άλλους υποκαταλόγους - για παράδειγμα, ο κατάλογος /usr/share περιέχει αρχεία που είναι ανεξάρτητα από την αρχιτεκτονική του συστήματος, για παράδειγμα, αυτά που χρησιμοποιούνται για εργασία με γραφικά.

Ο κατάλογος /usr/local είναι όπου εγκαθίστανται τοπικά μεταγλωττισμένες εφαρμογές από προεπιλογή - αυτό θα τους εμποδίσει να παρεμβαίνουν στο υπόλοιπο σύστημα.


/var – αρχεία για την αποθήκευση μεταβαλλόμενων δεδομένων

Ο κατάλογος /var είναι παρόμοιος με τον κατάλογο /usr, αλλά ο κατάλογος /var είναι εγγράψιμος και ο κατάλογος /usr μπορεί να εγγραφεί. κανονική λειτουργίαείναι μόνο για ανάγνωση. Τα αρχεία καταγραφής και οτιδήποτε άλλο θα γραφόταν κανονικά στον κατάλογο /usr εγγράφονται στον κατάλογο /var. Για παράδειγμα, μπορείτε να βρείτε αρχεία καταγραφής στον κατάλογο /var/log.

Για περισσότερες πληροφορίες τεχνικές πληροφορίεςΓια πληροφορίες σχετικά με την ιεραρχία συστήματος αρχείων στο Linux, ανατρέξτε στην τεκμηρίωση για το Πρότυπο Ιεραρχίας Συστήματος Αρχείων, έκδοση 2.3.

Σημείωση: Στον ιστότοπό μας υπάρχει μια μετάφραση της έκδοσης 2.2 του FHS, καθώς και μια μετάφραση ενός άρθρου που επιχειρεί να εξηγήσει τους λόγους για τους οποίους εμφανίστηκε αυτή η συγκεκριμένη έκδοση της δομής καταλόγου UNIX.