Πώς να χρησιμοποιήσετε την εντολή ουράς στο Linux
Βασικά Takeaways
- Η εντολή tail στο Linux εμφανίζει δεδομένα από το τέλος ενός αρχείου, καθιστώντας την χρήσιμη για την παρακολούθηση αρχείων καταγραφής και την εμφάνιση πρόσφατων προσθηκών.
- Η εισαγωγή του systemd σε ορισμένες διανομές Linux άλλαξε τη μορφή των αρχείων καταγραφής συστήματος σε δυαδική μορφή, αλλά πολλά αρχεία καταγραφής που δημιουργούνται από εφαρμογές εξακολουθούν να χρησιμοποιούν μορφή απλού κειμένου.
-
Εκτός από την εμφάνιση ενημερώσεων σε πραγμα
τι
κό χρόνο, το tail μπορεί επίσης να χρησιμοποιηθεί για την εμφάνιση συγκεκριμένου αριθμού γραμμών, την
εργασία
με πολλά αρχεία, την εμφάνιση γραμμών από την αρχή ενός αρχείου, τη χρήση μετατοπίσεων byte και να συνδυαστεί με άλλες εντολές μέσω σωληνώσεων.
Το Linux
tail
Η εντολή εμφανίζει δεδομένα από το τέλος ενός αρχείου. Μπορεί ακόμη και να εμφανίζει ενημερώσεις που προστίθενται σε ένα αρχείο σε πραγματικό χρόνο. Σας δείχνουμε πώς να το χρησιμοποιήσετε.
Μήπως το systemd Kill tail;
ο
tail
εντολή σας δείχνει δεδομένα από το τέλος ενός αρχείου. Συνήθως, νέα δεδομένα προστίθενται στο τέλος ενός αρχείου, οπότε το
tail
Η εντολή είναι ένας γρήγορος και εύκολος τρόπος για να δείτε τις πιο πρόσφατες προσθήκες σε ένα αρχείο. Μπορεί επίσης να παρακολουθεί ένα αρχείο και να εμφανίζει κάθε νέα καταχώρηση κειμένου σε αυτό το αρχείο καθώς εμφανίζονται. Αυτό το καθιστά ένα εξαιρετικό εργαλείο για την παρακολούθηση αρχείων καταγραφής.
Πολλές σύγχρονες διανομές Linux έχουν υιοθετήσει το
systemd
διαχειριστής συστήματος και υπηρεσιών. Αυτή είναι η πρώτη διαδικασία που εκτελείται, έχει
ID 1 διαδικασίας
, και είναι ο γονέας όλων των άλλων διεργασιών. Αυτός ο ρόλος ήταν
χειρίζονται οι παλαιότεροι
σύστημα έναρξης.
Μαζί με αυτήν την αλλαγή ήρθε μια νέα μορφή για τα αρχεία καταγραφής συστήματος. Δεν δημιουργείται πλέον σε απλό κείμενο, κάτω από
systemd
καταγράφονται σε δυαδική μορφή. Προς την
διαβάστε αυτά τα αρχεία καταγραφής, πρέπει να χρησιμοποιήσετε
το βοηθητικό πρόγραμμα journactl. ο
tail
η εντολή λειτουργεί με μορφές απλού κειμένου. Δεν διαβάζει δυαδικά αρχεία. Μήπως λοιπόν αυτό σημαίνει το
tail
εντολή είναι μια λύση στην αναζήτηση ενός προβλήματος; Έχει ακόμα κάτι να προσφέρει;
Υπάρχουν περισσότερα για το
tail
παρά να εμφανίζει ενημερώσεις σε πραγματικό χρόνο. Και για αυτό το θέμα, υπάρχουν ακόμα πολλά αρχεία καταγραφής που δεν δημιουργούνται από το σύστημα και εξακολουθούν να δημιουργούνται ως αρχεία απλού κειμένου. Για παράδειγμα, τα αρχεία καταγραφής που δημιουργούνται από εφαρμογές δεν έχουν αλλάξει τη μορφή τους.
Χρήση ουράς στο Linux
Περάστε το όνομα ενός αρχείου στο
tail
και θα σας δείξει τις τελευταίες δέκα γραμμές από αυτό το αρχείο. Τα παραδείγματα αρχείων που χρησιμοποιούμε περιέχουν λίστες ταξινομημένων λέξεων. Κάθε γραμμή είναι αριθμημένη, επομένως θα πρέπει να είναι εύκολο να ακολουθήσετε τα παραδείγματα και να δείτε τι αποτέλεσμα έχουν οι διάφορες επιλογές.
tail word-list.txt
Για να δείτε διαφορετικό αριθμό γραμμών, χρησιμοποιήστε το
-n
(αριθμός γραμμών) επιλογή:
tail -n 15 word-list.txt
Στην πραγματικότητα, μπορείτε να απορρίψετε το “-n” και απλώς να χρησιμοποιήσετε μια παύλα “-” και τον αριθμό. Βεβαιωθείτε ότι δεν υπάρχουν κενά μεταξύ τους. Τεχνικά,
αυτή είναι μια παρωχημένη φόρμα εντολών
αλλά είναι ακόμα στο
σελίδα ανθρώπου
και εξακολουθεί να λειτουργεί.
tail -12 word-list.txt
Χρήση ουράς με πολλά αρχεία
Μπορείς να έχεις
tail
εργασία με πολλά αρχεία ταυτόχρονα. Απλώς περάστε τα ονόματα αρχείων στη γραμμή εντολών:
tail -n 4 list-1.txt list-2.txt list-3.txt
Μια μικρή κεφαλίδα εμφανίζεται για κάθε αρχείο, ώστε να γνωρίζετε σε ποιο αρχείο ανήκουν οι γραμμές.
Εμφάνιση γραμμών από την αρχή ενός αρχείου
ο
+
(μετρήστε από την αρχή) ο τροποποιητής κάνει
tail
εμφάνιση γραμμών από την αρχή ενός αρχείου, ξεκινώντας από έναν συγκεκριμένο αριθμό γραμμής. Εάν το αρχείο σας είναι πολύ
μεγάλο
και επιλέξετε μια γραμμή κοντά στην αρχή του αρχείου, θα λάβετε πολλά
αποτελέσματα
που θα σταλούν στο παράθυρο του τερματικού. Εάν συμβαίνει αυτό, είναι λογικό να διοχετεύεται η έξοδος από
tail
σε
less
.
tail +440 list-1.txt
Μπορείς
σελίδα μέσα στο κείμενο με ελεγχόμενο τρόπο
.
Επειδή τυχαίνει να υπάρχουν 20.445 γραμμές σε αυτό το αρχείο, αυτή η εντολή είναι ισοδύναμη με τη χρήση της επιλογής “-6”:
tail +20440 list-1.txt
Χρήση Bytes με ουρά
Μπορείς να πεις
tail
για να χρησιμοποιήσετε μετατοπίσεις σε byte αντί για γραμμές χρησιμοποιώντας το
-c
(bytes) επιλογή. Αυτό θα μπορούσε να είναι χρήσιμο εάν έχετε ένα αρχείο κειμένου που έχει μορφοποιηθεί σε εγγραφές κανονικού μεγέθους. Σημειώστε ότι ένας χαρακτήρας νέας γραμμής μετράει ως ένα byte. Αυτή η εντολή θα εμφανίσει τα τελευταία 93 byte στο αρχείο:
tail -c 93 list-2.txt
Μπορείτε να συνδυάσετε το
-c
(bytes) επιλογή με το
+
τροποποιητή (μέτρηση από την αρχή του αρχείου) και καθορίστε μια μετατόπιση σε byte που μετράται από την αρχή του αρχείου:
tail -c +351053 list-e.txt
Σωληνώσεις στην ουρά
Νωρίτερα, διοχετεύσαμε την έξοδο από
tail
σε
less
. Μπορούμε επίσης να διοχετεύσουμε την έξοδο από άλλες εντολές
tail
.
Για να προσδιορίσετε τα πέντε αρχεία ή φακέλους με τους παλαιότερους χρόνους τροποποίησης, χρησιμοποιήστε το
-t
(ταξινόμηση κατά χρόνο τροποποίησης) επιλογή με
ls
και διοχετεύστε την έξοδο μέσα
tail
.
ls -tl | tail -5
ο
head
εντολή
παραθέτει γραμμές κειμένου από την αρχή ενός αρχείου
. Μπορούμε να το συνδυάσουμε με
tail
για να εξαγάγετε μια ενότητα του αρχείου. Εδώ, χρησιμοποιούμε το
head
εντολή για εξαγωγή των πρώτων 200 γραμμών από ένα αρχείο. Αυτό διοχετεύεται
tail
, που εξάγει τις τελευταίες δέκα γραμμές. Αυτό μας δίνει τις γραμμές 191 έως τη γραμμή 200. Δηλαδή, τις τελευταίες δέκα γραμμές των πρώτων 200 γραμμών:
head -n 200 list-1.txt | tail -10
Αυτή η εντολή παραθέτει τις πέντε διεργασίες που απαιτούν περισσότερη μνήμη.
ps aux | sort -nk +4 | tail -5
Ας το αναλύσουμε.
ο
ps
εντολή
εμφανίζει πληροφορίες σχετικά με τις διεργασίες που εκτελούνται
. Οι επιλογές που χρησιμοποιούνται είναι:
-
ένα
: Καταχωρίστε όλες τις διαδικασίες, όχι μόνο για τον τρέχοντα χρήστη. -
u
: Εμφάνιση εξόδου προσανατολισμένη στο χρήστη. -
Χ
: Καταχωρίστε όλες τις διεργασίες, συμπεριλαμβανομένων εκείνων που δεν εκτελούνται σε ένα TTY.
ο
sort
εντολή
ταξινομεί την έξοδο
από
ps
. Οι επιλογές με τις οποίες χρησιμοποιούμε
sort
είναι:
-
n
: Ταξινόμηση αριθμητικά. -
k +4
: Ταξινόμηση στην τέταρτη στήλη.
ο
tail -5
Η εντολή εμφανίζει τις πέντε τελευταίες διεργασίες από την ταξινομημένη έξοδο. Αυτές είναι οι πέντε διαδικασίες που απαιτούν περισσότερη μνήμη.
Χρήση ουράς για παρακολούθηση αρχείων σε πραγματικό χρόνο
Η παρακολούθηση νέων καταχωρήσεων κειμένου που φτάνουν σε ένα αρχείο — συνήθως ένα αρχείο καταγραφής — είναι εύκολη
tail
. Περάστε το όνομα αρχείου στη γραμμή εντολών και χρησιμοποιήστε το
-f
(ακολουθώ) επιλογή.
tail -f geek-1.log
Καθώς κάθε νέα καταχώρηση αρχείου καταγραφής προστίθεται στο αρχείο καταγραφής, η ουρά ενημερώνει την εμφάνισή της στο παράθυρο τερματικού.
Μπορείτε να κάνετε πιο συγκεκριμένη την έξοδο ώστε να περιλαμβάνει μόνο γραμμές ιδιαίτερης συνάφειας ή ενδιαφέροντος. Εδώ, χρησιμοποιούμε
grep
προς την
εμφανίζουν μόνο γραμμές που περιλαμβάνουν
η λέξη “μέσος όρος”:
tail -f geek-1.log | grep average
Για να ακολουθήσετε τις αλλαγές σε δύο ή περισσότερα αρχεία, περάστε τα ονόματα αρχείων στη γραμμή εντολών:
tail -f -n 5 geek-1.log geek-2.log
Κάθε καταχώρηση επισημαίνεται με μια κεφαλίδα που δείχνει από ποιο αρχείο προήλθε το κείμενο.
Η οθόνη ενημερώνεται κάθε φορά που εμφανίζεται μια νέα καταχώρηση σε ένα αρχείο που ακολουθεί. Για να καθορίσετε την περίοδο
ενημέρωση
ς, χρησιμοποιήστε το
-s
επιλογή (περίοδος ύπνου). Αυτό λέει
tail
να περιμένετε μερικά δευτερόλεπτα, πέντε σε αυτό το παράδειγμα, μεταξύ των ελέγχων αρχείων.
tail -f -s 5 geek-1.log
Ομολογουμένως, δεν μπορείτε να το καταλάβετε κοιτάζοντας ένα στιγμιότυπο οθόνης, αλλά οι ενημερώσεις στο αρχείο γίνονται μία φορά κάθε δύο δευτερόλεπτα. Οι νέες καταχωρήσεις αρχείων εμφανίζονται στο παράθυρο του τερματικού μία φορά κάθε πέντε δευτερόλεπτα.
Όταν ακολουθείτε τις προσθήκες κειμένου σε περισσότερα από ένα αρχεία, μπορείτε να αποκρύψετε τις κεφαλίδες που υποδεικνύουν από ποιο αρχείο καταγραφής προέρχεται το κείμενο. Χρησιμοποιήστε το
-q
(ήσυχη) επιλογή για να το κάνετε αυτό:
tail -f -q geek-1.log geek-2.log
Η έξοδος από τα αρχεία εμφανίζεται σε μια απρόσκοπτη μίξη κειμένου. Δεν υπάρχει ένδειξη από ποιο αρχείο καταγραφής προήλθε κάθε καταχώρηση.
Η ουρά έχει ακόμα αξία
Παρόλο που η πρόσβαση στα αρχεία καταγραφής συστήματος παρέχεται πλέον από
journalctl
,
tail
έχει ακόμα πολλά να προσφέρει. Αυτό ισχύει ιδιαίτερα όταν χρησιμοποιείται σε συνδυασμό με άλλες εντολές, μέσω σωληνώσεων μέσα ή έξω
tail
.
systemd
μπορεί να άλλαξε το τοπίο, αλλά υπάρχει ακόμα χώρος για παραδοσιακά βοηθητικά προγράμματα που συμμορφώνονται με τη φιλοσοφία του Unix να κάνουμε ένα πράγμα και να το κάνουμε καλά.
VIA:
HowToGeek.com
