![](https://m.unixlinux.online/article/uploadfiles/202204/2022042616540468.png)
V Linuxu je příkaz cat jedním z nejčastěji používaných příkazů. cat
což je zkratka pro "concatenate", může číst, zapisovat a zřetězit obsah souboru na standardní výstup. Příkaz cat se obvykle používá k zobrazení obsahu jednoho nebo více textových souborů, kombinování souborů přidáním obsahu jednoho souboru do druhého a vytvoření nových souborů.
V tomto tutoriálu se na příkladech naučíme, jak plně využít příkaz cat.
Obecná syntaxe
Syntaxe:
$ cat [options] [filename/filenames]
[options]
umožňuje použít různé argumenty příkazu.
[filename/filenames]
je místo, kde můžete zadat název souboru nebo více souborů, které chcete zobrazit.
Vytvořit nový soubor
Pomocí příkazu cat můžete vytvořit nový soubor a přidat obsah.
Syntaxe:
$ cat > [filename]
Když vytvoříte soubor tímto způsobem, kurzor se umístí na nový řádek, kde můžete napsat svůj obsah. Po napsání požadovaného obsahu můžete použít Ctrl+D pro dokončení úprav a uložení.
Například:
$ cat > Test1.txt
Výstup:
kali@kali:~/Desktop$ cat > Test1.txt
This is the first test file.
Zobrazení obsahu souboru
Příkaz cat můžete použít k zobrazení obsahu souboru pouhým zadáním cat následovaného názvem souboru.
Syntaxe:
$ cat [filename]
Můžete použít more
nebo less
příkaz, pokud chcete zobrazit soubor stránku po stránce.
Syntaxe:
$ cat [filename] | more
$ cat [filename] | less
Například:
$ cat Test1.txt
Výstup:
kali@kali:~/Desktop$ cat Test1.txt
This is the first test file.
kali@kali:~/Desktop$
Zobrazení obsahu více souborů
Příkaz cat lze použít k zobrazení obsahu více souborů najednou. Můžete použít příkaz cat následovaný seznamem názvů souborů oddělených mezerami.
Syntaxe:
$ cat [filename1] [filename2] ....
Příklad:
$ cat Test1.txt Test2.txt Test3.txt
Výstup:
kali@kali:~/Desktop$ cat Test1.txt Test2.txt Test3.txt
This is the first test file.
This is second test file.
This is the third test file.
kali@kali:~/Desktop$
Kopírování obsahu z jednoho souboru do druhého
Pomocí operátoru (>) v příkazu cat můžeme zkopírovat obsah z jednoho souboru do druhého.
Syntaxe:
$ cat [filename1] > [filename2]
Pokud [filename2]
neexistuje, pak příkaz cat automaticky vytvoří nový a zkopíruje soubor [filename1]
na [filename2]
.
Například:
$ cat Test1.txt > Test2.txt
Výstup:
kali@kali:~/Desktop$ cat Test1.txt > Test2.txt
kali@kali:~/Desktop$ cat Test2.txt
This is the first test file.
kali@kali:~/Desktop$
Příkaz zkopíruje obsah z Test1.txt
a přepíše jej v Test2.txt
. Místo jeho přepisování můžete také přidat zdrojový textový soubor k cílovému textovému souboru pomocí operátoru (>>).
Syntaxe:
$ cat [filename1] >> [filename2]
Například:
$ cat Test1.txt >> Test2.txt
Výstup:
kali@kali:~/Desktop$ cat Test2.txt
This is the second test file.
kali@kali:~/Desktop$ cat Test1.txt
This is the first test file.
kali@kali:~/Desktop$ cat Test1.txt >> Test2.txt
kali@kali:~/Desktop$ cat Test2.txt
This is the second test file.
This is the first test file.
kali@kali:~/Desktop$
Zobrazit číslo řádku v souboru
Všechny neprázdné soubory lze zobrazit pomocí parametru -b spolu s příkazem cat a názvem souboru.
Syntaxe:
$ cat -b [filename]
Například:
$ cat -b Test1.txt
Výstup:
kali@kali:~/Desktop$ cat -b Test1.txt
1 This is the first test file.
2 This 3 is 4 test 5 file.
kali@kali:~/Desktop$
Pokud chcete také zobrazit řádky bez znaků, můžete spolu s příkazem cat a názvem souboru použít parametr -n.
Syntaxe:
$ cat -n [filename]
Například:
$ cat -n Test1.txt
Výstup:
kali@kali:~/Desktop$ cat -n Test1.txt
1 This is the first test file.
2
3 This
4 is
5 test
6
7
8 file.
9
kali@kali:~/Desktop$
Zřetězit soubor nebo více souborů
Pokud chcete zobrazit obsah více souborů najednou, použijte k jejich zřetězení příkaz cat.
Syntaxe:
$ cat [filename1] [filename2]...
Například:
$ cat Test1.txt Test2.txt Test3.txt
Výstup:
kali@kali:~/Desktop$ cat Test1.txt Test2.txt Test3.txt
This is the first test file.
This is the second test file.
This is the first test file.
This is the third test file.
kali@kali:~/Desktop$
Můžete také spojit více souborů do jednoho souboru vytvořením nového souboru nebo aktualizací stávajícího pomocí operátoru (>).
Syntaxe:
$ cat [filename1] [filename2]... > [filename3]
Například:
$ cat Test1.txt Test2.txt Test3.txt > Test4.txt
Od Test4.txt
neexistuje, vytvoří nový soubor s názvem Test4.txt
a zřetězí obsah Test1.txt
, Test2.txt
a Test3.txt
v Test4.txt
.
Výstup:
kali@kali:~/Desktop$ cat Test1.txt Test2.txt Test3.txt > Test4.txt
kali@kali:~/Desktop$ cat Test4.txt
This is the first test file.
This is the second test file.
This is the first test file.
This is the third test file.
kali@kali:~/Desktop$
Zobrazit konec každého řádku v souboru
Konec řádku v souboru můžete určit pomocí příkazu cat. Někdy jsou na konci řádku skryté znaky, jako jsou mezery, které mohou způsobit chybu nebo odhalit problémy. Můžete použít příkaz cat s parametrem -E k zobrazení dolaru ($) jako znaku konce řádku.
Syntaxe:
$ cat -E [filename]
Například:
$ cat -E Test4.txt
Výstup:
kali@kali:~/Desktop$ cat -E Test4.txt
This is the first test file.$
$
$
This is the second test file.$
$
$
This is the first test file.$
$
$
This is the third test file.$
kali@kali:~/Desktop$
Snížit prázdné řádky
Když zobrazíte obsah v souboru, může být znepokojivé vidět mnoho prázdných řádků. Příkaz cat spolu s -s lze použít k odstranění opakovaných prázdných řádků z výstupu. Volba -s v příkazu cat zobrazí pouze jeden prázdný řádek a zkomprimuje opakované.
Syntaxe:
$ cat -s [filename]
Například:
$ cat -s Test4.txt
Výstup:
kali@kali:~/Desktop$ cat Test4.txt This is the first test file. This is the second test file. This is the first test file. This is the third test file.
kali@kali:~/Desktop$ cat -s Test4.txt This is the first test file. This is the second test file. This is the first test file. This is the third test file. kali@kali:~/Desktop$
První výstup je bez použití volby -s a druhý výstup je po použití volby -s.
Zobrazit karty
Volba -T spolu s příkazem cat zobrazí obsah souboru a také tabulátor v textu.
Mezery tabulátorů jsou označeny symbolem ^I.
Syntaxe:
$ cat -T [filename]
Například:
$ cat -T Test4.txt
Výstup:
kali@kali:~/Desktop$ cat Test4.txt This is the first test file. This is the second test file. This is the first test file. This is the third test file.
kali@kali:~/Desktop$ cat -T Test4.txt ^IThis is the first test file. This is the second test file. ^IThis is the first test file. This is the ^Ithird test file. kali@kali:~/Desktop$
První výstup je bez použití volby -T a druhý výstup je po použití volby -T.
Zobrazení obsahu souboru v opačném pořadí
Příkaz tac je opakem příkazu cat. tac zobrazí výstup v opačném pořadí než obsah textového souboru.
Syntaxe:
$ tac [filename]
Například:
$ tac Test4.txt
Výstup:
kali@kali:~/Desktop$ cat Test4.txt This is the first test file. This is the second test file. This is the first test file. This is the third test file.
kali@kali:~/Desktop$ tac Test4.txt This is the third test file. This is the first test file. This is the second test file. This is the first test file.
První výstup je získán příkazem cat a druhý výstup je získán pomocí příkazu tac.
Použijte příkaz help, pokud se chcete dozvědět více o příkazu cat nebo pokud máte nějaké nejasnosti.
$ cat --help
Výstup:
kali@kali:~$ cat --help
Usage: cat [OPTION]… [FILE]…
Concatenate FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.
-A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
Examples:
cat f - g Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
kali@kali:~$
Závěr
V tomto tutoriálu jsme se dozvěděli o příkazu cat, jeho použití s různými možnostmi a příklady. Cat je užitečný příkaz, který umožňuje vytvářet a zobrazovat různé druhy textových souborů. Pomocí příkazu cat lze zobrazit více souborů současně několika způsoby.