The mind behind Linux | Linus Torvalds
Πίνακας περιεχομένων:
- Πώς να χρησιμοποιήσετε την εντολή
tr - Συνδυασμός επιλογών
- Παραδείγματα εντολών Tr
- Μετατρέψτε τα πεζά σε κεφαλαία
- Καταργήστε όλους τους μη αριθμητικούς χαρακτήρες
- Βάλτε κάθε λέξη σε μια νέα γραμμή
- Αφαιρέστε τις κενές γραμμές
- Εκτυπώστε τους καταλόγους
$PATHσε ξεχωριστή γραμμή - συμπέρασμα
tr
είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών σε συστήματα Linux και Unix που μεταφράζει, διαγράφει και συμπιέζει χαρακτήρες από την τυπική είσοδο και γράφει το αποτέλεσμα στην τυπική έξοδο.
Η εντολή
tr
μπορεί να εκτελέσει λειτουργίες όπως την αφαίρεση επαναλαμβανόμενων χαρακτήρων, τη μετατροπή κεφαλαίων σε πεζά και την αντικατάσταση και αφαίρεση βασικού χαρακτήρα. Συνήθως, χρησιμοποιείται σε συνδυασμό με άλλες εντολές μέσω σωληνώσεων.
Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε την εντολή
tr
μέσω πρακτικών παραδειγμάτων και λεπτομερών εξηγήσεων των πιο κοινών επιλογών.
Πώς να χρησιμοποιήσετε την εντολή
tr
Η σύνταξη για την εντολή
tr
έχει ως εξής:
tr OPTION… SET1
tr
δέχεται δύο σύνολα χαρακτήρων, συνήθως με το ίδιο μήκος, και αντικαθιστά τους χαρακτήρες των πρώτων συνόλων με τους αντίστοιχους χαρακτήρες από το δεύτερο σετ.
Το
SET
είναι βασικά μια σειρά χαρακτήρων, συμπεριλαμβανομένων των ειδικών χαρακτήρων που έχουν ξεφύγει από τη σκιά.
Στο παρακάτω παράδειγμα, το
tr
θα αντικαταστήσει όλους τους χαρακτήρες από την τυπική είσοδο (linuxize), χαρτογραφώντας τους χαρακτήρες από το πρώτο σετ με τις αντίστοιχες από το δεύτερο σετ.
echo 'linuxize' | tr 'lin' 'red'
Κάθε εμφάνιση του
l
αντικαθίσταται με
r
,
i
με
e
, και
n
με
d
:
reduxeze
Τα σύνολα χαρακτήρων μπορούν επίσης να ορίζονται χρησιμοποιώντας εύρη χαρακτήρων. Για παράδειγμα, αντί να γράφετε:
echo 'linuxize' | tr 'lmno' 'wxyz'
μπορείς να χρησιμοποιήσεις:
echo 'linuxize' | tr 'ln' 'w-z'
Όταν χρησιμοποιείται η επιλογή
-c
(-
--complement
), το
tr
αντικαθιστά όλους τους χαρακτήρες που δεν υπάρχουν στο SET1.
Στο παρακάτω παράδειγμα όλοι οι χαρακτήρες εκτός από το "li" θα αντικατασταθούν με τον τελευταίο χαρακτήρα από το δεύτερο σετ:
echo 'linuxize' | tr -c 'li' 'xy'
liyyyiyyy
Όπως ίσως έχετε παρατηρήσει, η παραπάνω έξοδος έχει έναν ακόμη πιο ορατό χαρακτήρα από την είσοδο. Αυτό οφείλεται στο γεγονός ότι η εντολή
echo
εκτυπώνει έναν αόρατο χαρακτήρα νέας γραμμής
που επίσης αντικαθίσταται με
y
. Για να επαναφέρετε μια συμβολοσειρά χωρίς νέα γραμμή, χρησιμοποιήστε την επιλογή
-n
.
Η επιλογή
-d
(-
--delete
) λέει στο
tr
να διαγράψει τους χαρακτήρες που καθορίζονται στο SET1. Κατά τη διαγραφή χαρακτήρων χωρίς συμπίεση, καθορίστε μόνο ένα σύνολο.
Η παρακάτω εντολή θα αφαιρέσει τους χαρακτήρες
l
,
i
και
z
:
echo 'Linuxize' | tr -d 'liz'
Ο χαρακτήρας
L
δεν διαγράφεται επειδή η είσοδος περιλαμβάνει κεφαλαίο
L
ενώ ο χαρακτήρας
l
στο SET είναι πεζά.
Lnuxe
Η επιλογή
-s
(-
--squeeze-repeats
) αντικαθιστά μια σειρά επαναλαμβανόμενων συμβάντων με το σύνολο χαρακτήρων στο τελευταίο SET.
Στο ακόλουθο παράδειγμα, το
tr
καταργεί τους επαναλαμβανόμενους χαρακτήρες διαστήματος:
echo "GNU \ Linux" | tr -s ' '
GNU \ Linux
Όταν χρησιμοποιείται το SET2, η ακολουθία του χαρακτήρα που καθορίζεται στο SET1 αντικαθίσταται από το SET2.
echo "GNU \ Linux" | tr -s ' ' '_'
GNU_\_Linux
Η επιλογή
-t
(
--truncate-set1
) αναγκάζει το
tr
να κόψει το SET1 στο μήκος του SET2 πριν κάνει περαιτέρω επεξεργασία.
Από προεπιλογή, εάν το SET1 είναι μεγαλύτερο από το SET2, το
tr
θα επαναχρησιμοποιήσει τον τελευταίο χαρακτήρα του SET2. Ακολουθεί ένα παράδειγμα:
echo 'Linux ize' | tr 'abcde' '12'
Η έξοδος δείχνει ότι ο χαρακτήρας
e
από το SET1 αντιστοιχεί στον τελευταίο χαρακτήρα του SET2, ο οποίος είναι
2
:
Linux iz2
Τώρα, χρησιμοποιήστε την ίδια εντολή με την επιλογή
-t
:
echo 'Linux ize' | tr -t 'abcde' '12'
Linux ize
Μπορείτε να δείτε ότι οι τρεις τελευταίοι χαρακτήρες του SET1 αφαιρούνται. Το SET1 γίνεται «ab», το ίδιο μήκος με το SET2, και δεν γίνεται αντικατάσταση.
Συνδυασμός επιλογών
Η εντολή
tr
σας επιτρέπει επίσης να συνδυάσετε τις επιλογές της. Για παράδειγμα, η ακόλουθη εντολή αντικαθιστά πρώτα όλους τους χαρακτήρες εκτός από το
i
με το
0
και στη συνέχεια πιέζει τους επαναλαμβανόμενους χαρακτήρες
0
:
echo 'Linux ize' | tr -cs 'i' '0'
Παραδείγματα εντολών Tr
Σε αυτή την ενότητα, θα καλύψουμε μερικά παραδείγματα κοινών χρήσεων της εντολής
tr
.
Μετατρέψτε τα πεζά σε κεφαλαία
Η μετατροπή πεζών σε κεφαλαία ή αντίστροφη είναι μία από τις τυπικές περιπτώσεις χρήσης της εντολής
tr
.
αντιστοιχεί σε όλους τους πεζούς χαρακτήρες και
αντιστοιχεί σε όλους τους κεφαλαίους χαρακτήρες.
echo 'Linuxize' | tr '' ''
LINUXIZE
Αντί των κατηγοριών χαρακτήρων, μπορείτε επίσης να χρησιμοποιήσετε σειρές:
echo 'Linuxize' | tr 'az' 'A-Z'
Για να μετατρέψετε το κεφαλαίο σε πεζά, απλά μεταβείτε στις θέσεις των σετ.
Καταργήστε όλους τους μη αριθμητικούς χαρακτήρες
Η ακόλουθη εντολή καταργεί όλους τους μη αριθμητικούς χαρακτήρες:
echo "my phone is 123-456-7890" | tr -cd
σημαίνει όλους τους χαρακτήρες και χρησιμοποιώντας την επιλογή
-c
, η εντολή αφαιρεί όλους τους μη ψηφιακούς χαρακτήρες. Η έξοδος θα μοιάζει με αυτό:
Βάλτε κάθε λέξη σε μια νέα γραμμή
Για να θέσουμε κάθε λέξη σε μια νέα γραμμή, πρέπει να ταιριάξουμε όλους τους μη αλφαριθμητικούς χαρακτήρες και να τις αντικαταστήσουμε με μια νέα γραμμή:
echo 'GNU is an operating system' | tr -cs '' '\n'
Αφαιρέστε τις κενές γραμμές
Για να διαγράψετε τις κενές γραμμές, απλώς πιέστε τους επαναλαμβανόμενους χαρακτήρες νέας γραμμής:
tr -s '\n' < file.txt > new_file.txt
Στην παραπάνω εντολή χρησιμοποιούμε το σύμβολο ανακατεύθυνσης
<
για να μεταβιβάσουμε το περιεχόμενο του
file.txt
στην εντολή
tr
. Η ανακατεύθυνση
>
γράφει την έξοδο της εντολής στο
new_file.txt
.
Εκτυπώστε τους καταλόγους
$PATH
σε ξεχωριστή γραμμή
Η περιβαλλοντική μεταβλητή
$PATH
είναι μια λίστα καταλόγων που οριοθετείται από το παχέος εντέρου που αναφέρει στο κέλυφος τους καταλόγους για την αναζήτηση εκτελέσιμων αρχείων όταν πληκτρολογείτε μια εντολή.
Για την εκτύπωση κάθε καταλόγου σε ξεχωριστή γραμμή πρέπει να ταιριάξουμε το τετράγωνο (:) και να το αντικαταστήσουμε με τη νέα γραμμή:
echo $PATH | tr ':' '\n'
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin
συμπέρασμα
tr
είναι μια εντολή για τη μετάφραση ή τη διαγραφή χαρακτήρων.
Παρόλο που είναι πολύ χρήσιμο, το
tr
μπορεί να λειτουργήσει μόνο με μεμονωμένους χαρακτήρες. Για πιο περίπλοκη αντιστοίχιση προτύπων και χειρισμού συμβολοσειρών, θα πρέπει να χρησιμοποιήσετε
sed
ή
awk
.
. Στο τρέχον συνέδριο ασφάλειας RSA σήμερα, ο Graham Cluley της Sophos έδειξε παραδείγματα τόσο κακόβουλων όσο και prankster επιθέσεων στα κοινωνικά δίκτυα, που περιγράφηκε παραπάνω, και τον πρόσφατο σκουλήκι "Mikeyy". Πολλά από αυτά τα παραδείγματα χρησιμοποίησαν το TinyURL ή άλλη υπηρεσία συντόμευσης-συντόμευσης για να κρύψουν έναν κακόβουλο σύνδεσμο σε μια δημοσίευση ή ένα μήνυμα προφίλ. Οι χρήστες του Twitter, ιδίως, κάνουν συχνά νόμιμη χρήση της υπηρεσίας για να εξοικονομήσουν χώρ
Μία επιλογή για το TinyURL είναι να κόψετε και να επικολλήσετε τον σύνδεσμο σε μια νέα καρτέλα προγράμματος περιήγησης και να προσθέσετε την προεπισκόπηση στον σύνδεσμο, όπως περιγράφεται εδώ. Αλλά ο Cluley είπε ότι χρησιμοποιεί το addon LongURL όταν κάνει περιήγηση με τον Firefox και αφού το δοκιμάσει ο ίδιος, καταλαβαίνω γιατί
Echo εντολή στο linux με παραδείγματα
Η εντολή echo είναι μία από τις πιο βασικές και συχνά χρησιμοποιούμενες εντολές στο Linux. Τα επιχειρήματα που διαβιβάζονται στην ηχώ εκτυπώνονται στην τυπική έξοδο.
Curl εντολή στο linux με παραδείγματα
Το Curl είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών για τη μεταφορά δεδομένων από ή σε ένα διακομιστή που έχει σχεδιαστεί για να λειτουργεί χωρίς αλληλεπίδραση χρηστών. Σε αυτό το σεμινάριο, θα σας δείξουμε πώς να χρησιμοποιήσετε το εργαλείο μπούκλα μέσω πρακτικών παραδειγμάτων και λεπτομερείς εξηγήσεις των πιο κοινών επιλογών μπούκλα.







