Jak używać poleceń „cat” i „tac” z przykładami w systemie Linux
Ten artykuł jest częścią naszej serii Linux Tricks and Tips. W tym artykule omówimy podstawowe użycie polecenia cat (najczęściej używanego polecenia w systemie Linux) i tac ( odwrotność polecenia cat – drukowanie plików w odwrotnej kolejności) z kilkoma praktycznymi przykładami.
Przeczytaj także: 13 przydatnych przykładów poleceń „cat” w systemie Linux
Podstawowe użycie polecenia Cat w systemie Linux
Polecenie Cat, skrót od Concatenate, jest jednym z najczęściej używanych poleceń w systemach *nix. Najbardziej podstawowym zastosowaniem tego polecenia jest odczytywanie plików i wyświetlanie ich na stdout, co oznacza wyświetlanie zawartości plików na terminalu.
cat file.txt
Innym zastosowaniem polecenia cat jest odczytywanie lub łączenie wielu plików razem i wysyłanie wyników do monitora, jak pokazano w poniższych przykładach.
cat file1.txt file2.txt file3.txt
Polecenie może być również użyte do połączenia (złączenia) wielu plików w jeden za pomocą operatora przekierowania „> ”
Linux.
cat file1.txt file2.txt file3.txt > file-all.txt
Używając przekierowania dołączania, możesz dodać zawartość nowego pliku na dół pliku file-all.txt
, stosując następującą składnię.
cat file4.txt >> file-all.txt
Komendy cat można użyć do skopiowania zawartości pliku do nowego pliku. Nazwę nowego pliku można dowolnie zmienić. Na przykład skopiuj plik z bieżącej lokalizacji do katalogu /tmp/
.
cat file1.txt > /tmp/file1.txt
Skopiuj plik z bieżącej lokalizacji do katalogu /tmp/
i zmień jego nazwę.
cat file1.txt > /tmp/newfile.cfg
Rzadszym użyciem polecenia cat jest utworzenie nowego pliku o poniższej składni. Po zakończeniu edycji pliku naciśnij CTRL+D
, aby zapisać i wyjść z nowego pliku.
cat > new_file.txt
Aby ponumerować wszystkie linie wyjściowe pliku, włączając linie puste, użyj przełącznika -n
.
cat -n file-all.txt
Aby wyświetlić tylko numer każdej niepustej linii, użyj przełącznika -b
.
cat -b file-all.txt
Chcesz dowiedzieć się więcej o poleceniu cat w systemie Linux? następnie przeczytaj nasz artykuł o 13 przydatnych przykładach poleceń „cat” w systemie Linux.
Dowiedz się, jak korzystać z polecenia Tac w systemie Linux
Z drugiej strony mniej znaną i rzadziej używaną komendą w systemach *nix jest komenda tac
. Tac jest praktycznie odwrotną wersją polecenia cat
(również pisanego od tyłu), które wypisuje każdą linię pliku, zaczynając od dolnej linii i kończąc na górnej linii, zgodnie ze standardem Twojej maszyny wyjście.
tac file-all.txt
Jedną z najważniejszych opcji polecenia jest przełącznik -s
, który oddziela zawartość pliku na podstawie ciągu znaków lub słowa kluczowego od pliku.
tac file-all.txt --separator "two"
Następnie najważniejszym zastosowaniem polecenia tac jest to, że może ono stanowić wielką pomoc w debugowaniu plików dziennika, odwracając chronologiczną kolejność zawartości dziennika.
tac /var/log/auth.log
Or to display the last lines
tail /var/log/auth.log | tac
Przykładowe wyjście
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
...
Podobnie jak polecenie cat
, polecenie tac
doskonale radzi sobie z manipulowaniem plikami tekstowymi, ale należy go unikać w przypadku innych typów plików, zwłaszcza plików binarnych lub plików, w których pierwsza linia oznacza program, który go uruchomi.