V jakémkoli operačním systému uživatelé pracují se soubory a provádějí operace, jako je vytváření, mazání a čtení ze souborů. V Linuxu není situace jiná.
Zatímco v operačním systému Linux můžete pracovat se soubory pomocí grafického uživatelského rozhraní, většina uživatelů Linuxu dává přednost interakci s operačním systémem z terminálu.
Linux jako takový má příkazy, které uživatelům umožňují pracovat se soubory přímo z terminálu. Jedním z takových příkazů je příkaz cat.
Z manuálových stránek Linuxu se příkaz cat používá ke zřetězení souborů a tisku obsahu souborů na standardní výstup. Linuxové manuálové stránky jsou soubory dokumentace, které mají uživatelům pomoci porozumět linuxovým příkazům a způsobu jejich použití.
Pro přístup na man stránku pro jakýkoli příkaz Linuxu jednoduše zadáte man
man cat
Table of Contents
K čemu se používá příkaz cat
Jak bylo uvedeno dříve, příkaz cat lze použít k vytištění obsahu souboru na obrazovku. Jeho další funkcí je zřetězení souborů a výstup jejich obsahu. To znamená, že pokud příkazu cat poskytnete více souborů, zřetězí jejich obsah a vypíše jejich obsah na obrazovku.
Jednoduše řečeno, příkaz cat sestaví obsah do více souborů a zobrazí je na obrazovce. V takové operaci však příkaz cat nevytvoří žádný nový soubor a původní soubory použité v příkazu cat zůstanou nezměněny.
Příkaz cat se také používá při přesměrování. Přesměrování se týká toho, jak mohou uživatelé změnit zdroj standardního vstupu a cíl pro standardní výstup a standardní chybu. Standardní vstup, standardní výstup a standardní chyba jsou standardní toky používané pro komunikaci v Linuxu.
Ve výchozím nastavení je standardním vstupem klávesnice a standardní výstup a standardní chyby se zobrazují na obrazovce.
Přesměrování tedy znamená, že namísto získávání standardního vstupu z klávesnice, která je výchozí, můžeme přesměrovat a získat vstup ze souboru nebo jakéhokoli jiného zdroje.
Pokud jde o standardní výstup a standardní chybu, které se standardně zobrazují na obrazovce, prostřednictvím přesměrování můžete tyto výstupy zapsat do souboru.
Syntaxe příkazu cat
Syntaxe příkazu cat je následující:
cat [OPTION]... [FILE]...
V manuálových stránkách Linuxu je vše uvedené v hranatých závorkách volitelné. Proto ve výše uvedené syntaxi není nutné, aby příkaz cat měl jako argument OPTION nebo dokonce soubor. Může mít jednu z těchto dvou, obě nebo žádnou.
Elipsy(…) se používají k zobrazení toho, že je povolen jeden nebo více předchozích operandů nebo argumentů. Proto příkaz cat může mít jednu nebo více možností nebo souborů.
FILE představuje soubory, které chceme příkazem cat zřetězit a zobrazit. OPTION představuje příznaky, které lze přidat do příkazu cat a upravit jeho chování. Možnosti, 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 odešle na standardní výstup, kterým je okno terminálu. V případě, že je do něj předáno více souborů, je jejich obsah zřetězen a následně zobrazen v okně terminálu.
Příkaz cat se také bude chovat odlišně v závislosti na příznaku, který mu byl předán. Například předání parametru -n způsobí, že příkaz cat očísluje všechny výstupní řádky. V závislosti na tom, jak se má chovat, můžete předat jakýkoli z příznaků, které lze použít s příkazem cat.
Jak používat příkaz cat
Chcete-li použít příkaz cat, jednoduše zadejte příkaz a název souboru (souborů), který chcete například zřetězit a přečíst. Chcete-li vytisknout obsah souboru s názvem rainbow.txt, proveďte následující příkaz.
cat rainbow.txt
Můžete také přidat příznak pro úpravu chování příkazu cat. Můžete například očíslovat všechny výstupní řádky pomocí parametru -n. V našem příkladu výše můžeme očíslovat všechny výstupní řádky v rainbow.txt provedením následujícího řádku:
cat -n rainbow.txt
Výstupy z těchto dvou příkazů jsou uvedeny níže:
Chcete-li zkombinovat příznaky nebo možnosti, které lze použít s příkazem cat, jednoduše je napište jeden po druhém, nebo je můžete rozdělit. Jedno z obou děl. Příznak -E uvedený níže se používá k přidání znaku dolaru ($) na konec výstupních řádků.
To může být užitečné při zobrazování hodnot měn. Různé způsoby, jak můžete kombinovat více příznaků s příkazem cat, jsou uvedeny níže:
Chcete-li zřetězit a zobrazit více souborů pomocí příkazu cat, jednoduše napište názvy souborů jeden za druhým, oddělené mezerami. Chcete-li například zřetězit dva soubory s názvem rainbow.txt a primary.txt, proveďte následující řádek:
cat rainbow.txt primary.txt
Výstup příkazu je uveden níže
Dva soubory rainbow.txt a primary.txt zůstanou po této operaci nezměněny. Všimněte si, že pořadí, ve kterém se soubory objeví v příkazu, určuje, jak bude obsah zobrazen. Obsah se zobrazuje od prvního souboru po poslední. Můžete také přidat příznaky při zřetězení a zobrazení více souborů, jak je znázorněno níže:
Poslední věc, kterou je třeba poznamenat u příkazu cat, je, že v případě, že příkazu není poskytnut žádný soubor nebo je poskytnuta pomlčka (-), příkaz cat čte ze standardního vstupu místo ze souboru. Standardním vstupem je klávesnice.
Proto příkaz cat jednoduše zobrazí vše, co uživatel zadá přes klávesnici. Chcete-li to vidět v praxi, spusťte příkaz:
cat
Příkaz vás přenese na blikající kurzor čekající na vstup z klávesnice. Zadejte libovolný text a stiskněte klávesu Enter. Cokoli napíšete, bude odesláno na standardní výstup, jak je uvedeno níže:
Stiskněte CTRL + C pro ukončení a zastavení předávání vstupu příkazu cat.
Můžeme také použít příkaz cat ke zřetězení a výstupu obsahu všech souborů určitého typu v aktivním adresáři. To se provádí pomocí hvězdičky
cat *.txt
divoká karta. Například, abychom odstranili veškerý obsah textových souborů (.txt) v konkrétním adresáři, spustili bychom níže uvedený kód:
Výstup příkazu je zobrazen níže:
Příklady cat Command
Kromě standardního použití příkazu cat může být funkčnost příkazu cat rozšířena přesměrováním. Jak již bylo zmíněno dříve, příkaz cat se standardně zobrazuje na obrazovce terminálu.
Přes přesměrování však můžeme jeho výstup přesměrovat do jiného souboru místo toho, aby se výstup zobrazoval na obrazovce.
Operátor přesměrování výstupu v Linuxu je > (symbol větší než, také nazývaný chevron).
cat rainbow.txt
Pokud například spustíme řádek:
Obsah souboru rainbow.txt se zobrazí na obrazovce.
cat colors.txt > rainbow.txt
Pokud však provedeme
Obsah souboru rainbow.txt se na obrazovce nezobrazí. Místo toho budou přesměrovány a zapsány do souboru colors.txt. To může být vynikající způsob kopírování obsahu 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 v souboru, na který přesměrováváme. Například ve výše uvedeném příkladu bude veškerý obsah v souboru rainbow.txt přepsán obsahem z souboru colors.txt. Chcete-li zachovat stávající obsah v souboru, na který přesměrováváte, a připojit k němu nový obsah, použijte při přesměrování >>.
Všimněte si níže, že soubor colors.txt nyní obsahuje barvy, které byly nalezeny v souboru rainbows.txt po přesměrování výstupu souboru rainbows.txt do souboru colors.txt pomocí >>
Abychom funkčnost příkazu cat posunuli ještě dále, můžeme zkombinovat přesměrování a výchozí chování příkazu cat při čtení ze standardního vstupu, když není k dispozici žádný soubor, abychom mohli použít příkaz cat k vytvoření souboru a zápisu do něj.
cat > dark.txt
Pokud provedete níže uvedený kód
Budeme přesměrováni na dark.txt. Protože jsme neposkytli soubor, jehož obsah bude přesměrován na dark.txt, bude příkaz cat očekávat vstup z klávesnice.
Zadejte proto libovolný text, který chcete uložit do dark.txt, stiskněte Enter pro přechod na další řádek a po dokončení stiskněte CTRL + D, abyste uložili to, co jste napsali, do souboru, na který přesměrováváte.
Protože přesměrováváme na soubor, který neexistuje, automaticky se vytvoří dark.txt a do souboru se uloží to, co jsme napsali přes klávesnici. Tímto způsobem můžeme pomocí příkazu cat vytvářet soubory a zapisovat do nich v době jejich vytvoření.
Výstup operace je uveden níže:
cat >> dark.txt
Kočku lze také použít k přidání textu na konec souboru. Pomocí dark.txt k němu můžeme přidat další barvy provedením:
Poté můžete přidat další informace zadáním pomocí klávesnice a stisknutím kláves 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 ke spojení několika souborů do jednoho souboru. Syntaxe takové operace je uvedena níže
Obsah souborů1, soubor2 a soubor3 bude zřetězen dohromady a zapsán do souboru4. Můžete také použít >> v případě, že nechcete přepsat obsah v souboru4. Pokud soubor $ neexistuje, bude automaticky vytvořen.
Příklad je uveden níže:
cat colors.txt primary.txt > allColors.txt
Abychom zapsali obsah souborů colors.txt a primary.txt do allColors.txt, provedeme
cat primary.txt >> colors.txt
Obsah z jednoho nebo více souborů můžete také připojit k jinému souboru pomocí příkazu cat. To se provádí pomocí >> při přesměrování výstupu. Tím se zabrání přepsání toho, co je již uloženo v jiném souboru. Chcete-li například přidat obsah primárního.txt k souboru colors.txt, spusťte níže uvedený kód:
Výsledek této operace je uveden níže:
Závěr
Příkaz cat je velmi užitečný linuxový příkaz, který uživatelům umožňuje zřetězení a zobrazení obsahu souborů. Příkaz má několik příznaků, které k němu lze přidat a změnit tak jeho chování.
Prostřednictvím přesměrování lze výrazně rozšířit funkčnost příkazu cat, což uživatelům umožňuje vytvářet a kopírovat soubory, spojovat více souborů do jednoho souboru a připojovat je k existujícímu souboru. Chcete-li se dozvědět více o příkazu cat, navštivte jeho manuálové stránky.
Můžete také prozkoumat některé příkazy systému Linux pro správce systému.