Οι τελεστές αλυσίδας εντολών είναι ειδικοί χαρακτήρες που χρησιμοποιούνται για την εγγραφή μικρών σεναρίων κελύφους στη γραμμή εντολών. Γενικά χρησιμοποιούνται για την εκτέλεση εντολών με μια συγκεκριμένη σειρά, που ορίζεται από την τοποθέτηση τελεστών μεταξύ των εντολών. Αυτό είναι απίστευτα χρήσιμο για την αυτοματοποίηση εργασιών.
Ας μάθουμε για μερικούς τελεστές κοινής αλυσίδας στο Linux που μπορούν να σας βοηθήσουν να ολοκληρώσετε εργασίες γρηγορότερα και με λιγότερα διαστήματα χρηστών.
1. Ο χειριστής Ampersand (&)
Συχνά, όταν ανοίγετε ένα πρόγραμμα ή εκτελείτε μια εντολή από το φλοιό, πρέπει είτε να περιμένετε μέχρι να τερματιστεί η εντολή είτε να βγείτε χειροκίνητα από το πρόγραμμα για να μπορέσετε να συνεχίσετε να χρησιμοποιείτε το φλοιό. Εδώ μπαίνει στο παιχνίδι ο τελεστής συμπλεκτών (&).
Προσθέτοντας τον τελεστή σύμφωνο σε οποιαδήποτε εντολή, υπαγορεύετε το κέλυφος σε εκτελέστε αυτήν την εντολή Linux στο παρασκήνιο ώστε να μπορείτε να συνεχίσετε να χρησιμοποιείτε το κέλυφος χωρίς σύνδεση.
gedit &
Συνήθως, εάν εκτελείτε το gedit από το τερματικό, δεν θα μπορείτε να χρησιμοποιήσετε το τερματικό εκτός εάν κλείσετε το πρόγραμμα επεξεργασίας κειμένου. Αλλά, προσθέτοντας τον τελεστή σύμφωνο, μπορείτε να τον κάνετε να τρέχει στο παρασκήνιο και να συνεχίσετε να χρησιμοποιείτε το κέλυφος αμέσως.
2. Ο χειριστής ερωτηματικών (;)
Ο τελεστής ερωτηματικό είναι ένας απίστευτα χρήσιμος τελεστής αλυσίδας Linux που μπορείτε να χρησιμοποιήσετε για να εκτελέσετε εντολές με καθορισμένη, διαδοχική σειρά. Παραγγείλετε τις εντολές σας και διαχωρίστε τις με ερωτηματικά.
pwd; mkdir δοκιμή; CDδοκιμή; αρχείο αφής
Η παραπάνω σύνταξη υπαγορεύει το κέλυφος να εκτελεί κάθε εντολή η μία μετά την άλλη. Σημειώστε ότι το κέλυφος δεν ελέγχει εάν κάθε εντολή τερματίζεται με επιτυχία. Μόλις το κέλυφος λάβει έναν κωδικό επιστροφής, προχωρά στην εκτέλεση της επόμενης εντολής.
3. Ο χειριστής OR (||)
Ο τελεστής OR θα εκτελέσει την εντολή που ακολουθεί μόνο εάν η προηγούμενη εντολή αποτύχει, δηλαδή επιστρέψει έναν κωδικό εξόδου 0. Λειτουργεί σαν μια λογική πύλη OR, η οποία επιστρέφει μια τιμή 1 όταν η είσοδος είναι 0.
bad_command || ls
Σε αυτό το παράδειγμα σύνταξης, bad_command είναι μια ψευδής εντολή που θα αποτύχει να εκτελεστεί και εφόσον αποτυγχάνει, η εντολή που διαδέχεται τον τελεστή OR, η οποία είναι την εντολή ls, θα εκτελεστεί με επιτυχία.
4. Ο χειριστής σωλήνων (|)
Ο χειριστής του σωλήνα κατευθύνει την έξοδο της προηγούμενης εντολής ως είσοδο στην επόμενη εντολή. Χρησιμοποιείται πιο συχνά για το φιλτράρισμα δεδομένων με την εντολή grep.
δοκιμή γάτας | grep -i "κάνουν χρήση του"
Αυτή η εντολή στέλνει την έξοδο του η εντολή της γάτας ως είσοδος στην εντολή grep, η οποία στη συνέχεια φιλτράρει την έξοδο σε μια καθορισμένη συμβολοσειρά.
5. Ο χειριστής ΚΑΙ (&&)
Αυτός ο τελεστής λειτουργεί με παρόμοιους τρόπους με τον τελεστή ερωτηματικό, εκτός από το ότι, σε αντίθεση με τον τελεστή ερωτηματικό, ο τελεστής AND θα εκτελεί εντολές μόνο εάν η προηγούμενη εντολή εκτελέστηκε με επιτυχία.
pwd && τεστ mkdir && τεστ cd && bad_command && ls
Σε αυτό το παράδειγμα σύνταξης, το κέλυφος θα εκτελέσει με επιτυχία όλες τις εντολές μέχρι bad_command. Ωστόσο, επειδή το bad_command αποτυγχάνει να εκτελεστεί, το κέλυφος θα επιστρέψει ένα σφάλμα και θα παρακάμψει την εντολή ls.
6. Ο ΜΗ Χειριστής (!)
Ο τελεστής NOT λειτουργεί με παρόμοιους τρόπους με μια εντολή εκτός στον προγραμματισμό. Για παράδειγμα, εάν θέλετε να εκτελέσετε μια λειτουργία σε μεγάλο αριθμό αρχείων σε έναν κατάλογο, αλλά θέλετε να εξαιρέσετε ένα λίγα με βάση κάποια παράμετρο, τότε μπορείτε να χρησιμοποιήσετε τον τελεστή NOT περνώντας την παράμετρο μετά τον χαρακτήρα NOT (!).
rm-r !(*.κείμενο)
Αυτό το δείγμα εντολής θα αφαιρέσει αναδρομικά όλα τα αρχεία σε έναν κατάλογο εκτός από τα αρχεία που έχουν ".κείμενο"επέκταση.
7. Ο τελεστής προτεραιότητας ((..))
Οι εντολές που ακολουθούν τους τελεστές AND και OR εξαρτώνται από τον κωδικό εξόδου της προηγούμενης εντολής. Αυτοί οι τελεστές είναι δυαδικοί και αξιολογούν μόνο τις δύο εντολές που έρχονται πριν και μετά από αυτούς.
Επομένως, όταν εργάζεστε με πολλούς τελεστές, είναι σημαντικό να ορίζετε ομάδες και προτεραιότητα για να διασφαλίσετε ότι η ακολουθία εκτέλεσης ανταποκρίνεται στις προσδοκίες σας.
(ls *.txt > txt-files.list && cp *.tx ~) && (ls *.deb > deb-packages.list && cp *.deb ~) || ηχώ "Τεστ Προτεραιότητας!"
Σε αυτό το δείγμα σύνταξης, και οι δύο ομάδες εντολών πρέπει να επιστρέψουν έναν κωδικό εξόδου 0 για να εξασφαλίσουν την επιτυχή εκτέλεση της τελευταίας εντολής. Αυτό το παράδειγμα απαιτεί και οι δύο εντολές στο πρώτο σύνολο () να βγαίνουν με 0 για να εκτελεστεί το δεύτερο σύνολο ().
8. Ο χειριστής συνδυασμού ({..})
Όπως υποδηλώνει το όνομα, ο τελεστής συνδυασμού χρησιμοποιείται για την ομαδοποίηση εντολών. Όποιες εντολές θέλετε να ομαδοποιήσετε, μπορείτε να τις τοποθετήσετε μέσα σε αγκύλες και θα εκτελεστούν ανάλογα με τον κωδικό εξόδου της πρώτης εντολής.
test -f /etc/passwd && {pwd; ημερομηνία} && ηχώ $0; ηχώ "Γειά σου"
Το δείγμα σύνταξης θα ελέγξει εάν το αρχείο /etc/passwd υπάρχει, εκτυπώστε τον τρέχοντα κατάλογο εργασίας, ημερομηνία, όνομα κελύφους και ηχώ "Hello".
9. Concatenation ή το Escape Operator (\)
Ο τελεστής σύνδεσης ή διαφυγής έχει δύο λειτουργίες. Μπορείτε είτε να το χρησιμοποιήσετε για να συνδέσετε δύο εντολές είτε ως χαρακτήρα διαφυγής όταν εργάζεστε με συμβολοσειρές στο κέλυφος.
mkdir test0 test1 \ test2
ηχώ «Γεια σου! από ο
άλλη πλευρά"
Η πρώτη εντολή θα δημιουργήσει τέσσερις καταλόγους με το όνομα test0 έως test2 και η δεύτερη εντολή θα εκτυπώσει τη συμβολοσειρά που χωρίζεται από μια νέα γραμμή.
10. Οι τελεστές ανακατεύθυνσης (>, >>,
Οι τελεστές ανακατεύθυνσης ανακατευθύνουν την έξοδο ή την είσοδο σε ένα αρχείο είτε ξαναγράφοντας το αρχείο είτε προσθέτοντας σε αυτό. Εάν θέλετε να ξαναγράψετε ένα αρχείο, τότε πρέπει να χρησιμοποιήσετε τη σύνταξη μονής αγκύλης (>). Εάν θέλετε να προσαρτήσετε ένα αρχείο, θα πρέπει να χρησιμοποιήσετε τη σύνταξη της διπλής αγκύλης (>>).
ηχώ "dsd"> δοκιμή; ηχώ "bssss">> δοκιμή
Στο δείγμα σύνταξης, η πρώτη εντολή θα αντικαταστήσει το αρχείο "test" με την παρεχόμενη συμβολοσειρά, αλλά, στη δεύτερη εντολή, η συμβολοσειρά που παρέχεται θα προσαρτηθεί στο αρχείο δοκιμής.
Επιταχύνετε τη ροή εργασίας του τερματικού σας Linux
Ενώ η χρήση ειδικών τελεστών θα απλοποιήσει σημαντικά την εκτέλεση εργασιών για εσάς, υπάρχουν πολλοί άλλοι τρόποι για να επιταχύνετε τη ροή εργασίας σας.
Ένας εύκολος και χρήσιμος τρόπος για να κάνετε περισσότερα σε λιγότερο χρόνο είναι να εξοικειωθείτε με μερικές εύχρηστες συντομεύσεις κελύφους. Η εξοικείωση με αυτές τις συντομεύσεις θα σας βοηθήσει πολύ και θα βρείτε τον εαυτό σας να βασίζεστε σε αυτές για όσο διάστημα χρησιμοποιείτε το Linux.