Φιλοσοφία του Linux

Από Hellug Wiki

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

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

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

Για παράδειγμα, οι εντολές έχουν συχνά (πολύ) μικρά ονόματα. Η ιδέα των κατασκευαστών ήταν πως μια εντολή ο χρήστης τη μαθαίνει μια φορά αλλά τη χρησιμοποιεί πολλές, οπότε αν πχ αποτελείται από 2 γράμματα αντί για 5, ο χρήστης θα δυσκολευτεί λίγο στην αρχή αλλά μετά θα γλυτώσει πληκτρολόγηση. Έτσι έχουν προκύψει τα κάπως κρυπτικά ονόματα των εντολών, που σχηματίστηκαν πχ ως συντομεύσεις (ls αντί για list), ως αρχικά ενεργειών (grep από global/regular expression/print) ή ως αρχικά των δημιουργών της εντολής (awk από Aho, Weinberger και Kernighan).

Επίσης, τα διαγνωστικά μηνύματα των εντολών τείνουν προς τη συντομία και τη σαφήνεια. Πχ αν δώσουμε σκέτο gcc θα λάβουμε την απλή απάντηση "gcc: no input files". Με βάση αυτή τη φιλοσοφία, αν μια εντολή τελειώσει επιτυχώς, τότε δεν ενημερώνει το χρήστη ("no news is good news").

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

Το αποτέλεσμα όλων των παραπάνω είναι πως η γραμμή εντολών του Linux (που βασίζεται σε αυτή του Unix) μπορεί να γίνει ένα εξαιρετικά αποτελεσματικό και γρήγορο εργαλείο για κάποιον που ξέρει να τη χειρίζεται.