Η δομή καταλόγων του Linux

Αν έρχεστε από τα Windows, η δομή του συστήματος αρχείων του Linux μπορεί να σας φανεί ιδιαίτερα ξένη. Η μονάδα δίσκου C:\ και τα γράμματα των μονάδων δίσκου έχουν εξαφανιστεί και έχουν αντικατασταθεί από ένα / και κρυπτογραφημένους καταλόγους, οι περισσότεροι από τους οποίους έχουν ονόματα τριών γραμμάτων. Το Πρότυπο ιεραρχίας συστημάτων αρχείων (FHS) ορίζει τη δομή των συστημάτων αρχείων στο Linux και σε άλλα λειτουργικά συστήματα που μοιάζουν με το UNIX. Ωστόσο, τα συστήματα αρχείων του Linux περιέχουν επίσης ορισμένους καταλόγους που δεν έχουν ακόμη οριστεί από το πρότυπο. “Η δομή καταλόγων του Linux”.

Η δομή καταλόγων του Linux

Διαβάστε και το άρθρο μας: Πώς το Linux σε κάνει πιο ικανό χρήστη των Windows

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

Ο ριζικός κατάλογος στο Ubuntu Linux

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

Ο κατάλογος bin σε ένα πρόγραμμα περιήγησης αρχείων στο Ubuntu Linux

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

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

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

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

Ο κατάλογος dev σε ένα πρόγραμμα περιήγησης αρχείων στο Ubuntu Linux

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

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

home_directory

Ο κατάλογος /lib περιέχει βιβλιοθήκες που χρειάζονται τα βασικά δυαδικά προγράμματα στους φακέλους /bin και /sbin. Οι βιβλιοθήκες που χρειάζονται από τα δυαδικά προγράμματα στο φάκελο /usr/bin βρίσκονται στον κατάλογο /usr/lib. Θα δείτε επίσης έναν αντίστοιχο φάκελο /lib64 σε συστήματα 64-bit.

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

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

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

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

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

Ο κατάλογος proc σε ένα πρόγραμμα περιήγησης αρχείων στο Ubuntu Linux

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

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

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

Ο κατάλογος sbin σε ένα πρόγραμμα περιήγησης αρχείων στο Ubuntu

Ένας άλλος κατάλογος που δεν αποτελεί μέρος του FHS αλλά τον συναντάμε συχνά αυτές τις μέρες είναι ο /snap. Περιέχει εγκατεστημένα πακέτα Snap και άλλα αρχεία που σχετίζονται με το Snap. Το Ubuntu χρησιμοποιεί πλέον το Snaps από προεπιλογή, αλλά αν χρησιμοποιείτε μια διαφορετική διανομή που δεν το κάνει, δεν θα δείτε αυτόν τον κατάλογο.

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

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

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

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

Ο κατάλογος usr σε ένα πρόγραμμα περιήγησης αρχείων στο Ubuntu

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

Για πιο λεπτομερείς τεχνικές πληροφορίες σχετικά με την ιεραρχία του συστήματος αρχείων του Linux, συμβουλευτείτε την τεκμηρίωση Filesystem Hierarchy Standard.

Διαβάστε επίσης: Γιατί πήγα στο Linux και δεν το μετανιώνω

Αρχεία

tar – pv – cat – tac – chmod – grep – diff – sed – ar – man – pushd – popd – fsck – testdisk – seq – fd – pandoc – cd – $PATH – awk – join – jq – fold – uniq – journalctl – tail – stat – ls – fstab – echo – less – chgrp – chown – rev – look – strings – type – rename – zip – unzip – mount – umount – install – fdisk – mkfs – rm – rmdir – rsync – df – gpg – vi – nano – mkdir – du – ln – patch – convert – rclone – shred – srm – scp – gzip – chattr – cut – find – umask – wc – tr

Διαδικασίες

alias – screen – top – nice – renice – progress – strace – systemd – tmux – chsh – history – at – batch – free – which – dmesg – chfn – usermod – ps – chroot – xargs – tty – pinky – lsof – vmstat – timeout – wall – yes – kill – sleep – sudo – su – time – groupadd – usermod – groups – lshw – shutdown – reboot – halt – poweroff – passwd – lscpu – crontab – date – bg – fg – pidof – nohup – pmap

Δικτύωση

netstat – ping – traceroute – ip – ss – whois – fail2ban – bmon – dig – finger – nmap – ftp – curl – wget – who – whoami – w – iptables – ssh-keygen – ufw – arping – firewalld

Διαβάστε επίσης: Linux Tips που Βελτίωσαν την Εμπειρία μου στα Windows


Μπορείτε να κατεβάσετε επίσης δωρεάν, πολύ ενδιαφέροντα e-books που έφτιαξα σχετικά με τη δημιουργία websites αλλά και για γλώσσες προγραμματισμού, εδώ στα free downloads.


Μπορείτε επίσης να βρείτε και να αντιγράψετε εκπληκτικές προτροπές (Prompts). Για γεννήτριες εικόνων “AI Text to Image” που συγκέντρωσα με κόπο. Μαζί με τα δείγματα των παραγόμενων εικόνων εδώ και εδώ.

Αν σας άρεσε το άρθρο κάντε κοινοποίηση