Γραμμές εντολών: Γιατί οι άνθρωποι εξακολουθούν να ασχολούνται μαζί τους;

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

Στην πραγματικότητα, η γραμμή εντολών γίνεται πιο σεβαστή από ποτέ με τη Microsoft να δημιουργεί μια ισχυρή νέα εφαρμογή Windows Terminal. Το περιβάλλον PowerShell των Windows 10 είναι εκπληκτικά ισχυρό, αλλά η Microsoft εξακολουθεί να κάνει τα πάντα για να προσθέσει υποστήριξη για βασικά το πλήρες περιβάλλον γραμμής εντολών Linux στα Windows 10.

Η γραμμή εντολών ήταν κάποτε η μόνη επιλογή

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

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

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

Εξηγείται η ορολογία

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

Ένα παράθυρο τερματικού είναι ένα παράθυρο σε ένα γραφικό περιβάλλον επιφάνειας εργασίας που εκτελεί μια προσομοίωση ενός τερματικού τηλετύπου.

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

  Πώς να προσαρμόσετε τις συντομεύσεις πληκτρολογίου στο KDE Plasma 5

Η γραμμή εντολών είναι εκεί που πληκτρολογείτε. Είναι η προτροπή που παρουσιάζει το κέλυφος όταν σας περιμένει να εισάγετε κάποιες οδηγίες. Ο όρος “γραμμή εντολών” χρησιμοποιείται επίσης για να αναφέρεται στο πραγματικό περιεχόμενο αυτού που πληκτρολογήσατε. Για παράδειγμα, εάν μιλήσετε με κάποιον άλλο χρήστη υπολογιστή για μια δυσκολία που είχατε στην προσπάθεια εκτέλεσης ενός προγράμματος, μπορεί να σας ρωτήσει, “Τι γραμμή εντολών χρησιμοποιήσατε;” Δεν ρωτάνε τι κέλυφος χρησιμοποιούσατε. θέλουν να μάθουν ποια εντολή πληκτρολογήσατε.

Συνολικά, αυτά συνδυάζονται για να σχηματίσουν το διεπαφή γραμμής εντολών (CLI).

Γιατί να χρησιμοποιήσετε τη γραμμή εντολών το 2019;

Το CLI μπορεί να φαίνεται ανάδρομο και να προκαλεί σύγχυση σε όσους δεν είναι εξοικειωμένοι με αυτό. Σίγουρα δεν υπάρχει θέση σε ένα σύγχρονο λειτουργικό σύστημα για έναν τόσο παλιό και ειδυλλιακό τρόπο χρήσης ενός υπολογιστή; Δεν τα παρατήσαμε όλα αυτά πριν από δεκαετίες όταν εμφανίστηκαν παράθυρα, εικονίδια και ποντίκια και γραφικά περιβάλλοντα επιφάνειας εργασίας με γραφικές διεπαφές χρήστη (GUI) έγιναν διαθέσιμα;

Ναι, το GUI υπάρχει εδώ και δεκαετίες. Η πρώτη έκδοση των Microsoft Windows ήταν κυκλοφόρησε πολύ πίσω το 1985 και έγινε ο κανόνας για επιτραπέζιους υπολογιστές με την κυκλοφορία των Windows 3.0 το 1990.

Το X Window System, που χρησιμοποιείται στο Unix και το Linux, ήταν εισήχθη το 1984. Αυτό έφερε γραφικά περιβάλλοντα επιφάνειας εργασίας στο Unix και τα πολλά παράγωγα, τους κλώνους και τις παραλλαγές του.

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

Έτσι, ipso facto, το CLI μπορεί να κάνει τα πάντα. Ένα GUI εξακολουθεί να μην μπορεί να κάνει ό,τι μπορεί να κάνει το CLI. Και ακόμη και για τα μέρη που μπορεί να κάνει, το CLI είναι συνήθως πιο γρήγορο, πιο ευέλικτο, μπορεί να εγγραφεί σεναρίου και είναι επεκτάσιμο.

Και υπάρχει ένα πρότυπο.

Είναι τυποποιημένα χάρη στο POSIX

Το POSIX είναι α πρότυπο για λειτουργικά συστήματα παρόμοια με το Unix—Βασικά, όλα όσα δεν είναι Windows. Ακόμη και τα Windows έχουν το Υποσύστημα Windows για Linux (WSL.) Ανοίξτε ένα παράθυρο τερματικού σε οποιοδήποτε συμβατό (ή σχεδόν συμβατό) λειτουργικό σύστημα POSIX και θα βρεθείτε σε ένα κέλυφος. Ακόμα κι αν το κέλυφος ή η διανομή παρέχουν τις δικές τους επεκτάσεις και βελτιώσεις, εφόσον παρέχουν τη βασική λειτουργικότητα POSIX, θα μπορείτε να το χρησιμοποιήσετε αμέσως. Και τα σενάρια σας θα τρέξουν.

  Πώς να ομαδοποιήσετε τη συνομιλία βίντεο στο Snapchat

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

Αλλά ανοίξτε ένα παράθυρο τερματικού και θα νιώσετε σαν στο σπίτι σας.

Οι εντολές έχουν σχεδιαστεί για να λειτουργούν μαζί

Κάθε μία από τις εντολές Linux έχει σχεδιαστεί για να κάνει ένα συγκεκριμένο κάτι και να το κάνει καλά. Η υποκείμενη φιλοσοφία σχεδίασης είναι να προσθέσετε περισσότερη λειτουργικότητα προσθέτοντας ένα άλλο βοηθητικό πρόγραμμα που μπορεί να συνδεθεί με σωλήνες ή να συνδεθεί με τα υπάρχοντα για να επιτευχθεί το επιθυμητό αποτέλεσμα.

Αυτό είναι τόσο χρήσιμο που η Microsoft έκανε τα πάντα για να προσθέσει υποστήριξη για την πλήρη γραμμή εντολών Linux στα Windows 10!

Για παράδειγμα, η εντολή ταξινόμησης χρησιμοποιείται από άλλες εντολές για την ταξινόμηση κειμένου σε αλφαβητική σειρά. Δεν χρειάζεται να δημιουργήσετε δυνατότητα ταξινόμησης σε καθεμία από τις άλλες εντολές Linux. Γενικά, οι εφαρμογές GUI δεν επιτρέπουν αυτόν τον τύπο συλλογικής διασυνεργασίας.

Δείτε το παρακάτω παράδειγμα. Αυτό χρησιμοποιεί την εντολή ls για τη λίστα των αρχείων στον τρέχοντα κατάλογο. Τα αποτελέσματα διοχετεύονται στην εντολή ταξινόμησης και ταξινομημένο στην πέμπτη στήλη δεδομένων (που είναι το μέγεθος αρχείου). Στη συνέχεια, η ταξινομημένη λίστα διοχετεύεται στην εντολή head η οποία από προεπιλογή παρατίθεται σε λίστα τις πρώτες δέκα γραμμές της εισροής του.

ls -l | sort -nk5,5 | head

Λαμβάνουμε μια καθαρή λίστα με τα μικρότερα αρχεία στον τρέχοντα κατάλογο.

Αλλάζοντας μία εντολή—χρησιμοποιώντας ουρά αντί για head—μπορούμε να λάβουμε μια λίστα με τα δέκα μεγαλύτερα αρχεία στον τρέχοντα κατάλογο.

ls -l | sort -nk5,5 | tail

Αυτό μας δίνει τη λίστα με τα δέκα μεγαλύτερα αρχεία, όπως αναμενόταν.

Η έξοδος από εντολές μπορεί να ανακατευθυνθεί και να καταγραφεί σε αρχεία. Η κανονική έξοδος (stdin) και τα μηνύματα σφάλματος (stderr) μπορούν να καταγραφούν χωριστά.

Οι εντολές μπορούν να περιλαμβάνουν μεταβλητές περιβάλλοντος. Η ακόλουθη εντολή θα εμφανίσει τα περιεχόμενα του αρχικού καταλόγου σας:

ls $HOME

Αυτό λειτουργεί από όπου κι αν βρίσκεστε στο δέντρο καταλόγου.

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

  Πώς να επαναφέρετε εφαρμογές και παιχνίδια στο iPhone ή το iPad σας

Τα σενάρια ενεργοποιούν τον αυτοματισμό και την επαναληψιμότητα

Οι άνθρωποι είναι επιρρεπείς σε λάθη.

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

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

Τα σενάρια PowerShell προσφέρουν παρόμοια ισχύ στα Windows και μπορείτε να τα προγραμματίσετε να εκτελούνται από τον Προγραμματιστή εργασιών. Γιατί να κάνετε κλικ σε 50 διαφορετικές επιλογές κάθε φορά που ρυθμίζετε έναν υπολογιστή όταν μπορείτε να εκτελέσετε μια εντολή που αλλάζει αυτόματα τα πάντα;

Το καλύτερο και των δύο κόσμων

Για να αξιοποιήσετε στο έπακρο το Linux—ή οποιοδήποτε λειτουργικό σύστημα ως ισχυρός χρήστης—πρέπει πραγματικά να χρησιμοποιήσετε το CLI και το GUI.

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

Οι εθισμένοι στη γραμμή εντολών δεν μισούν το GUI. Απλώς ευνοούν τα οφέλη από τη χρήση του CLI—για τις κατάλληλες εργασίες. Για τη διαχείριση, το CLI κερδίζει τα χέρια κάτω. Μπορείτε να χρησιμοποιήσετε το CLI για να κάνετε αλλαγές σε ένα αρχείο, έναν κατάλογο, μια επιλογή αρχείων και καταλόγων ή εντελώς καθολικές αλλαγές με ίση προσπάθεια. Η προσπάθεια να γίνει αυτό με το GUI απαιτεί συχνά μακροχρόνιες και επαναλαμβανόμενες ενέργειες πληκτρολογίου και ποντικιού καθώς αυξάνεται ο αριθμός των επηρεαζόμενων αντικειμένων.

Η γραμμή εντολών σας δίνει την υψηλότερη πιστότητα. Κάθε επιλογή κάθε εντολής είναι διαθέσιμη σε εσάς. Και πολλές από τις εντολές Linux έχουν πολλές επιλογές. Για να πάρετε μόνο ένα παράδειγμα, εξετάστε την εντολή lsof. Ρίξτε μια ματιά σε αυτό σελίδα ανθρώπου και μετά σκεφτείτε πώς θα το τυλίξετε σε ένα GUI.

Υπάρχουν πάρα πολλές επιλογές για να παρουσιαστούν στον χρήστη σε ένα αποτελεσματικό GUI. Θα ήταν συντριπτικό, μη ελκυστικό και αδέξιο στη χρήση. Και αυτό είναι το εντελώς αντίθετο από αυτό που στοχεύει να είναι ένα GUI.

Είναι άλογα για μαθήματα. Μην πτοείτε μακριά από το άλογο CLI. Συχνά είναι το πιο γρήγορο και ευκίνητο άλογο. Κερδίστε τα κίνητρά σας και δεν θα το μετανιώσετε ποτέ.