Μετά τον Bash και τον Korn, σήμερα θα ανακαλύψουμε το πολύ δημοφιλές κέλυφος Zsh. Στην πραγματικότητα, το Zsh είναι τόσο δημοφιλές που πολλοί άνθρωποι έχουν αφήσει τον Bash γι 'αυτόν. Ο κύριος λόγος πίσω από τη δημοτικότητά του οφείλεται σε μια απίστευτη αλληλεπίδραση με τον χρήστη και μια πολύ ολοκληρωμένη και ισχυρή λειτουργικότητα αυτόματης ολοκλήρωσης.

Ιστορία

Η πρώτη έκδοση του Zsh δημιουργήθηκε το 1990 από έναν σπουδαστή Princeton που ονομάστηκε Paul Falstad. Το όνομα "Zsh" υποτίθεται ότι προέρχεται από την ταυτότητα σύνδεσης του καθηγητή Princeton Zhong Shao. Το κέλυφος από μόνο του επηρεάστηκε από το Bash, το Ksh και το Tcsh: Το Zsh διαθέτει μια πολύ ισχυρή λειτουργικότητα αυτόματης ολοκλήρωσης, μαζί με αναδρομικές αναζητήσεις και έναν διορθωτή. Και φυσικά, η εντολή μπορεί να οριστεί σύμφωνα με την επιθυμία του χρήστη. Για όλα αυτά, ορισμένοι θεωρούν το Zsh ως εκτεταμένο Bourne Shell.

Εγκατάσταση

Τώρα που ξέρετε περισσότερα για το Zsh, ας το εγκαταστήσετε. Για το Ubuntu, η εγκατάσταση είναι αρκετά απλή:

 sudo apt-get install zsh 

Για άλλες διανομές, θα πρέπει να είναι διαθέσιμη και στις αποθήκες σας. Στη χειρότερη περίπτωση, κατεβάστε το πακέτο από την επίσημη σελίδα.

Μόλις εγκατασταθεί το πακέτο, μπορείτε να ξεκινήσετε ένα Zsh Shell από οποιοδήποτε τερματικό μέσω της εντολής:

 zsh 

Αν σας αρέσει πραγματικά αυτό το κέλυφος και θέλετε να αντικαταστήσει το τρέχον σας, μπορείτε να το κάνετε αυτό πληκτρολογώντας

 sudo usermod -s / bin / zsh [όνομα χρήστη] 

Παρατηρήστε ότι ως συνήθως το αρχείο ρυθμίσεων βρίσκεται στο "~ / .zshrc" και θα δημιουργηθεί κατά την πρώτη εκκίνηση. Όπως το ίδιο με το bash, αυτό μπορεί να χρησιμοποιηθεί για να προσθέσετε ψευδώνυμα και να προσαρμόσετε την εντολή.

Χρήση

Ο Zsh είναι πολύ διαισθητικός. Αρχικά, δεν πρέπει να παρατηρήσετε διαφορά στη συμπεριφορά με τον Bash. Ωστόσο, ένας καλός τρόπος να εντοπίσετε το πρώτο χαρακτηριστικό είναι να πληκτρολογήσετε:

 rm - [κλειδί πίνακα] 

και στη συνέχεια χρησιμοποιήστε το πλήκτρο διαλόγου. Αυτό θα εμφανίσει όλα τα πιθανά επιχειρήματα για την εντολή "rm". Όπως μπορείτε να δείτε, η αυτόματη ολοκλήρωση είναι απίστευτη με τον Zsh.

Όχι μόνο οι παράμετροι μιας εντολής, αλλά και οι κεντρικοί υπολογιστές ssh που εμφανίζονται στους / etc / hosts, οι πιθανοί στόχοι για την εντολή make, οι σελίδες με το εγχειρίδιο, τα αρχεία σε έναν απομακρυσμένο διακομιστή κ.λπ. μπορούν να συμπληρωθούν αυτόματα από το Zsh. Και η ταχύτητα αυτόματης ολοκλήρωσης είναι επίσης εντυπωσιακή.

Μπορείτε επίσης να δοκιμάσετε να πληκτρολογήσετε μια λανθασμένη εντολή όπως

 gdit .zshrc 

και θα ενεργοποιήσει τη λειτουργία διόρθωσης:

Εάν η διόρθωση δεν λειτουργεί αρχικά, σημαίνει ότι δεν την έχετε ενεργοποιήσει ακόμα. Για να το κάνετε αυτό, πληκτρολογήστε:

 ρυθμίστε σωστά 

Η διόρθωση δεν είναι η μόνη που μπορείτε να ενεργοποιήσετε. Μετά την εντολή "setopt", μπορείτε επίσης να χρησιμοποιήσετε

  • μπιπ : για να ακούσετε ήχο μπιπ όταν εμφανιστεί ένα σφάλμα
  • hist_ignore_all_dups : για να αποτρέψετε την εγγραφή της ίδιας εντολής δύο φορές στην ιστορία
  • auto_cd : για να μετακινηθείτε σε έναν κατάλογο μόλις πληκτρολογείτε το όνομά του (δεν χρειάζεται πια η εντολή cd)

Αντίθετα, εάν θέλετε να διαγράψετε μια επιλογή, η σύνταξη είναι:

 unsetopt [επιλογή] 

Μια άλλη καλή χρήση του Zsh είναι η αναδρομική αναζήτηση. Χρησιμοποιήσατε τον Bash στον χειριστή "*" που σημαίνει "όλα". Τώρα με το Zsh, το "**" μπορεί να μεταφραστεί "όλα μέσα σε όλους". Με άλλα λόγια, αναδρομική αναζήτηση. Επιτρέψτε μου να επεξηγήσω με ένα παράδειγμα. Αν θέλετε να διαγράψετε ένα αρχείο που ονομάζεται "foobar" αλλά δεν μπορείτε να θυμάστε πού είναι, αυτή η γραμμή θα είναι χρήσιμη:

 rm ** / foobar 

Το Zsh θα αναζητήσει το αρχείο foobar στον τρέχοντα κατάλογο και σε κάθε υποκατάλογο, μέχρι να το αφαιρέσει.

Ο αναδρομικός χειριστής μπορεί να γίνει πραγματικά χρήσιμος κατά την αναζήτηση ενός συγκεκριμένου τύπου αρχείου. Είναι δυνατό να χρησιμοποιηθεί ο συνδυασμός της εντολής "ls" και ενός regex. Μια απλή εντολή όπως

 ls ** / *. mp3 

θα επιστρέψει όλα τα αρχεία mp3 που μπορεί να βρει αναδρομικά από τον τρέχοντα κατάλογο.

Τέλος, ας μιλήσουμε λίγο για τη διαμόρφωση του Zsh. Όπως γνωρίζετε, συμβαίνει στο ~ / .zshrc. Αν θέλετε να δοκιμάσετε μερικές εξατομικευμένες προτροπές, το Zsh έρχεται με κάποια αποθηκευμένα θέματα. Για να δείτε ποια διατίθεται, φορτώστε το σύστημα προτροπής με

 autoload -U promptinit promptinit 

Στη συνέχεια, απαριθμήστε τα θέματα με:

 prompt -l 

Και για να αλλάξετε την τρέχουσα προτροπή, πληκτρολογήστε

 προτροπή [όνομα του θέματος] 

Εάν έχετε δημιουργήσει πολλά ψευδώνυμα στο bash, δεν θα δουλέψουν στο zsh. Πρέπει να τα μεταφέρετε πάνω από το αρχείο ~ / .zsh. Η βασική σύνταξη είναι η ίδια με αυτή του Bash:

 alias [ψευδώνυμο 'όνομα] = "[εντολή]" 

Επιπλέον, μπορείτε επίσης να ορίσετε ένα συγκεκριμένο ψευδώνυμο για την επέκταση αρχείου. Αυτό σας επιτρέπει να ξεκινήσετε αυτόματα την κατάλληλη εντολή για το αρχείο που θέλετε. Για παράδειγμα, χρησιμοποιώ το πρόγραμμα "mpg123" για αναπαραγωγή mp3 από τη γραμμή εντολών. Ως εκ τούτου, μπορώ να προσθέσω στο .zshrc μου:

 alias -s mp3 = "mpg123" 

Από εκεί, κάθε φορά που γράφω κάτι σαν

 ./song.mp3 

Το Mpg123 θα ξεκινήσει και θα παίξει το τραγούδι. Με λίγη φαντασία, μπορούμε να συνδυάσουμε αυτή τη λειτουργικότητα με το προηγούμενο άρθρο μου σχετικά με την αντιμετώπιση αρχείων από τη γραμμή εντολών:

 alias -s tar = "tar -xvf" alias -s rar = "unrar x" alias -s zip = "unzip" ψευδώνυμο -s pdf = "evince" 

συμπέρασμα

Ναι, οι Zsh και Bash είναι πολύ παρόμοιες, αλλά το zsh είναι πιο ευέλικτο που το καθιστά πιο δημοφιλές. Προσωπικά, εκτιμώ πραγματικά τη λειτουργία αυτόματης συμπλήρωσης και το ψευδώνυμο για την επέκταση αρχείου. Οι παραπάνω συμβουλές κάλυψαν μόνο ένα μικρό μέρος του τι μπορεί να κάνει το zsh. Για να μάθετε περισσότερα για το Zsh, σας καλώ να διαβάσετε το wiki του Archlinux.

Τι νομίζετε για το Zsh Shell; Έχετε δοκιμάσει ένα άλλο; Έχετε κάποια ερώτηση σχετικά με τα κελύφη εν γένει; Ενημερώστε μας στα σχόλια.