Κατανόηση των εντολών Shell Εύκολα χρησιμοποιώντας το σενάριο "Explain Shell" στο Linux


Ενώ εργαζόμαστε στην πλατφόρμα Linux, όλοι μας χρειαζόμαστε βοήθεια για εντολές φλοιού, κάποια στιγμή. Αν και η ενσωματωμένη βοήθεια όπως man pages, η εντολή whatis είναι χρήσιμη, αλλά η έξοδος man pages είναι πολύ μεγάλη και μέχρι και εάν κάποιος έχει κάποια εμπειρία με το Linux, είναι πολύ δύσκολο να αποκτήσει οποιαδήποτε βοήθεια από τεράστιες σελίδες man. Η έξοδος της εντολής whatis είναι σπάνια περισσότερες από μία γραμμές που δεν επαρκούν για αρχάριους.

Υπάρχουν εφαρμογές τρίτων όπως το ‘cheat’, τις οποίες έχουμε καλύψει εδώ «Commandline Cheat Sheet for Linux Users. Αν και το Cheat είναι μια εξαιρετικά καλή εφαρμογή που δείχνει βοήθεια στις εντολές φλοιού ακόμα και όταν ο υπολογιστής δεν είναι συνδεδεμένος στο Διαδίκτυο, δείχνει βοήθεια μόνο σε προκαθορισμένες εντολές.

Υπάρχει ένα μικρό κομμάτι κώδικα γραμμένο από τον Jackson το οποίο μπορεί να εξηγήσει πολύ αποτελεσματικά τις εντολές φλοιού μέσα στο κέλυφος του bash και να μαντέψει ποιο είναι το καλύτερο μέρος που δεν χρειάζεται να εγκαταστήσετε κανένα πακέτο τρίτου μέρους. Ονόμασε το αρχείο που περιέχει αυτό το κομμάτι κώδικα ως 'explain.sh'.

Χαρακτηριστικά του Explain Utility

  1. Εύκολη ενσωμάτωση κώδικα.
  2. Δεν χρειάζεται να εγκατασταθεί βοηθητικό πρόγραμμα τρίτων.
  3. Εξάγετε αρκετές πληροφορίες κατά τη διάρκεια της εξήγησης.
  4. Απαιτείται σύνδεση στο διαδίκτυο για να λειτουργήσει.
  5. Καθαρό βοηθητικό πρόγραμμα γραμμής εντολών.
  6. Ικανός να εξηγήσει τις περισσότερες εντολές φλοιού στο bash shell.
  7. Δεν απαιτείται συμμετοχή λογαριασμού root.
Προαπαιτούμενο

Η μόνη απαίτηση είναι το πακέτο 'curl'. Στις περισσότερες από τις τελευταίες σημερινές διανομές Linux, το πακέτο curl είναι προεγκατεστημένο, αν όχι, μπορείτε να το εγκαταστήσετε χρησιμοποιώντας τη διαχείριση πακέτων όπως φαίνεται παρακάτω.

apt-get install curl 	[On Debian systems]
yum install curl 		[On CentOS systems]

Εγκατάσταση του βοηθητικού προγράμματος explore.sh σε Linux

Πρέπει να εισαγάγουμε το παρακάτω κομμάτι κώδικα όπως είναι στο αρχείο ~/.bashrc. Ο κώδικας πρέπει να εισαχθεί για κάθε χρήστη και κάθε αρχείο .bashrc. Προτείνεται η εισαγωγή του κώδικα μόνο στο αρχείο .bashrc του χρήστη και όχι στο .bashrc του χρήστη root.

Σημειώστε ότι η πρώτη γραμμή κώδικα που ξεκινά με κατακερματισμό (#) είναι προαιρετική και προστίθεται μόνο για να διαφοροποιηθούν οι υπόλοιποι κωδικοί του .bashrc.

Το # εξηγεί.sh σηματοδοτεί την αρχή των κωδικών, εισάγουμε στο αρχείο .bashrc στο κάτω μέρος αυτού του αρχείου.


explain.sh begins
explain () {
  if [ "$#" -eq 0 ]; then
    while read  -p "Command: " cmd; do
      curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$cmd"
    done
    echo "Bye!"
  elif [ "$#" -eq 1 ]; then
    curl -Gs "https://www.mankier.com/api/explain/?cols="$(tput cols) --data-urlencode "q=$1"
  else
    echo "Usage"
    echo "explain                  interactive mode."
    echo "explain 'cmd -o | ...'   one quoted command to explain it."
  fi
}

Λειτουργία του βοηθήματος εξηγ.sh

Αφού εισαγάγετε τον κωδικό και τον αποθηκεύσετε, πρέπει να αποσυνδεθείτε από την τρέχουσα περίοδο λειτουργίας και να συνδεθείτε ξανά για να εφαρμόσετε τις αλλαγές. Όλα τα πράγματα φροντίζουν από την εντολή 'curl' η οποία μεταφέρει την εντολή εισόδου και τη σημαία που χρειάζονται εξηγήσεις στον διακομιστή mankier και στη συνέχεια εκτυπώνει μόνο τις απαραίτητες πληροφορίες στην εντολή Linux -γραμμή. Για να μην αναφέρουμε, για να χρησιμοποιήσετε αυτό το βοηθητικό πρόγραμμα, πρέπει να είστε πάντα συνδεδεμένοι στο διαδίκτυο.

Ας δοκιμάσουμε μερικά παραδείγματα εντολών που δεν γνωρίζω τη σημασία με το σενάριο explain.sh.

1. Ξέχασα τι κάνει το "du -h". Το μόνο που χρειάζεται να κάνω είναι:

explain 'du -h'

2. Αν ξεχάσατε τι κάνει το «tar -zxvf», μπορείτε απλώς να κάνετε:

explain 'tar -zxvf'

3. Ένας από τους φίλους μου συχνά συγχέει τη χρήση των εντολών «whatis» και «whereis», γι’ αυτό τον συμβούλεψα.

Μεταβείτε στη Διαδραστική λειτουργία πληκτρολογώντας απλώς την εντολή εξηγήστε στο τερματικό.

explain

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

Command: whatis
Command: whereis

Για έξοδο από τη διαδραστική λειτουργία, πρέπει απλώς να κάνει Ctrl + c.

4. Μπορείτε να ζητήσετε να εξηγήσετε περισσότερες από μία εντολές αλυσιδωτές με αγωγό.

explain 'ls -l | grep -i Desktop'

Ομοίως, μπορείτε να ζητήσετε από το κέλυφός σας να εξηγήσει οποιαδήποτε εντολή φλοιού. Το μόνο που χρειάζεστε είναι μια λειτουργική σύνδεση στο Διαδίκτυο. Η έξοδος δημιουργείται με βάση την εξήγηση που απαιτείται από τον διακομιστή και ως εκ τούτου το αποτέλεσμα εξόδου δεν είναι προσαρμόσιμο.

Για μένα αυτό το βοηθητικό πρόγραμμα είναι πραγματικά χρήσιμο και τιμήθηκε να προστεθεί στο .bashrc μου. Επιτρέψτε μου να ξέρω ποια είναι η γνώμη σας για αυτό το έργο; Πώς μπορεί να είναι χρήσιμο για εσάς; Είναι ικανοποιητική η εξήγηση;

Δώστε μας τα πολύτιμα σχόλιά σας στα παρακάτω σχόλια. Κάντε Like και κοινοποιήστε μας και βοηθήστε μας να διαδοθούμε.