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

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

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

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

instagram viewer

Αυτοί είναι μερικοί μεταχαρακτήρες αντιστοίχισης αρχείων που μπορεί να ερμηνεύσει το κέλυφος του Linux:

  • * (Αστερίσκος): Ταιριάζει με μία ή πολλές εμφανίσεις ενός χαρακτήρα
  • ? (Ερωτηματικό): Ταιριάζει με έναν χαρακτήρα ή μια εμφάνιση μοτίβου
  • [ ] (Αγκύλες): Ταιριάζει με οποιονδήποτε αριθμό, σύμβολο ή αλφάβητο χωρισμένο με παύλες που καθορίζονται μέσα στις αγκύλες

Ένας ιδανικός τρόπος για να εξασκηθείτε στους μεταχαρακτήρες στο Linux είναι να δημιουργήσετε έναν νέο κενό φάκελο μέσα στο /tmp Ευρετήριο.

sudo mkdir /tmp/meta

Τώρα πλοηγηθείτε στο /tmp/meta καταλόγου χρησιμοποιώντας την εντολή cd και δημιουργήστε νέα κενά αρχεία χρησιμοποιώντας την αφή, ως εξής:

αγγίξτε apple.txt cider.sh ξύδι.php cat.txt λεμόνι.txt χυμός.sh γατόψαρο.sh 

Χρησιμοποιήστε τις παρακάτω εντολές για να δοκιμάσετε το "*" μεταχαρακτήρα και εμφανίστε τις εξόδους:

ls c*
Παραγωγή:
γατόψαρο.sh cat.txt μηλίτης.sh
ls c*h
Παραγωγή:
γατόψαρο.χ μηλίτης.χ
ls *r*
Παραγωγή:
μηλίτης.sh ξύδι.php
sudo rm *p*

Η προαναφερθείσα εντολή θα διαγράψει όλα τα αρχεία που περιέχουν το γράμμα "p" στο όνομά της. Μπορείτε να επαληθεύσετε την αλλαγή χρησιμοποιώντας την εντολή ls ως εξής:

ls
Παραγωγή:
γατόψαρο.sh γάτα.txt μηλίτης.sh juice.sh lemon.txt

Εδώ είναι μερικά παραδείγματα του "?" μεταχαρακτήρας για αντιστοίχιση προτύπων:

είναι;*
Παραγωγή:
apple.txt
ls c; t*
Παραγωγή:
γατόψαρο.sh cat.txt

Η τελευταία εντολή ταιριάζει με οποιοδήποτε αρχείο αρχίζει με ντο και έχει t ως τρίτο γράμμα (cat.txt, catfish.sh, κ.λπ.).

Τώρα χρησιμοποιήστε το [av]* επιλογή με την εντολή ls για να παραθέσουμε όλα τα αρχεία που ξεκινούν με ένα από τα δύο ένα ή v, ως εξής:

ls [av]*
Παραγωγή:
apple.txt ξύδι.sh

Μπορείτε να τροποποιήσετε την παραπάνω εντολή ώστε να παρατίθενται μόνο αρχεία που τελειώνουν με το γράμμα t:

ls [ac]*[t]
Παραγωγή:
apple.txt catfish.txt cat.txt

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

ls [a-j]*
Παραγωγή:
μήλο.txt γατόψαρο.sh cat.txt cider.sh juice.sh

Για καλύτερη κατανόηση της ανακατεύθυνσης στο Bash, κάθε διεργασία στο Linux έχει περιγραφείς αρχείων, γνωστούς ως τυπική είσοδο (stdin/0), τυπική έξοδος (stdout/1), και τυπικό σφάλμα (stderr/2). Καθορίζουν την προέλευση της εισαγωγής εντολών και αποφασίζουν πού θα σταλούν τα μηνύματα εξόδου και σφάλματος.

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

Με άλλα λόγια, οι μεταχαρακτήρες ανακατεύθυνσης αρχείων Linux σάς επιτρέπουν να ανακατευθύνετε το περιεχόμενο σε (>) και από (<) τα αρχεία. Οι τρεις κύριοι μεταχαρακτήρες ανακατεύθυνσης είναι:

  1. <: Κατευθύνει το περιεχόμενο του αρχείου στην εντολή. Για παράδειγμα, η έξοδος εντολής για λιγότερο .bashrc είναι το ίδιο με λιγότερο < .bashrc.
  2. >: Κατευθύνει την έξοδο της εντολής στο αρχείο. Η εντολή ls /etc > lists.txt αποθηκεύει την έξοδο στο αρχείο lists.txt.
  3. >>: Προσθέτει την έξοδο εντολής στο περιεχόμενο του αρχείου.

Το wc σημαίνει μέτρηση λέξεων και μπορείτε να το χρησιμοποιήσετε για να εμφανίσετε τη διαφορά μεταξύ του αρχείου πριν και μετά την προσάρτησή του στην έξοδο.

Σχετίζεται με: Κατανόηση Standard I/O σε Linux

Ο μεταχαρακτήρας επέκτασης αγκύλης σάς επιτρέπει να επεκτείνετε τους χαρακτήρες σε καταλόγους, ονόματα αρχείων ή άλλα ορίσματα γραμμής εντολών. Για παράδειγμα, μπορείτε να δημιουργήσετε έναν νέο κατάλογο στήριγμα μεσα στην /tmp φάκελο και δημιουργήστε ένα σύνολο αρχείων χρησιμοποιώντας την εντολή αφής ως εξής:

sudo mkdir /tmp/brace; cd /tmp/brace
δοκιμή αφής{1,2,3,4,5}

Τώρα, μπορείτε να ελέγξετε εάν το άγγιγμα δημιούργησε τα αρχεία ή όχι χρησιμοποιώντας την εντολή ls.

ls
Παραγωγή:
δοκιμή1 δοκιμή2 δοκιμή3 δοκιμή4 δοκιμή5

Μπορείτε να καθορίσετε πολλές λίστες για τη δημιουργία ονομάτων αρχείων με βάση τους συνδυασμούς των στοιχείων στη λίστα. Για παράδειγμα:

αγγίξτε {μήλο, μηλίτη, ξύδι}.{φρούτο, υγρό, ξινό}
αγγίξτε {a, b, c}.{1,2,3}

Η τελευταία εντολή θα δημιουργήσει τα ακόλουθα αρχεία στον τρέχοντα κατάλογο:

Η πρώτη εντολή χρησιμοποιεί δύο σύνολα αγκύλων για να συσχετίσει ονόματα αρχείων σε κάθε σύνολο με το άλλο. Μπορείτε επίσης να γράψετε την τελευταία εντολή ως αγγίξτε {a..c}.{1..3} για να καθορίσετε το εύρος μεταξύ a και c και 1 και 3.

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

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

Ονομα Περιγραφή Παράδειγμα
Σωλήνας (|) Συνδέει την έξοδο εντολής ως είσοδο με την άλλη εντολή. cat /etc/passwd | ρίζα grep
ερωτηματικό (;) Επιτρέπει την εκτέλεση διαδοχικών εντολών, η μία μετά την άλλη. cd /etc; ls -la; chmod +x /tmp/script.php
Συμφωνητικό (&) Εκτελεί τις διεργασίες ή τις εντολές στο παρασκήνιο. βρείτε / -perm -u=s -type f &
Δολάριο ($) Επεκτείνει την αριθμητική έκφραση και τη μεταβιβάζει στο κέλυφος echo "τα συνολικά αρχεία σε αυτόν τον κατάλογο είναι: $(ls | wc -l)"
Μηδενική ανακατεύθυνση (2>) Κατευθύνει τυπικά μηνύματα σφάλματος στο αρχείο /dev/null your_command 2>/dev/null
Circumflex (^) Ταιριάζει με οποιοδήποτε μοτίβο που ξεκινά με την έκφραση ακολουθούμενη από ^ cd /etc/ssh; ls | grep ^s

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

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

The Beginner’s Guide to Regular Expressions With Python

Θέλετε να επιταχύνετε τη ροή εργασίας σας στην Python με μερικές απλές εντολές; Οι κανονικές εκφράσεις είναι φίλος σου.

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Linux
  • Linux Elementary
  • Linux Bash Shell
Σχετικά με τον Συγγραφέα
Ρουμάισα Νιαζή (Δημοσιεύτηκαν 5 άρθρα)

Η Rumaisa είναι ανεξάρτητος συγγραφέας στο MUO. Έχει φορέσει πολλά καπέλα, από Μαθηματικός έως λάτρης της Ασφάλειας Πληροφοριών, και τώρα εργάζεται ως Αναλυτής SOC. Τα ενδιαφέροντά της περιλαμβάνουν την ανάγνωση και τη γραφή για νέες τεχνολογίες, διανομές Linux και οτιδήποτε αφορά την ασφάλεια πληροφοριών.

Περισσότερα από τη Rumaisa Niazi

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε