Jak používat příkaz cat v Linuxu (s příklady)

Pro uživatele, kteří pracují s Linuxem, se ovládání systému výrazně liší od Windows či macOS. Setkáte se zde s grafickým rozhraním, ale také s rozhraním příkazového řádku. Ačkoliv je GUI intuitivní a snadné pro běžné operace, příkazová řádka (CLI) má svoje nepopiratelné výhody. Kdo je zběhlý v klíčových příkazech terminálu, zvládne práci s Linuxem obratem ruky. Jedním z často používaných nástrojů je příkaz `cat`. Je součástí balíčku `coreutils` předinstalovaného na všech distribucích Linuxu a jeho syntaxe je napříč distribucemi stejná. V tomto článku si tedy ukážeme, jak tento příkaz efektivně používat na několika praktických příkladech.

Příkaz cat v Linuxu: Vysvětlení (2023)

Než se pustíme do samotných příkladů, podívejme se, co to vlastně příkaz `cat` je, jaká je jeho syntaxe a jaké má možnosti. Následně se naučíme, jak tento příkaz využít k zobrazování, slučování, řazení a dalším operacím se soubory.

Co je příkaz cat v Linuxu?

Příkaz `cat` je zkratkou pro „concatenate“ (zřetězit) a patří mezi základní kameny v arzenálu každého uživatele Linuxu. Původně vznikl pro operační systém UNIX, ale Linux i macOS si ho následně upravily. Hlavním smyslem tohoto nástroje je manipulace se soubory. Umožňuje vytvářet nové soubory, prohlížet jejich obsah, přepisovat je nebo slučovat více souborů dohromady.

Jak používat příkaz cat: Syntax a možnosti

Dříve než se pustíme do praktických ukázek, je dobré si projít syntax příkazu `cat` v Linuxu. Je poměrně jednoduchá a přímočará. Zde je základní schéma, kde se v závislosti na požadované operaci kombinují volby s názvy souborů:

cat

Mezi nejčastější možnosti (options), které lze s příkazem `cat` použít, patří:

Možnosti Popis
-n Zobrazí čísla řádků u všech řádků
-T Zobrazí každý tabulátor v souboru
-e Zobrazí konec každého řádku v souboru
-s Sloučí po sobě jdoucí prázdné řádky na konci souboru do jednoho
-b Zobrazí pouze neprázdné řádky

Příklady příkazů cat v terminálu Linux

Zobrazení jednoho souboru

Nejběžnějším použitím příkazu `cat` je zobrazení obsahu jednoho souboru. K tomu slouží následující syntaxe:

cat

Zobrazení více souborů

Příkaz `cat` umožňuje zobrazit obsah více souborů najednou. Stačí uvést jejich názvy oddělené mezerami:

cat

Zobrazení čísel řádků

Příkaz `cat` standardně nezobrazuje čísla řádků. Pokud je chcete zobrazit, použijte parametr `-n`:

cat -n

Vytvoření nového souboru pomocí příkazu cat

Pro vytváření nových souborů obvykle používáme příkaz `touch` nebo textový editor. Ačkoliv příkaz `cat` nenahradí tyto nástroje v plné míře, lze ho použít pro rychlé úpravy a vytváření nových souborů s obsahem. Syntaxe pro vytvoření nového souboru s obsahem pomocí příkazu `cat` je:

cat >

Symbol `>` je operátor přesměrování výstupu, který přepíše obsah existujícího souboru, pokud již existuje. Pokud soubor neexistuje, vytvoří se. Po zadání obsahu nového souboru stiskněte klávesu „ENTER“ a poté kombinaci „CTRL + d“ pro ukončení zadávání.

V uvedeném příkladu vidíme vytvoření nového souboru „test1.txt“ pomocí příkazu `cat` a následné ověření jeho obsahu dalším příkazem `cat`.

Sloučení dvou souborů do nového souboru

Příkaz `cat` dokáže spojit obsah dvou souborů do jednoho. Operátor „>>“ (připojení) slouží k přidání obsahu prvního souboru na konec druhého:

cat >>

V uvedeném příkladu jsme spojili obsah souboru „test1.txt“ s obsahem souboru „test2.txt“ pomocí příkazu `cat`. Výsledek si můžeme ověřit pomocí druhého příkazu `cat`.

Zkopírování obsahu jednoho souboru do druhého

Obsah jednoho souboru lze jednoduše zkopírovat do jiného pomocí příkazu `cat` a operátoru přesměrování výstupu „>“. Ten přepíše obsah cílového souboru:

cat >

V tomto příkladu jsme přepsali obsah souboru „test2.txt“ obsahem souboru „test1.txt“.

Zobrazení neviditelných znaků

Standardně příkaz `cat` nezobrazuje konce řádků. K zobrazení konců řádků použijte parametr `-E`:

cat -E

Konec každého řádku se poté zobrazí symbolem „$“. Pro zobrazení tabulátorů namísto prázdných mezer použijte parametr `-T`:

cat -T

Tabulátory se zobrazí jako „^I“. K zobrazení všech ostatních neviditelných znaků použijte parametr `-v`:

cat -v

V tomto příkladu vidíme, jak se konce řádků zobrazují pomocí symbolu „$“ a tabulátory jako znak „^I“.

Sloučení více prázdných řádků do jednoho

V souborech se někdy vyskytují prázdné řádky, které nechceme tisknout. Parametr `-s` sloučí všechny prázdné řádky do jednoho:

cat -s

Zobrazení obsahu souboru v opačném pořadí (příkaz tac)

Standardně příkaz `cat` vypisuje obsah souboru shora dolů. Pokud pracujete s logy nebo jinými daty, kde se nejnovější informace připojují na konec, může být užitečné zobrazit soubor v obráceném pořadí. K tomu slouží příkaz `tac`, který je alternativou k příkazu `cat` a zobrazí soubor od posledního řádku k prvnímu:

tac

Řazení obsahu souborů

V Linuxu je možné kombinovat více příkazů pomocí přesměrovačů shellu. Ty přesměrovávají výstup jednoho příkazu na vstup druhého. Již jsme si ukázali operátory přesměrování výstupu `>` (přepsání) a `>>` (připojení).

Existuje také další typ přesměrovače shellu, tzv. „roura“ (pipe). Ta umožňuje spustit více příkazů najednou, přičemž výstup prvního příkazu je automaticky přesměrován jako vstup druhého příkazu. Taková konstrukce se nazývá rourou (pipeline) a operátor pro ni je „|“.

Příkaz `cat` zobrazuje obsah souboru v tom pořadí, v jakém je uložen. Příkaz `sort` se používá k řazení výstupu. Spojením těchto dvou příkazů rourou, můžeme zobrazit obsah souboru seřazený. Syntaxe pro použití dvou příkazů pomocí operátoru roury je:

cat | třídit

V tomto příkladu příkaz `cat` nejdříve vypíše obsah souboru „test3.txt“, a následně se výstup přesměruje do příkazu `sort`, který seřadí obsah podle abecedy a až pak se zobrazí výsledek.

Zobrazení velkých souborů pomocí příkazu cat

Někdy i výkonné systémy mohou mít problémy se zobrazením obsahu velkých souborů. V takových případech je vhodné použít příkaz `less` ve spojení s příkazem `cat` a operátorem roury. `less` načítá soubor po částech, čímž se šetří systémové zdroje. Pomocí kláves se šipkami se můžete pohybovat nahoru a dolů a prohlížet si další části souboru. Syntaxe pro použití příkazu `less` s příkazem `cat` je:

cat | méně

Pokud zadáte výše uvedený příkaz, soubor se nezobrazí přímo v terminálu, ale v novém zobrazení. Pro pohyb v textu použijte klávesy se šipkami. Pro přesun na konec textu použijte klávesy „GG“, na začátek „gg“ a pro opuštění stiskněte „q“.

Cat Command Praktické příklady

Příkaz `cat` společně s příkazem `tac` významně zjednodušují správu souborů pro uživatele, kteří jsou zvyklí na práci s terminálem. Díky kombinaci s různými volbami a operátory je `cat` mimořádně užitečný nástroj. V tomto článku jsme si ukázali několik praktických příkladů, jak používat příkaz `cat` k vytváření, přidávání a prohlížení souborů v systému Linux. Pokud se o příkazu `cat` chcete dozvědět víc, navštivte oficiální manuálovou stránku. Pokud máte jakékoliv dotazy, neváhejte se na nás obrátit v komentářích.