Unix / Linux Shells 101

Συγγραφέας: Eugene Taylor
Ημερομηνία Δημιουργίας: 11 Αύγουστος 2021
Ημερομηνία Ενημέρωσης: 22 Ιούνιος 2024
Anonim
Unix Shell Crash Course || Unix Shell Tutorial for Beginners
Βίντεο: Unix Shell Crash Course || Unix Shell Tutorial for Beginners

Περιεχόμενο



Πηγή: Tomasz Bidermann / Dreamstime.com

Πάρε μακριά:

Τα κοχύλια Unix και Linux είναι πολύ ισχυρά και εξαιρετικά προσαρμόσιμα.

Η γραμμή εντολών σε συστήματα Unix και Linux είναι ήδη πολύ ισχυρή, αλλά τα κελύφη είναι ένα ακόμη πιο ισχυρό εργαλείο από το μάτι. Μπορείτε να τα προσαρμόσετε και να τα αλλάξετε στο περιεχόμενο της καρδιάς σας, αρκεί να ξέρετε πώς.

Τι είναι ένα κέλυφος;

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

Αυτές οι ταπεινές διεπαφές έχουν μια εκπληκτική ισχύ. Για ένα πράγμα, είναι πλήρεις γλώσσες προγραμματισμού. Πριν από την εμφάνιση ακόμα πιο ισχυρών σεναρίων γλώσσας όπως η Python, τα σενάρια κελυφών ήταν ιδανικά για τη σύνταξη προγραμμάτων που δεν χρειάζονταν απαραιτήτως τη δύναμη του C. Είναι ακόμα χρήσιμα για την αυτοματοποίηση των εργασιών του συστήματος και για την ταχεία δημιουργία πρωτοτύπων.

Έχουν επίσης μια σειρά από λειτουργίες που διευκολύνουν την εργασία και εύρεση αρχείων. Ένα από τα πιο ευρέως χρησιμοποιούμενα είναι "μπαλαντέρ" ή "σφαίρα". Σχεδόν όλοι οι χρήστες Unix και Linux είναι εξοικειωμένοι με το "*" μπαλαντέρ για να ταιριάζει με οποιοδήποτε χαρακτήρα. Αυτή είναι η δουλειά του κελύφους. Τα διαφορετικά κοχύλια έχουν ακόμη πιο δυνατές επιλογές.

Ένα από τα διακριτικά χαρακτηριστικά του Unix είναι η δυνατότητα ανακατεύθυνσης εισόδου και εξόδου προγράμματος. Το κέλυφος εφαρμόζει αυτή τη λειτουργία.

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

Ιστορία και Ενημέρωση Κελυφών

Παρόλο που υπήρχαν αρκετά κελύφη Unix στις πρώτες ημέρες του λειτουργικού συστήματος, ο πρώτος που έλαβε μεγάλη αναγνώριση έξω από τα Bell Labs ήταν η Shell του Bourne, που ονομάστηκε από τον Stephen R. Bourne. Η βασική καινοτομία των shells ήταν ότι υποστήριζε χαρακτηριστικά για δομημένο προγραμματισμό, καθιστώντας δυνατή για πρώτη φορά τη χρήση του κελύφους ως πραγματική γλώσσα προγραμματισμού. Είναι τόσο απαραίτητο ότι όλες οι σύγχρονες εκδόσεις Unix και Linux εξακολουθούν να το χρησιμοποιούν, αν και είναι συνήθως ένα από τα νεότερα κοχύλια που εξομοιώνουν το κέλυφος Bourne.

Το επόμενο μεγάλο κέλυφος ήταν το C Shell, συνήθως συντομευμένο ως "csh". Αυτό το κέλυφος αναπτύχθηκε στο UC Berkeley, καθιστώντας ένα σημαντικό συστατικό της γεύσης BSD του Unix. Όπως υποδηλώνει το όνομα, η σύνταξή του σχεδιάστηκε για να μοιάζει με τη γλώσσα προγραμματισμού C, αλλά ήταν πραγματικά σχεδιασμένη για διαδραστική χρήση.

Περιλάμβανε έναν μηχανισμό ιστορικού που επέτρεψε στους χρήστες να επιστρέψουν και να επαναλάβουν τις εντολές που εξέδωσαν νωρίτερα, χωρίς να χρειάζεται να επαναπροσδιορίσουν ολόκληρη τη γραμμή και τον βελτιωμένο έλεγχο της εργασίας, γεγονός που διευκόλυνε την εκτέλεση πολλαπλών εργασιών. (Θυμηθείτε, αυτή ήταν μια εποχή που οι περισσότεροι άνθρωποι εξακολουθούσαν να χρησιμοποιούν τερματικά που βασίζονταν σε αυτά).

Το επόμενο μεγάλο κέλυφος ήταν το Korn Shell, το οποίο βγήκε επίσης από τα Bell Labs. Το κέλυφος πήρε το όνομά του από τον David Korn, όχι από την μπάντα. Η βασική καινοτομία του κελύφους Korn είναι η εισαγωγή της επεξεργασίας γραμμής εντολών, η οποία επεκτείνει ακόμη περισσότερο τη λειτουργικότητα του ιστορικού. Οι χρήστες μπορούν να επιστρέψουν και να επεξεργαστούν τις εντολές που έχουν πληκτρολογήσει, χρησιμοποιώντας εντολές παρόμοιες είτε με τους επεξεργαστές vi ή Emacs.

Από τα μεγάλα κοχύλια, το Bourne Again Shell, ή το bash, είναι το πιο δημοφιλές από την εισαγωγή του στα τέλη της δεκαετίας του '80. Αυτό το κέλυφος, που αναπτύχθηκε στο πλαίσιο του έργου GNU, ενσωματώνει τις καινοτομίες των κελυφών C και Korn διατηρώντας παράλληλα τη συμβατότητα με το κέλυφος Bourne, εξ ου και το όνομα. Είναι το "πρότυπο" κέλυφος στις περισσότερες διανομές Linux.

Το Z Shell (zsh), το οποίο κυκλοφόρησε για πρώτη φορά το 1990, είναι το όνειρο του χρήστη της γραμμής εντολών. Όχι μόνο έχει τα περισσότερα από τα άλλα σημαντικά χαρακτηριστικά που τα άλλα κελύφη έχουν, είναι παράλογα προσαρμόσιμη με πολλά ισχυρά χαρακτηριστικά. Ένα από τα πιο ισχυρά είναι το recursive globbing, το οποίο επιτρέπει στους χρήστες να ταιριάζουν με ονόματα αρχείων σε υποκαταλόγους όταν εκδίδουν εντολές αντί αρχείων στον τρέχοντα κατάλογο εργασίας. Οι πραγματικά προηγμένοι χρήστες μπορούν επίσης να προσαρμόσουν τις επιλογές ολοκλήρωσης, τα αρχεία που ταιριάζουν χωρίς να χρειάζεται να τα πληκτρολογήσετε εντελώς. Και για τους δακτυλιωτούς δακτυλογράφους, μπορεί επίσης να διορθώσει την ορθογραφία σας. Αυτό το κέλυφος είναι τόσο προηγμένο, η χειροκίνητη σελίδα του έχει χωριστεί σε αρκετά πολύ μεγάλα τμήματα.

Scripting

Όπως αναφέρθηκε προηγουμένως, τα κοχύλια δεν είναι μόνο διεπαφές γραμμής εντολών, αλλά ισχυρές γλώσσες προγραμματισμού. Η ομορφιά της scripting κελύφους είναι ότι μπορείτε να χρησιμοποιήσετε την ίδια γλώσσα τόσο σε τακτική διαδραστική χρήση, όσο και σε σενάρια, γεγονός που κάνει την καμπύλη μάθησης πολύ πιο επίπεδη. Τα σύγχρονα κελύφη περιλαμβάνουν όλα τα συνηθισμένα χαρακτηριστικά γνωρίσματα προγραμματισμού, συμπεριλαμβανομένου του ελέγχου ροής, των λειτουργιών και των μεταβλητών. Μερικοί από αυτούς έχουν ακόμη προηγμένες δομές δεδομένων όπως συσσωματικές συστοιχίες.

Παρά τη δύναμή τους, ο προγραμματισμός σε κοχύλια έχει μερικές παγίδες. Το μεγαλύτερο πρόβλημα είναι ότι είναι πολύ εύκολο να γράψετε σενάρια που εξαρτώνται από κάποιο πρόγραμμα που μπορεί να μην είναι σε άλλο σύστημα ή που εξαρτάται από μια συγκεκριμένη γεύση του Unix ή του Linux. Αυτός είναι ο λόγος για τον οποίο τα σενάρια κελυφών είναι τα καλύτερα προσαρμοσμένα για προγράμματα που γνωρίζετε ότι θα λειτουργούν μόνο σε ένα σύστημα. Εάν προσπαθείτε να δημιουργήσετε κάτι φορητό και δεν θέλετε να γράψετε ένα πρόγραμμα C, το καλύτερο στοίχημά σας είναι να γράψετε σε μια άλλη γλώσσα προγραμματισμού όπως Perl ή Python.

A Peek Under the Hood της γραμμής εντολών Unix / Linux

Υπάρχει περισσότερη δύναμη που κρύβεται κάτω από την επιφάνεια της γραμμής εντολών Unix / Linux. Αυτό το άρθρο μπορεί να σας εμπνεύσει να ρίξετε μια ματιά κάτω από την κουκούλα του αγαπημένου σας κελύφους για να δείτε τι μπορείτε πραγματικά να κάνετε. Εάν θέλετε να μπει σε script scripting, ίσως να θέλετε να δείτε τα βιβλία Unix Power Tools και τη Μάθηση του Bash Shell. Stephen R. Bournes πρωτότυπο χαρτί στο κέλυφος του χρησιμεύει επίσης ως μια καλή εισαγωγή στον κόσμο του κελύφους scripting, ακόμη και αν το παλιό του.