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

Αυτο 07.07.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Chercher

Αυτο Εισαγωγή στο Σύστημα Αρχείων, επί του παρόντος το πιο ευρέως χρησιμοποιούμενο: 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/ ο κατάλογος περιέχει αρχεία διαμόρφωσης για μεμονωμένες υπηρεσίες για τον υπερδιακομιστή 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)
|-- /cdrom/
/mnt/ Ο κατάλογος περιέχει προσωρινά σημεία προσάρτησης για συσκευές
/opt/ Πρόσθετα πακέτα λογισμικού. Εάν το πρόγραμμα που είναι εγκατεστημένο εδώ δεν χρειάζεται πλέον, τότε αρκεί να διαγράψετε τον κατάλογό του χωρίς τη διαδικασία απεγκατάστασης. Προγράμματα που δεν αποτελούν μέρος της διανομής μπορούν να εγκατασταθούν εδώ. (για παράδειγμα /opt/openoffice.org).
/proc/ Ένα εικονικό FS που αποθηκεύεται στη μνήμη του υπολογιστή όταν φορτώνεται το λειτουργικό σύστημα. Αυτός ο κατάλογος περιέχει τις πιο πρόσφατες πληροφορίες σχετικά με όλες τις διεργασίες που εκτελούνται στον υπολογιστή. Το περιεχόμενο κάθε αρχείου προσδιορίζεται σε πραγματικό χρόνο. Μεταξύ αυτού του καταλόγου, θα ήθελα να επισημάνω τα ακόλουθα αρχεία και καταλόγους:
|-- /καθαρά/
| -- αρπ τρέχον πίνακα arp
|-- /sys/kernel/
| |-- καπάκι διαχείριση πρόσθετων δικαιωμάτων, όπως γίνεται στην τελευταία γραμμή για το script-profile floppy disk.tr για τον διερμηνέα BASH (εκτελείται από το td/tdtda name="proc" μετά την εγγραφή στο σύστημα και χρησιμοποιείται για όλους τους χρήστες του συστήματος). από εσάς (root) (0 – τα δικαιώματα root ακυρώνονται)
| |-- όνομα κεντρικού υπολογιστή τρέχον όνομα υπολογιστή
| |-- όνομα τομέα Όνομα τομέα υπολογιστή
| |-- 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.

Κάθε λειτουργικό σύστημα που μοιάζει με UNIX αποτελείται από έναν πυρήνα, κάποιο σύστημα και προγράμματα εφαρμογών. Τα προγράμματα συστήματος χρησιμοποιούν τις ευκολίες που παρέχονται από τον πυρήνα για να εκτελέσουν διάφορες λειτουργίες του λειτουργικού συστήματος. Το σύστημα και όλα τα άλλα προγράμματα εκτελούνται «στην επιφάνεια του πυρήνα» - σε λειτουργία χρήστη. Αρκετά συχνά, το λειτουργικό σύστημα περιέχει μεταγλωττιστές και τις αντίστοιχες βιβλιοθήκες τους (βιβλιοθήκες GCC και C για Linux), αν και δεν πρέπει όλες οι γλώσσες προγραμματισμού να αποτελούν μέρος του λειτουργικού συστήματος. Η τεκμηρίωση, και μερικές φορές ακόμη και τα παιχνίδια, μπορεί να είναι μέρος της. Συνήθως, η σύνθεση του λειτουργικού συστήματος καθορίζεται από τα περιεχόμενα του δίσκου εγκατάστασης.

Το λειτουργικό σύστημα Linux μπορεί να θεωρηθεί ως πυραμίδα Unix, όπως φαίνεται στο σχήμα.

Εικόνα Επίπεδα λειτουργικού συστήματος Unix

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

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

Όλα τα προγράμματα πραγματοποιούν κλήσεις συστήματος τοποθετώντας ορίσματα σε καταχωρητές CPU και εκτελώντας μια εντολή εξομοίωσης διακοπής για μετάβαση από τη λειτουργία χρήστη σε λειτουργία πυρήνα και μεταφορά ελέγχου στο λειτουργικό σύστημα Unix. Οι λειτουργίες της βιβλιοθήκης είναι υπεύθυνες για τη λειτουργία προσομοιωμένων εντολών διακοπής, μία ανά κλήση συστήματος. Έτσι, για να καλέσετε την κλήση συστήματος READ, ένα πρόγραμμα C πρέπει να καλέσει τη διαδικασία της βιβλιοθήκης READ.

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

Πολλά βοηθητικά προγράμματα μπορούν να ταξινομηθούν σε μία από τις τρεις κατηγορίες:

1 Συντάκτες;

Φίλτρα - διαβάστε τις πληροφορίες εισόδου που λαμβάνονται είτε από τον χρήστη είτε από αρχείο ή άλλη πηγή, μελετήστε και επεξεργαστείτε τις και, στη συνέχεια, παράγετε το αποτέλεσμα. Για τη σύνταξη ενός σεναρίου φίλτρου, χρησιμοποιείται μια ειδική γλώσσα AWK. Τα φίλτρα περιλαμβάνουν – grep, sort, wc, pr, cmp, comm., cpio, fmt, fgrep, srd;

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

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

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

Διανομές Linux

Διανομή Linuxείναι ένα σύνολο πακέτων λογισμικού που περιλαμβάνει βασικά στοιχεία λειτουργικών συστημάτων (συμπεριλαμβανομένου του πυρήνα Linux), ένα συγκεκριμένο σύνολο εφαρμογών λογισμικού και ένα πρόγραμμα εγκατάστασης που σας επιτρέπει να εγκαταστήσετε το λειτουργικό σύστημα GNU/Linux στον υπολογιστή ενός χρήστη χωρίς τη συμμετοχή εμπειρογνώμονας υψηλής ειδίκευσης και ένα σύνολο προγραμμάτων εφαρμογής, απαραίτητα για μια συγκεκριμένη εφαρμογή του συστήματος.

Υπάρχουν πολλοί τρόποι με τους οποίους διαφέρουν μεμονωμένες κατανομές. Εδώ είναι μερικά μόνο από αυτά:

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

απαιτήσεις υλικού·

το γραφικό κέλυφος που χρησιμοποιείται (για παράδειγμα, KDE, GNOME ή XFce).

Διαθεσιμότητα εργαλείων τοπικής προσαρμογής που παρέχουν την υποστήριξη που χρειάζεστε.

μέσα από τα οποία μπορεί να ξεκινήσει το σύστημα·

οργάνωση της διαδικασίας εκκίνησης του συστήματος (System V ή BSD).

το σύστημα διαχείρισης πακέτων που χρησιμοποιείται (για παράδειγμα, dpkg στο Debian, RPM στο Fedora Core). Το λογισμικό που περιέχεται στο πακέτο διατίθεται σε μία από τις δύο κύριες μορφές: ως δυαδικά αρχεία, τα οποία προορίζονται να εγκατασταθούν απευθείας στο σύστημά σας, χωρίς καμία πρόσθετη επεξεργασία (όπως μεταγλώττιση) και ως κείμενα πηγής, που συνήθως περιέχουν κείμενο σε κάποια γλώσσα προγραμματισμού, αρχειοθετημένο σε μορφή tar και gzip, καθώς και υποστηρικτικά αρχεία που απαιτούνται για τη μεταγλώττιση της εφαρμογής από τα αρχεία του πακέτου.

Δομή καταλόγου συστήματος αρχείων (αν και όλα τα συστήματα αρχείων θα πρέπει, εάν είναι δυνατόν, να συμμορφώνονται με το FHS - Πρότυπο Ιεραρχίας Συστήματος Αρχείων).

γενεαλογικό ή ιστορικό προέλευσης της διανομής (οι περισσότερες σύγχρονες διανομές εντοπίζουν την καταγωγή τους είτε στο Red Hat είτε στο Debian).

σύνθεση του βασικού εγκατεστημένου λογισμικού·

διαθεσιμότητα πρόσθετων πακέτων·

διαθεσιμότητα και σύνθεση εμπορικών προγραμμάτων που περιλαμβάνονται στη διανομή·

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

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

στυλ φόρτωσης?

Σύστημα διαχείρισης πακέτων·

σκοπό διανομής.

5. Σύστημα αρχείωνείναι το μέρος του λειτουργικού συστήματος που εκτελείται

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

Βασικός σύστημα αρχείωνλειτουργικό σύστημα Linuxέγινε - Ext2, με μεγάλα ονόματα αρχείων, μεγάλα αρχεία και υψηλή απόδοση. Ωστόσο, το Linux υποστηρίζει επίσης άλλα συστήματα αρχείων που χρησιμοποιούν το σύστημα αρχείων NFS. Κατά την κατασκευή ενός λειτουργικού συστήματος, το Linux σας ζητά να επιλέξετε ένα σύστημα αρχείων που θα είναι ενσωματωμένο στον πυρήνα. Άλλα συστήματα αρχείων, εάν είναι απαραίτητο, μπορούν να φορτωθούν δυναμικά κατά το χρόνο εκτέλεσης με τη μορφή λειτουργικών μονάδων.

Το Ext2 είναι πολύ παρόμοιο με το σύστημα αρχείων BSD με μικρές αλλαγές. Η τοποθέτηση του συστήματος αρχείων Ext2 στο δίσκο φαίνεται στο σχήμα.

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

6.Εξωτ.2πολύ παρόμοιο με το σύστημα αρχείων BSD με μικρές αλλαγές. Η τοποθέτηση του συστήματος αρχείων Ext2 στο δίσκο φαίνεται στο σχήμα.

Εικόνα - Τοποθέτηση συστήματος αρχείων Ext2 στο δίσκο

Αντί για ομάδες κυλίνδρων, το Ext2 χωρίζει το δίσκο σε ομάδες μπλοκ. Ο περιγραφέας ομάδας περιέχει πληροφορίες σχετικά με τη θέση των bitmaps, τον αριθμό των ελεύθερων μπλοκ και των i-nodes στην ομάδα, καθώς και τον αριθμό των καταλόγων στην ομάδα. Σε δύο πίνακες bit (συστοιχία bit μπλοκ και πίνακα bit i-node), τα ελεύθερα μπλοκ και οι ελεύθεροι κόμβοι i παρακολουθούνται. Το μέγεθος κάθε bitmap είναι ένα μπλοκ.

Παρά το γεγονός ότι ο κύριος σκοπός του συστήματος αρχείων είναι να οργανώσει αποθηκευμένους πόρους, οι προγραμματιστές δεν θα ήθελαν πραγματικά να «εφεύρουν ξανά τον τροχό» για να διαχειριστούν αντικείμενα άλλων τύπων. Στο 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 Προσωρινά σημεία τοποθέτησης
/opt Ολοι Προαιρετικά πακέτα λογισμικού εφαρμογών (δεν χρησιμοποιούνται ακόμη ευρέως)
/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 και τα περιεχόμενά του χωρίς να επηρεάζει άλλα δικαιώματα.


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

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

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

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

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

Βοηθητικά προγράμματα Ένα βοηθητικό πρόγραμμα (αγγλ. βοηθητικό πρόγραμμα ή εργαλείο) είναι ένα βοηθητικό πρόγραμμα υπολογιστή σε βοηθητικά προγράμματα λογισμικού και γλώσσες που βασίζονται σε 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 - αναζητά ένα κομμάτι κειμένου σε αρχεία που ταιριάζει με την πληκτρολογημένη μάσκα. Η μάσκα καθορίζεται από βοηθητικά προγράμματα συστήματος που περιλαμβάνονται στο λειτουργικό σύστημα και απαιτούν τη χρήση μιας τυπικής σημείωσης που ονομάζεται «κανονικές εκφράσεις» από τους διαχειριστές αρχείων της λειτουργίας (με πιθανή συμπίεση δεδομένων). [??

/ρίζα

Αυτός είναι ο αρχικός κατάλογος ή ο φάκελος Home του υπερχρήστη. Αυτός ο κατάλογος στην πραγματικότητα δεν διαφέρει από τον κατάλογο ενός κανονικού χρήστη. Αυτός ο κατάλογος βρίσκεται πάντα στον ριζικό κατάλογο του συστήματος αρχείων από προεπιλογή. Αυτό έγινε για να αποφευχθούν προβλήματα με την πρόσβαση στον κατάλογο /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 περιέχει μεταγλωττισμένα πακέτα από την πηγή).



Συνιστούμε να διαβάσετε

Κορυφή