Πώς να χρησιμοποιήσετε τις εντολές «cat» και «tac» με παραδείγματα στο Linux
Αυτό το άρθρο αποτελεί μέρος της σειράς Κόλπα και Συμβουλές για το Linux, σε αυτό το άρθρο θα καλύψουμε ορισμένες βασικές χρήσεις της εντολής cat (η πιο συχνά χρησιμοποιούμενη εντολή στο Linux) και της tac ( εντολή reverse of cat – εκτύπωση αρχείων με αντίστροφη σειρά) με μερικά πρακτικά παραδείγματα.
Διαβάστε επίσης: 13 χρήσιμα παραδείγματα εντολών "cat" στο Linux
Βασική χρήση του Cat Command στο Linux
Η εντολή Cat, ακρωνύμιο του Concatenate, είναι μία από τις πιο χρησιμοποιούμενες εντολές στα συστήματα *nix. Η πιο βασική χρήση της εντολής είναι η ανάγνωση αρχείων και η εμφάνισή τους στο stdout, δηλαδή η εμφάνιση του περιεχομένου των αρχείων στο τερματικό σας.
cat file.txt
Μια άλλη χρήση της εντολής cat είναι η ανάγνωση ή ο συνδυασμός πολλών αρχείων μαζί και η αποστολή της εξόδου σε μια οθόνη όπως φαίνεται στα παρακάτω παραδείγματα.
cat file1.txt file2.txt file3.txt
Η εντολή μπορεί επίσης να χρησιμοποιηθεί για τη σύνδεση (ένωση) πολλών αρχείων σε ένα μόνο αρχείο χρησιμοποιώντας τον τελεστή ανακατεύθυνσης Linux “> ”
.
cat file1.txt file2.txt file3.txt > file-all.txt
Χρησιμοποιώντας το πρόγραμμα ανακατεύθυνσης προσάρτησης, μπορείτε να προσθέσετε το περιεχόμενο ενός νέου αρχείου στο κάτω μέρος του file-all.txt
με την ακόλουθη σύνταξη.
cat file4.txt >> file-all.txt
Η εντολή cat μπορεί να χρησιμοποιηθεί για την αντιγραφή του περιεχομένου του αρχείου σε ένα νέο αρχείο. Το νέο αρχείο μπορεί να μετονομαστεί σε αυθαίρετο. Για παράδειγμα, αντιγράψτε το αρχείο από την τρέχουσα θέση στον κατάλογο /tmp/
.
cat file1.txt > /tmp/file1.txt
Αντιγράψτε το αρχείο από την τρέχουσα θέση στον κατάλογο /tmp/
και αλλάξτε το όνομά του.
cat file1.txt > /tmp/newfile.cfg
Μια μικρότερη χρήση της εντολής cat είναι η δημιουργία ενός νέου αρχείου με την παρακάτω σύνταξη. Όταν ολοκληρώσετε την επεξεργασία του αρχείου, πατήστε CTRL+D
για αποθήκευση και έξοδο από το νέο αρχείο.
cat > new_file.txt
Για να αριθμήσετε όλες τις γραμμές εξόδου ενός αρχείου, συμπεριλαμβανομένων των κενών γραμμών, χρησιμοποιήστε το διακόπτη -n
.
cat -n file-all.txt
Για να εμφανίσετε μόνο τον αριθμό κάθε μη κενού γραμμής χρησιμοποιήστε το διακόπτη -b
.
cat -b file-all.txt
Θέλετε να μάθετε περισσότερα για την εντολή Linux cat; στη συνέχεια διαβάστε το άρθρο μας σχετικά με 13 χρήσιμα παραδείγματα εντολών «γάτας» στο Linux.
Μάθετε πώς να χρησιμοποιείτε την εντολή Tac στο Linux
Από την άλλη πλευρά, μια λιγότερο γνωστή και λιγότερο χρησιμοποιούμενη εντολή στα συστήματα *nix είναι η εντολή tac
. Το Tac είναι πρακτικά η αντίστροφη έκδοση της εντολής cat
(επίσης γραμμένη προς τα πίσω) η οποία εκτυπώνει κάθε γραμμή ενός αρχείου ξεκινώντας από την κάτω γραμμή και τελειώνοντας στην επάνω γραμμή μέχρι το πρότυπο του μηχανήματός σας παραγωγή.
tac file-all.txt
Μία από τις πιο σημαντικές επιλογές της εντολής αντιπροσωπεύεται από τον διακόπτη -s
, ο οποίος διαχωρίζει τα περιεχόμενα του αρχείου με βάση μια συμβολοσειρά ή μια λέξη-κλειδί από το αρχείο.
tac file-all.txt --separator "two"
Στη συνέχεια, η πιο σημαντική χρήση της εντολής tac είναι ότι μπορεί να προσφέρει μεγάλη βοήθεια για τον εντοπισμό σφαλμάτων στα αρχεία καταγραφής, αντιστρέφοντας τη χρονολογική σειρά των περιεχομένων των αρχείων καταγραφής.
tac /var/log/auth.log
Or to display the last lines
tail /var/log/auth.log | tac
Δείγμα εξόδου
tecmint@tecmint ~ $ tac /var/log/auth.log
pr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
....
tecmint@tecmint ~ $ tail /var/log/auth.log | tac
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session closed for user root
Apr 6 16:09:01 tecmint CRON[17714]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session closed for user root
Apr 6 16:05:01 tecmint CRON[17583]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:05:01 tecmint CRON[17582]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session closed for user root
Apr 6 16:00:01 tecmint CRON[17434]: pam_unix(cron:session): session opened for user root by (uid=0)
Apr 6 15:55:02 tecmint CRON[17194]: pam_unix(cron:session): session closed for user root
Apr 6 15:55:01 tecmint CRON[17195]: pam_unix(cron:session): session closed for user root
...
Όπως η εντολή cat
, το tac
κάνει εξαιρετική δουλειά στον χειρισμό αρχείων κειμένου, αλλά θα πρέπει να αποφεύγεται σε άλλους τύπους αρχείων, ειδικά σε δυαδικά αρχεία ή σε αρχεία όπου η πρώτη γραμμή υποδηλώνει το πρόγραμμα που θα το τρέξει.