Πώς να χρησιμοποιήσετε την εντολή tee στο Linux
Βασικά Takeaways
-
Η εντολή “tee” στο
Linux
αποθηκεύει την έξοδο μιας εντολής σε ένα αρχείο ενώ την εμφανίζει επίσης στο τερματικό. - Μπορεί επίσης να γράψει την έξοδο σε πολλά αρχεία ταυτόχρονα, επιτρέποντας την εύκολη δημιουργία αντιγράφων ασφαλείας και παρακολούθηση των αρχείων καταγραφής του συστήματος.
-
Η εντολή “tee” μπορεί επίσης να χρησιμοποιηθεί με άλλες εντολές μέσω σωληνώσεων. Αυτό επιτρέπει την περαιτέρω επεξεργασία της εξόδου κατά την αποθήκευση σε ένα αρχείο. Για παράδειγμα, θα μπορούσατε να το χρησιμοποιήσετε με το “ls” σε αυτήν την εντολή: “ls ~ | tee
list
.txt”
ο
tee
Η εντολή μπορεί να αποθηκεύσει την έξοδο των εντολών σας για μελλοντική εξέταση. Αυτή η εντολή όχι μόνο εμφανίζει την έξοδο στην οθόνη αλλά την καταγράφει και σε ξεχωριστό αρχείο καταγραφής. Ας υποθέσουμε ότι θέλετε να αποθηκεύσετε την έξοδο του
df
εντολή σε ένα αρχείο, ώστε να μπορείτε να παρακολουθείτε τη χρήση του χώρου στο δίσκο σας με την πάροδο του χρόνου. Αυτή η εντολή σάς βοηθά να αντιμετωπίσετε προβλήματα μιας διεργασίας καθώς διατηρεί ένα γραπτό αρχείο διεργασιών.
Τι είναι η εντολή tee στο Linux;
Το Linux
tee
Η εντολή είναι ένα χρήσιμο εργαλείο για εξοικονόμηση χρόνου και βελτίωση της αποτελεσματικότητας στο Linux. Μπορεί να διαβάσει την τυπική είσοδο (
stdin
) και γράψτε το και στην τυπική έξοδο (
stdout
) και το αρχείο ή τα αρχεία που καθορίζετε. ο
tee
Η εντολή λειτουργεί σαν σωλήνας σχήματος Τ που χωρίζει το
νερό
σε δύο κατευθύνσεις. Σας επιτρέπει να προβάλλετε την έξοδο ενός προγράμματος και να το αποθηκεύσετε σε ένα αρχείο ταυτόχρονα.
ο
tee
η εντολή κάνει και τα δύο πράγματα μαζί. Σας επιτρέπει να αντιγράψετε την έξοδο στα αρχεία ή τις μεταβλητές που επιλέγετε και να την εμφανίσετε σε εσάς. Αυτή η εντολή χρησιμοποιείται επίσης σε σενάρια κελύφους και εντολές τερματικού για την αποστολή εξόδου σε διαφορετικές τοποθεσίες. Μπορείτε να χρησιμοποιήσετε το
tee
εντολή για δημιουργία αντιγράφων ασφαλείας, εύρεση σφαλμάτων σε σενάρια και παρακολούθηση των αρχείων καταγραφής του συστήματος.
ο
tee
Η εντολή σάς επιτρέπει επίσης να τη διοχετεύετε με άλλες εντολές. Με αυτόν τον τρόπο, μπορείτε να αποθηκεύσετε την έξοδο σε ένα αρχείο και επίσης να το επεξεργαστείτε περαιτέρω με οποιαδήποτε άλλη εντολή.
Σχεδόν όλες οι διανομές Linux συνοδεύονται από το
tee
προεγκατεστημένη εντολή, η οποία αποτελεί μέρος του πακέτου Coreutils.
ο
tee
Η εντολή ακολουθεί παρόμοια σύνταξη με άλλες εντολές Linux. Έχει δύο ορίσματα, –OPTIONS και FILES:
tee [OPTION]... [FILE]...
Για να μάθετε ποια έκδοση του
tee
εντολή που χρησιμοποιείτε, απλώς εκτελέστε την ακόλουθη εντολή:
tee --version
Εάν χρειάζεστε βοήθεια με τη σύνταξη και τα διαθέσιμα ορίσματα για το
tee
εντολή, πληκτρολογήστε αυτό:
tee --help
Επιλογές εντολών
ο
tee
Η εντολή έχει πολλές επιλογές για να τροποποιήσετε τη λειτουργικότητά της. Ο παρακάτω πίνακας δείχνει μερικές επιλογές που θα σας βοηθήσουν να χρησιμοποιήσετε το
tee
εντολή αποτελεσματικά:
|
Επιλογή |
Περιγραφή |
|---|---|
|
|
Προσθέστε την έξοδο στο τέλος των αρχείων αντί να τα αντικαταστήσετε. |
|
|
Αγνοήστε τα σήματα διακοπής όπως Ctrl+C. |
|
|
Εκτυπώστε ένα μήνυμα σφάλματος για τυπικό σφάλμα για κάθε σφάλμα που παρουσιάζεται κατά την εγγραφή σε αρχεία. |
|
|
Εμφανίστε μια βασική βοήθεια που σχετίζεται με τις επιλογές εντολών. |
|
|
Εμφάνιση του |
Αποθήκευση εξόδου σε αρχείο στο Linux χρησιμοποιώντας το tee
ο
tee
Η εντολή αποθηκεύει την έξοδο μιας εντολής σε ένα αρχείο ενώ την εμφανίζει και στο τερματικό. Για παράδειγμα, το
tee
Η εντολή θα σας επιτρέψει να δείτε τα αρχεία και τους καταλόγους στον αρχικό σας κατάλογο και επίσης να τα αποθηκεύσετε σε ξεχωριστό αρχείο. Για να το κάνετε αυτό, σωληνώστε το
tee
εντολή με
ls
εντολή ως εξής:
ls ~ | tee list.txt
Αυτό θα εμφανίσει όλα τα αρχεία και τους καταλόγους στον αρχικό σας κατάλογο και θα τα γράψει στο “list.txt”. Για να προβάλετε το περιεχόμενο του “list.txt”, χρησιμοποιήστε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου ή εντολή όπως
cat
,
less
ή
more
εντολή.
cat list.txt
Ας εκτελέσουμε ένα άλλο παράδειγμα με α
echo
εντολή για αποθήκευση και προβολή της εξόδου. Πρώτα, χρησιμοποιήστε το
echo
εντολή για εκτύπωση κειμένου στο τερματικό. Μετά από αυτό, σωλήνων το
tee
εντολή με το
echo
εντολή για να γράψετε το ίδιο κείμενο σε ένα αρχείο που ονομάζεται “output.txt”.
echo "Welcome to Ubuntu" | tee output.txt
Τέλος, χρησιμοποιήστε το
cat
εντολή για επαλήθευση των περιεχομένων του αρχείου “output.txt”.
cat output.txt
Γράψτε την έξοδο σε πολλαπλά αρχεία στο Linux χρησιμοποιώντας το tee
ο
tee
Η εντολή μπορεί επίσης να γράψει έξοδο σε πολλά αρχεία ταυτόχρονα. Απλά πρέπει να ορίσετε τα ονόματα των αρχείων μετά το
tee
εντολή στην οποία θέλετε να γράψετε. Απλώς διαχωρίστε τα με κενά.
Για παράδειγμα, για να αποθηκεύσετε την έξοδο του
echo
εντολή σε τρία διαφορετικά αρχεία, χρησιμοποιήστε την ακόλουθη σύνταξη:
echo "Welcome to Ubuntu" | tee file1.txt file2.txt file3.txt
Αυτό θα γράψει τη συμβολοσειρά “Welcome to Ubuntu” σε τρία αρχεία: file1.txt, file2.txt και file3.txt. Τα εμφανίζει επίσης στο τερματικό. Για να προβάλετε το περιεχόμενο αυτών των αρχείων, χρησιμοποιήστε το
cat
ή
head
εντολή:
head -v file1.txt file2.txt file3.txt
Ομοίως, το
cat
Η εντολή θα εμφανίσει επίσης την ίδια έξοδο:
cat -v file1.txt file2.txt file3.txt
Μπορείτε να γράψετε την έξοδο σε οποιοδήποτε αριθμό αρχείων με το
tee
εντολή. Απλώς πληκτρολογήστε τα ονόματα των αρχείων μετά το
tee
εντολή με κενά μεταξύ τους.
Προσθήκη εξόδου σε αρχείο χρησιμοποιώντας μπλουζάκι
ο
tee
Η εντολή στο Linux αντικαθιστά το περιεχόμενο του αρχείου από προεπιλογή. ο
-a
ή
--append
επιλογή με το
tee
Η εντολή σάς επιτρέπει να προσαρτήσετε την έξοδο στο τέλος των αρχείων αντί να αντικαταστήσετε το περιεχόμενό τους.
Πριν προσθέσουμε δεδομένα στο αρχείο, ας ελέγξουμε τα παρόντα δεδομένα που τοποθετούνται στο αρχείο χρησιμοποιώντας την παρακάτω εντολή:
cat output.txt
Τώρα, μπορούμε να προσαρτήσουμε τα νέα δεδομένα χωρίς να τα αντικαταστήσουμε πληκτρολογώντας αυτό:
echo "tee Command on Linux" | tee -a output.txt
Αυτό θα προσαρτήσει την έξοδο μιας εντολής στο τέλος του output.txt, χωρίς να διαγράψει οποιοδήποτε προηγούμενο περιεχόμενο σε αυτό. Για επαλήθευση, εκτελέστε το
cat
εντολή:
cat output.txt
Απόκρυψη της εξόδου με χρήση του μπλουζιού
Μερικές φορές, μπορεί να θέλετε να αποθηκεύσετε την έξοδο μιας εντολής σε ένα αρχείο χωρίς να την εμφανίσετε στο τερματικό. Αυτό μπορεί να είναι χρήσιμο εάν θέλετε να εκτελέσετε μια εντολή αθόρυβα, χωρίς να γεμίσετε το τερματικό σας με περιττή έξοδο. Σε τέτοιες περιπτώσεις, πρέπει να κατευθύνετε την έξοδο της εντολής στο
/dev/null
συσκευή. ο
/dev/null
αναφέρεται συχνά ως “null συσκευή” ή “null file”. Λειτουργεί ως αποθήκη δεδομένων, πράγμα που σημαίνει ότι όλα τα δεδομένα που γράφονται σε αυτό απορρίπτονται και δεν αποθηκεύονται πουθενά.
Εδώ είναι ένας τρόπος για να κρύψετε την έξοδο του
echo
εντολή:
echo "Welcome to Ubuntu" | tee output.txt > /dev/null
Αυτό θα γράψει την έξοδο μιας εντολής στο output.txt και θα την στείλει επίσης στο
/dev/null
, το οποίο θα το κρύψει αποτελεσματικά από την οθόνη. Ωστόσο, το
cat
Η εντολή θα σας επιτρέψει να επαληθεύσετε την έξοδο προβάλλοντας το περιεχόμενο του αρχείου:
cat output.txt
Ανακατευθύνετε την έξοδο μιας εντολής σε μια άλλη χρησιμοποιώντας το tee
ο
tee
Η εντολή μπορεί επίσης να ανακατευθύνει την έξοδο μιας εντολής σε ένα αρχείο ή σε οποιαδήποτε άλλη εντολή. ο
tee
εντολή με σωλήνα (|) θα σας επιτρέψει να στείλετε την έξοδο της πρώτης εντολής τόσο στην τυπική έξοδο όσο και στη δεύτερη εντολή ή αρχείο. Εξετάστε το ακόλουθο παράδειγμα:
echo "This is Ubuntu" | tee output.txt | wc -c
ο
echo
Η έξοδος εντολής “Welcome to Ubuntu” γράφεται στο αρχείο output.txt. Μετά από αυτό, ο χειριστής του αγωγού χρησιμοποιείται με το
tee
εντολή. Αυτό θα μεταβιβάσει το περιεχόμενο του αρχείου στο
wc
εντολή. ο
wc
Η εντολή θα παράγει τους συνολικούς χαρακτήρες που μετρήθηκαν και θα εμφανίσει μια ακέραια τιμή.
Για να επαληθεύσετε εάν το
tee
Η εντολή έχει επίσης γράψει έξοδο σε ένα αρχείο, χρησιμοποιήστε το
cat
εντολή για εμφάνιση του περιεχομένου του αρχείου:
cat output.txt
Χρήση της εντολής tee με το sudo
Όταν χρησιμοποιείτε το
tee
εντολή, γράφει την έξοδο μιας εντολής σε ένα κανονικό αρχείο. Ωστόσο, ορισμένα αρχεία και κατάλογοι, όπως οι κατάλογοι συστήματος ή τα προστατευμένα αρχεία απαιτούν δικαιώματα υπερχρήστη για τροποποίηση. Για εγγραφή σε αυτά τα αρχεία ή αρχεία που ανήκουν σε άλλους χρήστες, χρησιμοποιήστε το
tee
σε συνδυασμό με
sudo
.
Στο παρακάτω παράδειγμα, όταν προσπαθείτε να γράψετε ένα αρχείο “file.conf” που ανήκει στο root χωρίς να το χρησιμοποιήσετε
sudo
θα σας δώσει ένα σφάλμα άρνησης άδειας.
echo "This is Ubuntu" | tee -a /etc/file.conf
Ωστόσο, όταν χρησιμοποιείτε το
sudo
με την
tee
εντολή, αυτό θα εκτελεστεί χωρίς κανένα σφάλμα. Μπορείτε να χρησιμοποιήσετε το
sudo
εντολή για εκτέλεση του
tee
εντολή ως χρήστης root ή κάτοχος του αρχείου. Απλώς προπαρασκευαστείτε
sudo
με την
tee
εντολή:
echo "This is Ubuntu" | sudo tee -a /etc/file.conf
Πρώτον, το
tee
η εντολή θα λάβει το
echo
έξοδος εντολής. Μετά από αυτό, ανυψώνεται σε
sudo
δικαιώματα και γράφει το κείμενο στο αρχείο.
Παραδείγματα χρήσης tee σε σενάριο Bash
ο
tee
Η εντολή μπορεί να είναι χρήσιμη σε διάφορα σενάρια δέσμης ενεργειών. Σας βοηθά να καταγράψετε ή να καταγράψετε την έξοδο μιας εντολής για περαιτέρω επεξεργασία ή εντοπισμό σφαλμάτων. ο
tee
Η εντολή όχι μόνο θα εμφανίσει την έξοδο αλλά και θα την αποθηκεύσει σε ένα αρχείο ή αρχεία για μελλοντική χρήση.
Για παράδειγμα, εάν θέλετε να δείτε την ημερομηνία και την ώρα στο τερματικό και επίσης να τα γράψετε σε ένα αρχείο με το όνομα log.txt, χρησιμοποιήστε το ακόλουθο σενάριο bash:
#!/bin/bash
date | tee log.txt
Σε αυτήν την περίπτωση, η τυπική είσοδος είναι η έξοδος της εντολής ημερομηνίας, η οποία δείχνει την τρέχουσα ημερομηνία και ώρα. ο
tee
Η εντολή εγγράφει αυτήν την έξοδο στο τερματικό και στο αρχείο log.txt. Εάν το αρχείο log.txt δεν υπάρχει, θα δημιουργηθεί. Εάν υπάρχει, θα αντικατασταθεί, εκτός εάν χρησιμοποιήσετε το
-a
επιλογή για προσθήκη στο αρχείο.
cat log.txt
Μπορείτε επίσης να χρησιμοποιήσετε το
tee
εντολή για εγγραφή σε πολλά αρχεία καθορίζοντας περισσότερα ονόματα αρχείων ως ορίσματα.
#!/bin/bash
date | tee log1.txt log2.txt
Αυτή η δέσμη ενεργειών εκτυπώνει την ημερομηνία και την ώρα στο τερματικό και σε δύο αρχεία με τα ονόματα log1.txt και log2.txt. Διαβάστε το περιεχόμενο και των δύο αρχείων χρησιμοποιώντας
cat
εντολή.
cat log1.txt log2.txt
Ας εξετάσουμε ένα άλλο απλό σενάριο bash που λαμβάνει μια είσοδο και την αποθηκεύει σε ένα αρχείο καταγραφής—χρησιμοποιώντας το
tee
εντολή.
#!/bin/bash
log_file="user_input.log"
echo "Please enter some text:"
read user_input
echo "$user_input" | tee -a "$log_file"
echo "User input has been logged to $log_file"
Στο δεδομένο σενάριο bash, ορίστε μια μεταβλητή που ονομάζεται “log_file” και εκχωρήστε της το όνομα του αρχείου καταγραφής που θέλετε να χρησιμοποιήσετε, όπως “user_input.log”. Στη συνέχεια, χρησιμοποιήστε το
echo
εντολή και το
read
εντολή για να σας ζητήσει να εισαγάγετε κάποιο κείμενο και να το αποθηκεύσετε σε μια μεταβλητή. Στη συνέχεια, χρησιμοποιήστε το
tee
εντολή με το
-a
επιλογή για να εμφανίσετε την είσοδο εισόδου στο τερματικό και να την προσαρτήσετε στο αρχείο καταγραφής.
Τέλος, χρησιμοποιήστε το
echo
εντολή ξανά για να δώσετε σχόλια. Αυτό θα σας πει ότι η εισ
αγωγή
σας έχει συνδεθεί στο αρχείο. Με αυτόν τον τρόπο σας επιτρέπει να δημιουργήσετε ένα σενάριο bash που αποθηκεύει τα δεδομένα σας σε ένα αρχείο καταγραφής και το εμφανίζει στην οθόνη.
Εκτελέστε το σενάριο bash χρησιμοποιώντας
bash
εντολή.
bash test.sh
Παρακολούθηση
διαδικασιών στο σύστημα Linux σας
Για να παρακολουθείτε πόσο καλά λειτουργεί το σύστημά σας Linux, θα πρέπει να παρατηρήσετε τις δραστηριότητες των διαδικασιών του. Αυτό περιλαμβάνει τη χρήση CPU και μνήμης, είσοδο/εξόδου δίσκου και δραστηριότητα δικτύου. Ο εντοπισμός των σημείων συμφόρησης απόδοσης βοηθά στη βελτιστοποίηση των πόρων του συστήματος και διασφαλίζει ότι το σύστημά σας λειτουργεί αποτελεσματικά.
Σαν το
tee
εντολή, το Linux έχει πολλές άλλες εντολές που σας βοηθούν να παρακολουθείτε εύκολα τις διαδικασίες. Μερικές από τις κύριες εντολές περιλαμβάνουν
ps
,
top
και
pgrep
εντολή. Τα συστήματα του Linux εκτελούν συχνά πολλές διεργασίες ταυτόχρονα. Χρησιμοποιώντας αυτές τις εντολές, μπορείτε να δώσετε προτεραιότητα σε κρίσιμες εργασίες, να κατανείμετε κατάλληλα τους πόρους και να αποτρέψετε τη διαμάχη πόρων.
VIA:
HowToGeek.com
