Jak používat příkazy Linux Cat (s příklady)

V libovolném operačním systému uživatelé pracují s datovými soubory a provádějí operace jako je vytváření nových, mazání nepotřebných nebo prohlížení obsahu existujících souborů. V Linuxu to funguje obdobně.

Ačkoli v Linuxu existuje možnost pracovat se soubory za použití grafického rozhraní, mnoho uživatelů upřednostňuje interakci s operačním systémem pomocí terminálu.

Linux nabízí specializované příkazy, které uživatelům dovolují pracovat se soubory přímo z terminálového okna. Jedním z takových příkazů je například příkaz cat.

Podle manuálových stránek Linuxu, příkaz cat slouží ke spojování obsahu souborů a jeho následnému výpisu na standardní výstup. Manuálové stránky Linuxu jsou dokumentační soubory, které mají uživatelům usnadnit pochopení linuxových příkazů a jejich používání.

Pro zobrazení manuálové stránky jakéhokoli příkazu v Linuxu, stačí zadat příkaz man a za něj název příkazu. Pokud si například chcete prohlédnout manuálové stránky pro příkaz cat, zadejte do terminálu:

man cat

K čemu se příkaz cat používá?

Jak už bylo zmíněno, příkaz cat se využívá k zobrazení obsahu souboru na obrazovce. Další jeho funkcí je spojování obsahu více souborů a jejich následný výstup. Pokud tedy příkazu cat poskytnete více souborů, spojí jejich obsah a zobrazí ho na obrazovce.

Jednoduše řečeno, příkaz cat sloučí obsah několika souborů a zobrazí jej. Při této operaci ale nevzniká žádný nový soubor a původní soubory zůstávají nezměněny.

Příkaz cat se také používá v kontextu přesměrování. Přesměrování umožňuje uživatelům změnit zdroj standardního vstupu a cíl standardního výstupu a chybového výstupu. Standardní vstup, výstup a chybový výstup jsou standardní kanály, které se používají pro komunikaci v Linuxu.

Standardně je standardním vstupem klávesnice a standardní výstup a chybový výstup se zobrazují na obrazovce.

Přesměrování tedy umožňuje, abychom místo vstupu z klávesnice (což je standard), přesměrovali vstup ze souboru nebo jiného zdroje.

Co se týká standardního výstupu a chybového výstupu, které se standardně zobrazují na obrazovce, pomocí přesměrování můžeme tento výstup zapsat do souboru.

Syntaxe příkazu cat

Základní syntaxe příkazu cat vypadá takto:

cat [VOLBA]... [SOUBOR]...

V manuálových stránkách Linuxu jsou všechny výrazy v hranatých závorkách volitelné. V uvedené syntaxi tedy příkaz cat nemusí mít jako argumenty ani volbu (OPTION), ani název souboru (FILE). Může obsahovat obojí, pouze jedno z nich, nebo dokonce ani jedno.

Tři tečky (...) naznačují, že je povoleno použít jeden nebo více předchozích operandů nebo argumentů. Příkaz cat tedy může obsahovat jednu nebo více voleb nebo jmen souborů.

FILE představuje jména souborů, jejichž obsah chceme pomocí cat spojit a zobrazit. OPTION reprezentuje volitelné parametry, které se dají přidat k příkazu cat a upravují jeho chování. Některé volby, které lze použít s příkazem cat, jsou uvedeny níže:

Příkaz cat funguje tak, že vezme soubory, které mu byly předány, a jejich obsah pošle na standardní výstup, což je terminálové okno. Pokud je předáno více souborů, jejich obsah se spojí a následně se zobrazí v terminálu.

Chování příkazu cat se také mění v závislosti na předané volbě. Například volba -n způsobí, že příkaz cat očísluje všechny řádky výstupu. Podle toho, jak chcete, aby se příkaz choval, můžete použít libovolnou volbu, kterou příkaz cat podporuje.

Jak se příkaz cat používá?

Pro použití příkazu cat zadejte příkaz a název souboru (nebo souborů), který chcete například spojit a zobrazit. Pro výpis obsahu souboru rainbow.txt použijte následující příkaz:

cat rainbow.txt

Můžete také přidat volby pro úpravu chování příkazu cat. Například pro očíslení všech výstupních řádků použijte volbu -n. Pro očíslení řádků v souboru rainbow.txt zadejte:

cat -n rainbow.txt

Výstupy těchto dvou příkazů jsou uvedeny níže:

Pro kombinaci voleb, které lze použít s příkazem cat, jednoduše napište volby jednu za druhou, nebo je můžete seskupit. Oba způsoby jsou validní. Například volba -E slouží k přidání znaku dolaru ($) na konec každého výstupního řádku.

To může být užitečné například při zobrazování peněžních částek. Způsoby, jakými lze kombinovat více voleb s příkazem cat, jsou zobrazeny níže:

Pro spojení a zobrazení více souborů pomocí příkazu cat, napište jména souborů za sebe, oddělené mezerami. Například pro spojení dvou souborů rainbow.txt a primary.txt, použijte následující řádek:

cat rainbow.txt primary.txt

Výstup tohoto příkazu je:

Původní soubory rainbow.txt a primary.txt zůstanou po této operaci nezměněny. Důležité je, že pořadí, ve kterém se soubory objeví v příkazu, určuje, v jakém pořadí se zobrazí jejich obsah. Obsah se zobrazuje od prvního souboru po poslední. Můžete také přidat volby při spojování a zobrazování více souborů, jak je ukázáno níže:

Další důležitá věc u příkazu cat je, že v případě, že příkaz neobdrží žádný soubor, nebo pokud dostane jako jméno souboru pouze pomlčku (-), tak cat čte ze standardního vstupu, místo ze souboru. Standardním vstupem je klávesnice.

Proto příkaz cat pouze zobrazí vše, co uživatel zadá z klávesnice. Pro vyzkoušení zadejte příkaz:

cat

Příkaz vás přesune na blikající kurzor čekající na vstup z klávesnice. Zadejte libovolný text a stiskněte Enter. Vše, co napíšete, se zobrazí na standardním výstupu, jak je uvedeno níže:

Pro ukončení stiskněte klávesy CTRL + C, čímž se zastaví odesílání vstupu do příkazu cat.

Příkaz cat lze také použít pro spojení a výpis obsahu všech souborů určitého typu v aktivním adresáři. To se provádí za použití hvězdičky *, což je takzvaná divoká karta. Například pro vypsání obsahu všech textových souborů (.txt) v konkrétním adresáři, zadejte následující kód:

cat *.txt

Výstup příkazu je zobrazen níže:

Příklady použití příkazu cat

Kromě standardního použití lze funkcionalitu příkazu cat rozšířit pomocí přesměrování. Jak už bylo řečeno, příkaz cat standardně zobrazuje svůj výstup v terminálu.

Nicméně pomocí přesměrování můžeme přesměrovat výstup do jiného souboru, místo toho, aby se zobrazoval na obrazovce.

Operátor pro přesměrování výstupu v Linuxu je > (větší než, nebo také chevron).

cat rainbow.txt

Pokud například zadáme:

Obsah souboru rainbow.txt se zobrazí v terminálu.

cat colors.txt > rainbow.txt

Pokud ale zadáme:

Obsah souboru rainbow.txt se nezobrazí na obrazovce. Místo toho bude přesměrován a zapsán do souboru colors.txt. To je výborný způsob, jak kopírovat obsah z jednoho souboru do druhého.

Výchozí chování přesměrování výstupu v Linuxu je, že přepíše veškerý obsah souboru, do kterého se přesměrovává. Například v předchozím příkladu se veškerý obsah v souboru rainbow.txt přepíše obsahem souboru colors.txt. Chcete-li zachovat stávající obsah v cílovém souboru a nový obsah k němu pouze připojit, použijte při přesměrování operátor >>.

Jak vidíte níže, soubor colors.txt nyní obsahuje barvy, které byly původně v souboru rainbows.txt, a to po přesměrování výstupu souboru rainbows.txt do souboru colors.txt pomocí operátoru >>.

Abychom ještě více posunuli funkčnost příkazu cat, můžeme zkombinovat přesměrování a výchozí chování příkazu cat při čtení ze standardního vstupu (pokud není zadán žádný soubor), a tím pádem můžeme použít cat pro vytvoření nového souboru a zápisu do něj.

cat > dark.txt

Pokud zadáte následující příkaz:

Bude přesměrován výstup do souboru dark.txt. Protože jsme nezadali soubor, jehož obsah by se měl přesměrovat do dark.txt, příkaz cat bude očekávat vstup z klávesnice.

Zadejte tedy libovolný text, který chcete uložit do souboru dark.txt, stiskněte Enter pro přechod na další řádek a po zadání veškerého textu stiskněte klávesy CTRL + D pro uložení všeho, co jste napsali, do cílového souboru.

Protože přesměrováváme do souboru, který neexistuje, automaticky se vytvoří soubor dark.txt a do něj se uloží vše, co jste napsali z klávesnice. Tímto způsobem můžete používat příkaz cat pro vytváření souborů a zápis do nich ihned po jejich vytvoření.

Výstup této operace je:

cat >> dark.txt

cat lze také použít pro přidání textu na konec souboru. V souboru dark.txt můžeme přidat další barvy zadáním:

Poté můžete zadat další informace pomocí klávesnice a po zadání stisknout klávesy CTRL + D pro uložení a připojení nového obsahu do dark.txt, jak je uvedeno níže:

cat file1 file2 file3 > file4

Příkaz cat lze také použít pro sloučení několika souborů do jednoho. Syntaxe takové operace je:

Obsah souborů file1, file2 a file3 se spojí a zapíše do souboru file4. Můžete také použít operátor >>, pokud nechcete přepsat obsah souboru file4. Pokud soubor file4 neexistuje, bude automaticky vytvořen.

Příklad:

cat colors.txt primary.txt > allColors.txt

Pro zapsání obsahu souborů colors.txt a primary.txt do allColors.txt, zadáme:

cat primary.txt >> colors.txt

Obsah jednoho nebo více souborů můžete také připojit k jinému souboru pomocí příkazu cat. To se provádí za použití operátoru >> při přesměrování výstupu. Tím se zabrání přepsání existujícího obsahu cílového souboru. Například pro přidání obsahu souboru primary.txt k souboru colors.txt, zadejte:

Výsledek této operace je zobrazen níže:

Závěrem

Příkaz cat je velmi užitečný linuxový nástroj, který uživatelům umožňuje spojovat a zobrazovat obsah souborů. Příkaz má několik voleb, které se dají přidat pro změnu jeho chování.

Pomocí přesměrování lze významně rozšířit funkcionalitu příkazu cat, což uživatelům umožňuje vytvářet a kopírovat soubory, spojovat více souborů do jednoho a také připojovat soubory k jiným existujícím souborům. Pro více informací o příkazu cat si prosím prostudujte jeho manuálové stránky.

Můžete se také podívat na některé z linuxových příkazů pro systémové administrátory.