Αν έρχεστε από τα Windows, η δομή του συστήματος αρχείων του Linux μπορεί να σας φανεί ιδιαίτερα ξένη. Η μονάδα δίσκου C:\ και τα γράμματα των μονάδων δίσκου έχουν εξαφανιστεί και έχουν αντικατασταθεί από ένα / και κρυπτογραφημένους καταλόγους, οι περισσότεροι από τους οποίους έχουν ονόματα τριών γραμμάτων. Το Πρότυπο ιεραρχίας συστημάτων αρχείων (FHS) ορίζει τη δομή των συστημάτων αρχείων στο Linux και σε άλλα λειτουργικά συστήματα που μοιάζουν με το UNIX. Ωστόσο, τα συστήματα αρχείων του Linux περιέχουν επίσης ορισμένους καταλόγους που δεν έχουν ακόμη οριστεί από το πρότυπο. “Η δομή καταλόγων του Linux”.
Διαβάστε και το άρθρο μας: Πώς το Linux σε κάνει πιο ικανό χρήστη των Windows
/ – Ο ριζικός κατάλογος (Root Directory)
Τα πάντα στο σύστημα Linux βρίσκονται κάτω από τον κατάλογο /, γνωστό ως ριζικό κατάλογο (root directory). Μπορείτε να φανταστείτε ότι ο κατάλογος / είναι παρόμοιος με τον κατάλογο C:\ στα Windows – αλλά αυτό δεν είναι απόλυτα αληθές, καθώς το Linux δεν έχει γράμματα μονάδας δίσκου. Ενώ μια άλλη κατάτμηση θα βρισκόταν στο D:\ στα Windows, αυτή η άλλη κατάτμηση θα εμφανιζόταν σε έναν άλλο φάκελο κάτω από το / στο Linux.
/bin – Βασικά δυαδικά (Binaries) αρχεία χρήστη
Ο κατάλογος /bin περιέχει τα βασικά δυαδικά προγράμματα (προγράμματα) του χρήστη που πρέπει να υπάρχουν όταν το σύστημα είναι προσαρτημένο σε λειτουργία ενός χρήστη. Εφαρμογές όπως ο Firefox, αν δεν έχουν εγκατασταθεί ως Snaps, αποθηκεύονται στον κατάλογο /usr/bin, ενώ σημαντικά προγράμματα συστήματος και βοηθητικά προγράμματα όπως το κέλυφος bash βρίσκονται στον κατάλογο /bin. Ο κατάλογος /usr μπορεί να είναι αποθηκευμένος σε άλλη κατάτμηση. Η τοποθέτηση αυτών των αρχείων στον κατάλογο /bin διασφαλίζει ότι το σύστημα θα έχει αυτά τα σημαντικά βοηθητικά προγράμματα ακόμα και αν δεν έχουν προσαρτηθεί άλλα συστήματα αρχείων. Ο κατάλογος /sbin είναι παρόμοιος: περιέχει βασικά δυαδικά προγράμματα διαχείρισης του συστήματος.
/boot – Στατικά αρχεία εκκίνησης
Ο κατάλογος /boot περιέχει τα αρχεία που απαιτούνται για την εκκίνηση του συστήματος. Για παράδειγμα, εδώ αποθηκεύονται τα αρχεία του φορτωτή εκκίνησης GRUB και οι πυρήνες του Linux σας. Τα αρχεία ρυθμίσεων του φορτωτή εκκίνησης δεν βρίσκονται όμως εδώ, βρίσκονται στο /etc μαζί με τα άλλα αρχεία ρυθμίσεων.
/cdrom – Ιστορικό σημείο προσάρτησης για CD-ROM
Ο κατάλογος /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 Folders)
Ο κατάλογος /home περιέχει έναν αρχικό φάκελο για κάθε χρήστη. Για παράδειγμα, αν το όνομα χρήστη σας είναι bob, έχετε ένα φάκελο home που βρίσκεται στον κατάλογο /home/bob. Αυτός ο φάκελος home περιέχει τα αρχεία δεδομένων του χρήστη και τα αρχεία ρυθμίσεων που αφορούν τον εκάστοτε χρήστη. Κάθε χρήστης έχει πρόσβαση εγγραφής μόνο στο δικό του φάκελο home και πρέπει να αποκτήσει αυξημένα δικαιώματα (να γίνει χρήστης root) για να τροποποιήσει άλλα αρχεία στο σύστημα.
/lib – Απαραίτητες κοινόχρηστες βιβλιοθήκες
Ο κατάλογος /lib περιέχει βιβλιοθήκες που χρειάζονται τα βασικά δυαδικά προγράμματα στους φακέλους /bin και /sbin. Οι βιβλιοθήκες που χρειάζονται από τα δυαδικά προγράμματα στο φάκελο /usr/bin βρίσκονται στον κατάλογο /usr/lib. Θα δείτε επίσης έναν αντίστοιχο φάκελο /lib64 σε συστήματα 64-bit.
/lost+found – Ανακτημένα αρχεία
Κάθε σύστημα αρχείων Linux διαθέτει έναν κατάλογο lost+found. Εάν το σύστημα αρχείων καταρρεύσει, κατά την επόμενη εκκίνηση θα πραγματοποιηθεί έλεγχος του συστήματος αρχείων. Όσα κατεστραμμένα αρχεία βρεθούν θα τοποθετηθούν στον κατάλογο lost+found, ώστε να προσπαθήσετε να ανακτήσετε όσο το δυνατόν περισσότερα δεδομένα.
/media – Αφαιρούμενα μέσα
Ο κατάλογος /media περιέχει υποκαταλόγους στους οποίους προσαρτώνται οι συσκευές αφαιρούμενων μέσων που έχουν εισαχθεί στον υπολογιστή. Για παράδειγμα, όταν εισάγετε ένα CD στο σύστημα Linux, θα δημιουργηθεί αυτόματα ένας κατάλογος μέσα στον κατάλογο /media. Μπορείτε να έχετε πρόσβαση στα περιεχόμενα του CD μέσα σε αυτόν τον κατάλογο.
/mnt – Προσωρινά σημεία προσάρτησης (Mount Points)
Ιστορικά μιλώντας, ο κατάλογος /mnt είναι το σημείο όπου οι διαχειριστές συστημάτων προσαρτούν προσωρινά συστήματα αρχείων κατά τη χρήση τους. Για παράδειγμα, αν προσαρτάτε μια κατάτμηση των Windows για να εκτελέσετε κάποιες λειτουργίες ανάκτησης αρχείων, μπορεί να την προσαρτήσετε στον κατάλογο /mnt/windows. Ωστόσο, μπορείτε να προσαρτήσετε άλλα συστήματα αρχείων οπουδήποτε στο σύστημα.
/opt – Προαιρετικά πακέτα
Ο κατάλογος /opt περιέχει υποκαταλόγους για προαιρετικά πακέτα λογισμικού. Χρησιμοποιείται συνήθως από ιδιόκτητο λογισμικό που δεν υπακούει στην τυπική ιεραρχία του συστήματος αρχείων. Για παράδειγμα, ένα ιδιόκτητο πρόγραμμα μπορεί να πετάξει τα αρχεία του στον κατάλογο /opt/application όταν το εγκαθιστάτε.
/proc – Αρχεία πυρήνα και διεργασιών (Kernel and Process)
Ο κατάλογος /proc είναι παρόμοιος με τον κατάλογο /dev επειδή δεν περιέχει τυπικά αρχεία. Περιέχει ειδικά αρχεία που αντιπροσωπεύουν πληροφορίες συστήματος και διεργασιών.
/root – Αρχικός κατάλογος της ρίζας (Root Home)
Ο κατάλογος /root είναι ο κεντρικός κατάλογος του χρήστη root. Αντί να βρίσκεται στον κατάλογο /home/root, βρίσκεται στον κατάλογο /root. Αυτό διαφέρει από το /, το οποίο είναι ο κατάλογος root του συστήματος.
/run – Αρχεία κατάστασης εφαρμογών (Application State)
Ο κατάλογος /run παρέχει στις εφαρμογές ένα τυπικό μέρος για την αποθήκευση παροδικών αρχείων που χρειάζονται, όπως οι υποδοχές και τα αναγνωριστικά διεργασιών. Αυτά τα αρχεία δεν μπορούν να αποθηκευτούν στον κατάλογο /tmp, επειδή τα αρχεία στον κατάλογο /tmp μπορούν να διαγραφούν.
/sbin – Δυαδικά αρχεία διαχείρισης συστήματος
Ο κατάλογος /sbin είναι παρόμοιος με τον κατάλογο /bin. Περιέχει βασικά δυαδικά προγράμματα που προορίζονται γενικά να εκτελούνται από τον χρήστη root για τη διαχείριση του συστήματος.
/snap – Αποθήκευση για πακέτα Snap
Ένας άλλος κατάλογος που δεν αποτελεί μέρος του FHS αλλά τον συναντάμε συχνά αυτές τις μέρες είναι ο /snap. Περιέχει εγκατεστημένα πακέτα Snap και άλλα αρχεία που σχετίζονται με το Snap. Το Ubuntu χρησιμοποιεί πλέον το Snaps από προεπιλογή, αλλά αν χρησιμοποιείτε μια διαφορετική διανομή που δεν το κάνει, δεν θα δείτε αυτόν τον κατάλογο.
/srv – Δεδομένα υπηρεσιών
Ο κατάλογος /srv περιέχει «δεδομένα για τις υπηρεσίες που παρέχονται από το σύστημα». Αν χρησιμοποιείτε τον διακομιστή Apache HTTP για την εξυπηρέτηση ενός ιστότοπου, πιθανότατα θα αποθηκεύατε τα αρχεία του ιστότοπού σας σε έναν κατάλογο μέσα στον κατάλογο /srv.
/tmp – Προσωρινά αρχεία
Οι εφαρμογές αποθηκεύουν προσωρινά αρχεία στον κατάλογο /tmp. Αυτά τα αρχεία γενικά διαγράφονται κάθε φορά που γίνεται επανεκκίνηση του συστήματός σας και μπορούν να διαγραφούν ανά πάσα στιγμή από βοηθητικά προγράμματα όπως το systemd-tmpfiles.
/usr – Δυαδικά αρχεία χρήστη και δεδομένα μόνο για ανάγνωση
Ο κατάλογος /usr περιέχει εφαρμογές και αρχεία που χρησιμοποιούνται από τους χρήστες, σε αντίθεση με τις εφαρμογές και τα αρχεία που χρησιμοποιούνται από το σύστημα. Για παράδειγμα, οι μη βασικές εφαρμογές βρίσκονται μέσα στον κατάλογο /usr/bin αντί για τον κατάλογο /bin και τα μη βασικά δυαδικά προγράμματα διαχείρισης συστήματος βρίσκονται στον κατάλογο /usr/sbin αντί για τον κατάλογο /sbin. Οι βιβλιοθήκες για το καθένα βρίσκονται μέσα στον κατάλογο /usr/lib. Ο κατάλογος /usr περιέχει επίσης και άλλους καταλόγους. Για παράδειγμα, τα ανεξάρτητα από την αρχιτεκτονική αρχεία, όπως τα γραφικά, βρίσκονται στον κατάλογο /usr/share.
Ο κατάλογος /usr/local είναι ο κατάλογος στον οποίο εγκαθίστανται από προεπιλογή οι τοπικά μεταγλωττισμένες εφαρμογές. Αυτό τις αποτρέπει από το να μπερδεύουν το υπόλοιπο σύστημα.
/var – Αρχεία μεταβλητών δεδομένων
Ο κατάλογος /var είναι το εγγράψιμο αντίστοιχο του καταλόγου /usr, ο οποίος πρέπει να είναι μόνο για ανάγνωση σε κανονική λειτουργία. Τα αρχεία καταγραφής και οτιδήποτε άλλο θα έπρεπε κανονικά να γράφεται στον κατάλογο /usr κατά την κανονική λειτουργία γράφονται στον κατάλογο /var. Για παράδειγμα, θα βρείτε αρχεία καταγραφής στον κατάλογο /var/log.
Για πιο λεπτομερείς τεχνικές πληροφορίες σχετικά με την ιεραρχία του συστήματος αρχείων του Linux, συμβουλευτείτε την τεκμηρίωση Filesystem Hierarchy Standard.
Διαβάστε επίσης: Γιατί πήγα στο Linux και δεν το μετανιώνω
Εντολές 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” που συγκέντρωσα με κόπο. Μαζί με τα δείγματα των παραγόμενων εικόνων εδώ και εδώ.