Δημοσιεύτηκε: 19 Αύγ 2008, 17:16
από sudobash
Ίσως το πιο πολύπλοκο κομμάτι για έναν αρχάριο χρήστη του linux είναι η κατανόηση της δομής των φακέλων του και η λειτουργικότητα του καθενός από αυτούς, το "τι υπάρχει που". Με μία γρήγορη πρώτη ματιά, ίσως να φαίνεται λίγο δυσνόητος ο τρόπος με τον οποίο έχει χτιστεί το σύστημα αρχείων του linux, ειδικά όταν έχει γίνει πρόσφατη μετάβαση από τα windows και έχοντας κατά νου τη λογική της δομή των φακέλων εκεί. Όμως παρακάτω θα δούμε ότι με λίγο περισσότερη προσοχή και μελέτη μέσα από παραδείγματα, τελικά η κατανόηση του συστήματος αρχείων του linux είναι υπόθεση απλή.

/
Είναι ο βασικός φάκελος του linux και αυτός που είναι πιο ψηλά στην ιεραρχία της πυραμίδας του συστήματος αρχείων. Είναι ο λεγόμενος φάκελος root και ο αρχικός φάκελος όλων των υπολοίπων. Όλα λοιπόν τα αρχεία και οι φάκελοι, έχουν την αρχή τους στον φάκελο root.

/bin
Στον φάκελο αυτόν βρίσκονται τα εκτελέσιμα αρχεία (εφαρμογές και προγράμματα) του linux που χρησιμοποιούνται και από τον διαχειριστή του συστήματος αλλά και από τους απλούς χρήστες. Περιλαμβάνει εντολές του shell (πχ. bash, csh, κτλ.) και συχνά χρησιμοποιούμενες εντολές (πχ. cp, mv, rm, cat, ls κτλ.). Τα προγράμματα αυτά, καθώς και οποιοδήποτε άλλο πρόγραμμα βρίσκεται στον συγκεκριμένο φάκελο, είναι αυτόματα εκτελέσιμα, το οποίο σημαίνει ότι όταν γράψουμε μια εντολή, ένα από τα σημεία που θα ψάξει το λειτουργικό να βρει το πρόγραμμα που θα εκτελέσει, θα είναι ο φάκελος /bin.

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

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

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

/home
Εδώ μένουν οι χρήστες! Μέσα στον φάκελο home υπάρχει ένας φάκελος για κάθε χρήστη (εκτός τον χρήστη root, καθώς όπως αναφέραμε παραπάνω το "σπίτι" του είναι στο /root), μέσα στον οποίο αποθηκεύονται τα αρχεία με τις ρυθμίσεις και τις επιλογές του, τα προσωπικά δεδομένα, η επιφάνεια εργασίας και γενικότερα οποιαδήποτε πληροφορία αφορά τον χρήστη αυτόν.

/lib
Ο φάκελος lib περιλαμβάνει τα modules του πυρήνα και τις κοινόχρηστες βιβλιοθήκες που χρειάζεται το σύστημα για να φορτώσει και να τρέξει εντολές και προγράμματα. Οι βιβλιοθήκες έχουν επέκταση αρχείου .so και είναι απαραίτητες για τη βασική λειτουργία του συστήματος. Τα modules του πυρήνα (drivers) είναι στον υποφάκελο /lib/modules/'έκδοση_kernel'.

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

/media
Ο φάκελος media χρησιμοποιείται για να γίνουν mount οι σκληροί δίσκοι, οι δίσκοι usb, οι συσκευές cd/dvd κτλ.

/mnt
Αυτό είναι ένα γενικό σημείο για να γίνονται mount συσκευές.

/opt
Στον φάκελο αυτόν μπαίνουν τα προγράμματα και τα επιπλέον πακέτα που δεν αποτελούν μέρος της βασικής εγκατάστασης του συστήματος, αλλά τα βάζουμε εκεί για δοκιμή (πχ. beta testing). Για παράδειγμα εδώ μπορούμε να εγκαταστήσουμε την τελευταία beta έκδοση του gimp, έτσι ώστε μετά που θα την αφαιρέσουμε, να μην επηρεαστούν άλλες ρυθμίσεις. Όταν εγκαταστήσουμε ένα πρόγραμμα στον /opt, δημιουργείτε εκεί μέσα ένας φάκελος στον οποίο περιέχονται όλα τα αρχεία, τις βιβλιοθήκες, το documentation κτλ που απαιτείται.

/proc
Ο φάκελος proc είναι ένας ιδιαίτερος φάκελος με την έννοια ότι δεν περιέχει πραγματικά αρχεία, αλλά αρχεία για πληροφορίες του συστήματος κατά τη διάρκεια που το λειτουργικό τρέχει (π.χ. μνήμη του συστήματος). Για το λόγο αυτό, μπορεί να θεωρηθεί ως ένα κέντρο ελέγχου και πληροφοριών για τον πυρήνα και το σύστημα μας γενικότερα. Στην πραγματικότητα, πολλά βοηθητικά εργαλεία του συστήματος είναι απλώς κλήσεις προς αρχεία σε αυτόν το κατάλογο. Για παράδειγμα, η εντολή "lsmod" είναι απλά η εντολή "cat /proc/modules', ενώ η εντολή "lspci" είναι η εντολή "cat /proc/pci". Κύριο χαρακτηριστικό του φακέλου αυτού, είναι ότι τα περισσότερα αρχεία (με ελάχιστες εξαιρέσεις) έχουν μέγεθος αρχείου 0 bytes.

/root
Είναι το σπίτι του root, ο οποίος είναι ο υπερ χρήστης του λειτουργικού μας συστήματος και γενικοτερα του υπολογιστή. Έχει δικαίωμα να κάνει το οτίδηποτε και γι'αυτό χρειάζεται ιδιαίτερη προσοχή όταν κάνουμε κάτι ως χρήστης root.

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

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

/var
Περιέχει κυρίως αρχεία για logging, αλλά και αρχεία σχετικά με το mail και τον εκτυπωτή.