Jak korzystać z poleceń Linux Cat (z przykładami)

W każdym systemie operacyjnym, użytkownicy na co dzień pracują z różnymi plikami, wykonując podstawowe operacje, takie jak tworzenie nowych dokumentów, usuwanie zbędnych elementów czy przeglądanie ich zawartości. System Linux nie stanowi tu żadnego wyjątku.

Chociaż w Linuksie istnieje możliwość zarządzania plikami za pomocą graficznego interfejsu, wielu użytkowników preferuje interakcję z systemem poprzez terminal, czyli wiersz poleceń.

W związku z tym system Linux oferuje zestaw komend, które pozwalają na manipulację plikami bezpośrednio z poziomu terminala. Jednym z takich narzędzi jest właśnie polecenie `cat`.

Zgodnie z dokumentacją systemową, polecenie `cat` służy do łączenia zawartości plików oraz wyświetlania ich zawartości na standardowe wyjście, czyli zazwyczaj na ekran terminala. Dokumentacja systemu Linux, zwana stronami man, to zbiór plików informacyjnych, które pomagają użytkownikom zrozumieć działanie poszczególnych komend.

Aby uzyskać dostęp do strony man konkretnego polecenia w Linuksie, wystarczy w terminalu wpisać `man `. Przykładowo, aby wyświetlić stronę manuala dla polecenia `cat`, należy wprowadzić `man cat`.

Zastosowania polecenia cat

Jak już wspomniano, podstawowym zadaniem polecenia `cat` jest prezentowanie zawartości plików na ekranie. Dodatkową jego funkcją jest łączenie kilku plików i wyświetlanie ich treści w jednym strumieniu. W praktyce, jeśli podamy poleceniu `cat` kilka plików, połączy ono ich zawartość i wyświetli na ekranie.

W skrócie, `cat` łączy zawartość różnych plików i prezentuje je w terminalu. Warto jednak zaznaczyć, że operacja ta nie powoduje utworzenia nowego pliku, a pierwotne pliki przekazane do polecenia pozostają nietknięte.

Polecenie `cat` znajduje również zastosowanie w procesie przekierowania strumieni. Przekierowanie to nic innego, jak możliwość zmiany standardowego źródła danych wejściowych oraz standardowego miejsca zapisu danych wyjściowych i komunikatów o błędach. Standardowe strumienie, czyli wejście, wyjście i błąd, to mechanizmy służące do komunikacji w systemie Linux.

Standardowo, źródłem wejścia jest klawiatura, a standardowe wyjście i błędy prezentowane są na ekranie terminala.

Przekierowanie umożliwia zatem zmianę źródła wejścia z domyślnej klawiatury na plik lub inne źródło danych.

Podobnie, standardowe wyjście i błędy, które domyślnie trafiają na ekran, można przekierować do zapisu w pliku.

Składnia polecenia cat

Ogólna składnia polecenia `cat` przedstawia się następująco:

cat [OPCJA]... [PLIK]...

Zgodnie z konwencją stron man, elementy umieszczone w nawiasach kwadratowych są opcjonalne. Oznacza to, że polecenie `cat` nie musi przyjmować żadnych OPCJI ani nawet PLIKÓW. Może mieć oba, jeden z nich, lub nie mieć żadnego z tych argumentów.

Symbol wielokropka (…) oznacza, że dozwolona jest dowolna ilość argumentów danego typu. Zatem, polecenie `cat` może przyjąć jedną lub więcej OPCJI lub PLIKÓW.

PLIK reprezentuje pliki, których zawartość chcemy połączyć i wyświetlić. OPCJA to flagi, które modyfikują zachowanie polecenia. Poniżej przedstawiono niektóre z opcji, które można użyć z poleceniem `cat`:

Polecenie `cat` pobiera wskazane pliki i przesyła ich zawartość na standardowe wyjście, czyli okno terminala. W przypadku podania kilku plików, ich treść jest łączona, a następnie wyświetlana w terminalu.

Działanie `cat` zależy również od przekazanych flag. Na przykład, flaga `-n` sprawi, że `cat` ponumeruje wszystkie linie wyjściowe. Możemy stosować różne flagi, aby dostosować działanie polecenia do naszych potrzeb.

Sposoby użycia polecenia cat

Aby skorzystać z polecenia `cat`, wystarczy wpisać polecenie oraz nazwę pliku (lub plików), których zawartość chcemy połączyć lub wyświetlić. Na przykład, aby wyświetlić treść pliku o nazwie `tęcza.txt`, należy wykonać:

cat tęcza.txt

Możemy też dodać flagę, aby zmodyfikować zachowanie polecenia. Przykładowo, możemy ponumerować linie wyjściowe za pomocą flagi `-n`. W naszym przykładzie, aby ponumerować linie w `tęcza.txt`, wykonamy:

cat -n tęcza.txt

Wyniki tych dwóch poleceń przedstawiono poniżej:

Aby połączyć różne flagi, można je umieścić obok siebie lub oddzielić spacjami. Obie metody są poprawne. Poniżej pokazano przykład użycia flagi `-E`, która dodaje znak dolara ($) na końcu każdej linii wyjściowej.

Może to być przydatne przy wyświetlaniu danych finansowych. Poniżej przedstawiono różne sposoby łączenia flag w poleceniu `cat`:

Aby połączyć i wyświetlić zawartość kilku plików za pomocą `cat`, wystarczy wpisać ich nazwy, oddzielając je spacjami. Na przykład, aby połączyć pliki `tęcza.txt` i `podstawowy.txt`, wykonamy:

cat tęcza.txt podstawowy.txt

Wynik działania polecenia przedstawiono poniżej:

Po tej operacji, zawartość plików `tęcza.txt` i `podstawowy.txt` pozostaje nienaruszona. Warto zauważyć, że kolejność plików podana w poleceniu determinuje kolejność wyświetlania ich zawartości. Najpierw wyświetlana jest treść pierwszego pliku, a potem kolejnych. Można również łączyć flagi podczas operacji na wielu plikach, jak pokazano poniżej:

Ostatnią istotną kwestią dotyczącą polecenia `cat` jest to, że jeśli nie podamy żadnego pliku lub podamy myślnik (`-`), `cat` będzie czytać dane ze standardowego wejścia, czyli z klawiatury.

W takiej sytuacji, `cat` po prostu wyświetli na ekranie wszystko, co użytkownik wpisze na klawiaturze. Aby to sprawdzić, wykonaj:

cat

Polecenie ustawi migający kursor, oczekując na wpisanie tekstu. Wpisz dowolny tekst i naciśnij Enter. Cokolwiek zostanie wprowadzone, pojawi się na standardowym wyjściu, jak pokazano poniżej:

Aby wyjść i zatrzymać przekazywanie danych do `cat`, naciśnij kombinację klawiszy CTRL + C.

Możemy też użyć `cat` do połączenia i wyświetlenia zawartości wszystkich plików określonego typu, znajdujących się w aktualnym katalogu. Wykorzystuje się do tego celu symbol gwiazdki (`*`), będący tzw. znakiem wieloznacznym.

cat *.txt

Przykładowo, aby wyświetlić zawartość wszystkich plików tekstowych (`.txt`) w danym katalogu, użyjemy następującej komendy:

Przykłady zastosowania polecenia cat

Oprócz standardowych zastosowań, funkcjonalność polecenia `cat` można rozszerzyć dzięki przekierowaniu strumieni. Jak już wspomniano, domyślnie `cat` wyświetla dane na ekranie terminala.

Przekierowanie pozwala nam jednak przekierować te dane do innego pliku, zamiast wyświetlać je na ekranie.

W Linuksie, symbolem przekierowania wyjścia jest `>` (znak większości, czasem zwany „jodełką”).

cat tęcza.txt

Na przykład, jeśli wykonamy:

Zawartość pliku `tęcza.txt` zostanie wyświetlona na ekranie.

cat kolory.txt > tęcza.txt

Natomiast, wykonując:

Zawartość `tęcza.txt` nie zostanie wyświetlona na ekranie. Zamiast tego, zostanie zastąpiona zawartością pliku `kolory.txt`. Jest to dobry sposób na kopiowanie zawartości jednego pliku do drugiego.

Domyślnie, przekierowanie wyjścia w Linuksie nadpisuje całą zawartość pliku, do którego przekierowujemy dane. W powyższym przykładzie, cała zawartość `tęcza.txt` zostanie zastąpiona treścią z `kolory.txt`. Aby zachować dotychczasową zawartość pliku i dodać do niej nową treść, użyj `>>` przy przekierowaniu.

Jak widać poniżej, plik `kolory.txt` zawiera teraz kolory, które znajdowały się w `tęcza.txt` po przekierowaniu wyjścia z `tęcza.txt` do `kolory.txt` za pomocą `>>`.

Aby jeszcze bardziej rozszerzyć funkcjonalność `cat`, możemy połączyć przekierowanie i domyślne zachowanie `cat`, polegające na czytaniu ze standardowego wejścia, gdy nie podamy pliku. Dzięki temu, możemy wykorzystać `cat` do stworzenia nowego pliku i zapisania do niego danych.

cat > ciemny.txt

Jeśli wykonamy:

Będziemy przekierowywać wyjście do pliku `ciemny.txt`. Ponieważ nie podaliśmy pliku, którego zawartość ma być przekierowana, `cat` będzie oczekiwał na dane z klawiatury.

Wprowadź dowolny tekst, który chcesz zapisać w `ciemny.txt`, naciśnij Enter, aby przejść do kolejnej linii, a na koniec, po zakończeniu wpisywania, naciśnij CTRL + D, aby zapisać wprowadzone dane w przekierowanym pliku.

Ponieważ przekierowujemy dane do pliku, który nie istnieje, `ciemny.txt` zostanie automatycznie utworzony, a to, co wpisaliśmy z klawiatury, zostanie do niego zapisane. W ten sposób, możemy użyć polecenia `cat` do tworzenia plików i zapisywania w nich danych w momencie ich tworzenia.

Wynik operacji przedstawiono poniżej:

cat >> ciemny.txt

Polecenie `cat` można też użyć do dopisania tekstu na końcu pliku. Mając plik `ciemny.txt`, możemy dodać do niego kolejne kolory, wykonując:

Następnie możemy wprowadzić dodatkowe informacje z klawiatury, a następnie nacisnąć CTRL + D, aby zapisać i dołączyć nową treść do pliku `ciemny.txt`, jak pokazano poniżej:

cat plik1 plik2 plik3 > plik4

Polecenie `cat` można także wykorzystać do połączenia zawartości kilku plików w jeden. Poniżej przedstawiono składnię takiej operacji:

Zawartość plików `plik1`, `plik2` i `plik3` zostanie połączona i zapisana w pliku `plik4`. Możemy też użyć `>>`, aby nie nadpisać zawartości `plik4`. Jeśli plik `plik4` nie istnieje, zostanie automatycznie utworzony.

Przykład tego przedstawiono poniżej:

cat kolory.txt podstawowy.txt > wszystkieKolory.txt

Aby zapisać zawartość `kolory.txt` i `podstawowy.txt` do `wszystkieKolory.txt`, wykonujemy:

cat podstawowy.txt >> kolory.txt

Możemy też dołączyć zawartość jednego lub kilku plików do innego, używając polecenia `cat`. Realizuje się to za pomocą `>>` podczas przekierowania wyjścia. Dzięki temu, unikamy nadpisania dotychczasowej zawartości pliku. Na przykład, aby dołączyć zawartość pliku `podstawowy.txt` do `kolory.txt`, wykonujemy:

Wynik tej operacji przedstawiono poniżej:

Podsumowanie

Polecenie `cat` jest bardzo użytecznym narzędziem w systemie Linux, umożliwiającym użytkownikom łączenie i wyświetlanie zawartości plików. Ma wiele flag, które modyfikują jego działanie.

Dzięki przekierowaniu, funkcjonalność `cat` może być znacząco rozszerzona, umożliwiając tworzenie i kopiowanie plików, łączenie wielu plików w jeden, czy dopisywanie do istniejących plików. Aby dowiedzieć się więcej o `cat`, zajrzyj na jego strony manuala.

Zachęcamy również do zapoznania się z innymi poleceniami systemu Linux przydatnymi dla administratorów systemu.


newsblog.pl