cat
command je jedním z nejpoužívanějších příkazů v Linuxu. Jméno cat
příkaz vychází z jeho funkčnosti ke koncat enate soubory. Dokáže číst, spojovat a zapisovat obsah souboru na standardní výstup. Pokud není zadán žádný soubor nebo je název vstupního souboru zadán jako jedna pomlčka (-
), čte se ze standardního vstupu.
cat
se nejčastěji používá k zobrazení obsahu jednoho nebo více textových souborů, kombinování souborů připojením obsahu jednoho souboru na konec jiného souboru a vytváření nových souborů.
V tomto článku vám ukážeme, jak používat cat
velení pomocí praktických příkladů.
cat
Syntaxe příkazu #
Než se pustíte do toho, jak používat cat
příkaz, začněme zopakováním základní syntaxe.
Výrazy užitkovosti pro kočky mají následující podobu:
cat [OPTIONS] [FILE_NAMES]
OPTIONS
-cat
možnosti. Použijtecat --help
zobrazíte všechny dostupné možnosti.FILE_NAMES
- Žádný nebo více názvů souborů.
Zobrazení obsahu souboru #
Nejzákladnější a nejběžnější použití cat
příkaz je číst obsah souborů.
Například následující příkaz zobrazí obsah /etc/issue
soubor na terminálu:
cat /etc/issue
Přesměrovat obsah souboru #
Místo zobrazení výstupu do stdout
(na obrazovce), můžete jej přesměrovat do souboru.
Následující příkaz zkopíruje obsah file1.txt
do file2.txt
pomocí (>
) operátor :
cat file1.txt > file2.txt
Normálně byste použili cp
příkaz ke zkopírování souboru.
Pokud file2.txt
soubor neexistuje, příkaz jej vytvoří. Jinak dojde k přepsání souboru.
Použijte (>>
) pro připojení obsahu file1.txt
do file2.txt
:
cat file1.txt >> file2.txt
Stejně jako dříve, pokud soubor není přítomen, bude vytvořen.
Tisk čísel řádků #
Chcete-li zobrazit obsah souboru s čísly řádků, vyvolejte cat
pomocí -n
možnost:
cat -n /etc/lsb-release
1 DISTRIB_ID=Ubuntu
2 DISTRIB_RELEASE=18.04
3 DISTRIB_CODENAME=bionic
4 DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Potlačit opakované prázdné řádky #
Použijte -s
možnost vynechat opakované prázdné výstupní řádky:
cat -s file.txt
Zobrazit TAB
znaky #
-T
umožňuje vizuálně rozlišovat mezi tabulátory a mezerami.
cat -T /etc/hosts
127.0.0.1^Ilocalhost
127.0.1.1^Iubuntu1804.localdomain
Znaky TAB se zobrazí jako ^I
.
Zobrazit konec řádků #
Chcete-li zobrazit neviditelný znak konce řádku, použijte -e
argument:
cat -e /etc/lsb-release
DISTRIB_ID=Ubuntu$
DISTRIB_RELEASE=18.04$
DISTRIB_CODENAME=bionic$
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"$
Konce řádků se zobrazí jako $
.
Zřetězení souborů #
Při předávání dvou nebo více názvů souborů jako argumentů do cat
bude obsah souborů zřetězen. cat
čte soubory v pořadí uvedeném v jeho argumentech a zobrazuje obsah souboru ve stejném pořadí.
Například následující příkaz přečte obsah file1.txt
a file2.txt
a zobrazit výsledek v terminálu:
cat file1.txt file2.txt
Můžete zřetězit dva nebo více textových souborů a zapsat je do souboru.
Následující příkaz zřetězí obsah file1.txt
a file2.txt
a zapište je do nového souboru combinedfile.txt
pomocí (>
) operátor :
cat file1.txt file2.txt > combinedfile.txt
Pokud combinedfile.txt
soubor neexistuje, příkaz jej vytvoří. Jinak dojde k přepsání souboru.
Ke spojení obsahu file1.txt
a file2.txt
a přidejte výsledek do file3.txt
k použití (>>
) operátor:
cat file1.txt file2.txt >> file3.txt
Pokud soubor není přítomen, bude vytvořen.
Při zřetězení souborů pomocí cat
, můžete použít stejné argumenty jako v předchozí části.
Vytváření souborů #
Vytváření malých souborů pomocí cat
je to často jednodušší než otevřít textový editor, jako je nano, Vim, Sublime Text nebo Visual Studio Code.
Chcete-li vytvořit nový soubor, použijte cat
příkaz následovaný operátorem přesměrování (>
) a název souboru, který chcete vytvořit. Stiskněte Enter
, napište text a jakmile budete hotovi, stiskněte CRTL+D
pro uložení souboru.
V následujícím příkladu vytváříme nový soubor s názvem file1.txt
:
cat > file1.txt
Pokud je soubor s názvem file1.txt
je přítomen, bude přepsán. Použijte ‘>>
’ pro připojení výstupu k existujícímu souboru.
cat >> file1.txt
Závěr č.
cat
příkaz může zobrazovat, kombinovat a vytvářet nové soubory.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.