Οι φλοιοί

lucinos | Σάβ, 09/22/2012 - 12:21 | 7' |

H ανάρτηση είναι από τα μαθήματα τερματικού (δική μου). Την ανεβάζω εδώ για δοκιμή.


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

Ειδικότερα φλοιό ονομάζουμε το πρόγραμμα που αναλαμβάνει την διερμηνεία τών εντολών που δίνουμε στον υπολογιστή. Με την βοήθειά του κάνουμε χρήση τών διαφόρων εφαρμογών. Η δομή πυρήνας-φλοιός-εφαρμογές είναι θεμελιώδης στο unix.

Bourne Shell
To unix αναπτύχθηκε την δεκαετία τού 70. Η τελευταία έκδοσή του πριν το «κλείσιμό» του, που έμελε να είναι μεγάλη καταστροφή, ήταν η Version 7 το 1979. Είχε τον Bourne-φλοιό που εμφανίστηκε το 1977. Ως η τελευταία ανοικτή έκδοση τού Unix τα χαρακτηριστικά της έχουν μείνει κλασσικά. Το όνομά του ήταν όπως και τού προκατόχου του ήταν απλώς "sh". Η ύπαρξη ενός συμβατού Bourne-φλοιού "sh" θεωρείται βασικό συστατικό κάθε unix-οειδούς. Γενικά το "sh" στα σημερινά λειτουργικά είναι σύνδεσμος σε κάποιον συμβατό Bourne-φλοιό.

C shell
Ενώ η συντριπτική πλειοψηφία τών unix-οειδών φλοιών είναι συμβατοί (επεκτάσεις) τού Bourne· ο C-φλοιός, που εμφανίστηκε το 1978 στο πλαίσιο τού BSD, αποτελεί ιδιαίτερη εξαίρεση. Καθώς επίσης έχει δεχτεί επεκτάσεις πρακτικά αυτό έχει οδηγήσει στον κλασσικό διαχωρισμό τών unix-οειδών φλοιών σε δύο μεγάλες κατηγορίες. Τούς συμβατούς με τον Bourne-φλοιό και τούς συμβατούς με τον C-φλοιό. Έχει το όνομα "csh" το οποίο συχνά είναι σύνδεσμος σε κάποιον συμβατό φλοιό (επέκταση) και ιδιαίτερα στον tcsh που εμφανίστηκε το 1983. Είχε αρκετά νέα χαρακτηριστικά που τον κάνανε αρκετά δημοφιλή. Επίσης η σύνταξή του θύμιζε περισσότερο την γλώσσα C και αυτό θεωρήθηκε συχνά επίσης πλεονέκτημα.

Korn shell
O Korn-φλοιός εμφανίστηκε το 1983 και είχε χρήσιμα χαρακτηριστικά τού C-φλοιού χωρίς όμως να σπάει την συμβατότητα με τον Bourne-φλοιό. Δημιουργήθηκε ως κλειστό λογισμικό και για πολλά χρόνια παρέμεινε κλειστός. Ένας σημαντικός αριθμός ανοικτών φλοιών δημιουργήθηκε για να καλύψει την ανάγκη αντικατάστασής του. Τελικά άνοιξε το 2000 όταν όμως το ανοικτό λογισμικό είχε ήδη αρχίσει να αντικαθιστά ταχύτατα το κλειστό. Ο Korn-φλοιός έχει το όνομα "ksh" και συνεχίζει να είναι ο κύριος φλοιών διαφόρων διαδόχων τού unix.

Bourne again shell
Το γνωστό bash. Το όνομά του ανεπισήμως περιλαμβάνει και ένα αστείο με το "born again". Δημιουργήθηκε στο πλαίσιο τού εγχειρήματος GNU και βγήκε το 1989. Είναι επίσης (ικανοποιητικά) συμβατός με τον Bourne-φλοιό και συνδυάζει χαρακτηριστικά τού Korn-φλοιού και τού C-φλοιού. Είναι ο κύριος φλοιός τής συντριπτικής πλειοψηφίας τών διανομών λίνουξ αλλά και άλλων λειτουργικών, τού Mac OS X συμπεριλαμβανομένου. Επίσης χρησιμοποιείται στα περισσότερα λειτουργικά, ακόμα και στα Microsoft Windows (πχ μέσω Cygwin). Συνολικά είναι μακράν ο δημοφιλέστερος φλοιός σήμερα.

Almquist shell
Ή A shell, έχει το όνομα "ash". Είναι μάλλον ο φτωχότερος συμβατός Bourne-φλοιός. Εμφανίστηκε το 1989 στο πλαίσιο τού BSD. Η έλλειψη χαρακτηριστικών είναι αρετή καθώς είναι μικρότερος και ελαφρύτερος. Έχει συμβατότητα πρακτικά με όλους τούς άλλους φλοιούς καθώς είναι υποσύνολό τους. Επίσης συμμορφώνεται με απόλυτη ακρίβεια στο πρότυπο (ο πλουσιότερος bash σε κάποιες περιπτώσεις έχει θέμα). Έτσι βασικά σενάρια  θεωρείται καλή πρακτική να γράφονται για αυτόν τον φλοιό ώστε να εξασφαλίζεται η συμβατότητα. Έχει εισαχθεί και στο λίνουξ και στις debian-οειδείς διανομές (όπως το ubuntu) έχει το όνομα dash. Μάλιστα σε αντίθεση με άλλες διανομές που το sh είναι σύνδεσμος στο bash, στις debian-οειδείς διανομές το sh είναι σύνδεσμος στο dash (αλλά ο προεπιλεγμένος φλοιός σύνδεσης εξακολουθεί να είναι το bash)
Για να το δείτε δώστε την εντολή:
ls -l $(which sh)
Ενώ ο φλοιός που χρησιμοποιείτε είναι το bash όπως φαίνεται από την εντολή:
ps

Z shell
Ο Ζ-φλοιός ("zsh") είναι μάλλον το αντίθετο τού Α-φλοιού. Θεωρείται ο πλουσιότερος σε χαρακτηριστικά φλοιός. Είναι επίσης επέκταση τού Bourne-φλοιού. Αν ασχολείστε πολύ με την γραμμή εντολών και θέλετε κάθε χρήσιμο χαρακτηριστικό που μπορεί να υπάρχει ίσως πρέπει να τον εξετάσετε. Γενικά όμως ο bash είναι λογικότερη επιλογή για τον περισσότερο κόσμο καθώς τα επιπλέον χαρακτηριστικά είναι χρήσιμα σε ελάχιστους ενώ με τον bash έχεις μια λίγο-πολύ κοινή γλώσσα. Είναι δηλαδή η χρυσή τομή μεταξύ Α-φλοιού και Ζ-φλοιού.

Δώσε αστέρια!