Kočka je poměrně jednoduchý nástroj určený ke zřetězení a zápisu souborů na obrazovku, který je známý jako standardní výstup (stdout). Je součástí GNU Core Utils vydaného pod licencí GPLv3+. Můžete očekávat, že jej najdete v téměř jakékoli distribuci Linuxu nebo jiném operačním prostředí Unix, jako je FreeBSD nebo Solaris. Nejjednodušší použití kočky je zobrazit obsah souboru. Zde je příklad se souborem s názvem hello.world :
$ ls
hello.world
$ cat hello.world
Ahoj světe!
$
Linuxový terminál
- 7 nejlepších emulátorů terminálu pro Linux
- 10 nástrojů příkazového řádku pro analýzu dat v systému Linux
- Stáhnout nyní:SSH cheat sheet
- Cheat sheet pro pokročilé příkazy systému Linux
- Výukové programy příkazového řádku systému Linux
Nejčastěji používám kočku příkaz slouží k prohlížení konfiguračních souborů, jako jsou soubory v /etc adresář. Kočka příkaz zobrazí soubor, aniž by riskoval jeho poškození. Pokud otevřu kritický konfigurační soubor pomocí editoru, jako je Vi nebo Nano, mohl bych v souboru neúmyslně provést nechtěné změny. Kočka příkaz není editor, a proto nepředstavuje žádné riziko provádění změn v obsahu souboru.
Pokud potřebuji zobrazit delší soubor, mohu použít kanál s více příkaz:
$ cat <somelongfile> | more
Kočka může zobrazit více souborů současně. Pokud chceme vidět dva soubory — hello.world a sbohem.světe —oba názvy souborů bychom zahrnuli jako argumenty v příkazu:
$ kočka ahoj.světe sbohem.světe
Ahoj světe!
Sbohem světe!
$
Kočka může také číslovat řádky souboru během výstupu. Existují dva příkazy, jak to provést, jak je uvedeno v dokumentaci nápovědy:
-b, --number-nonblank očíslovat prázdné výstupní řádky, přepíše -n
-n, --number očíslovat všechny výstupní řádky
Pokud použiji -b pomocí příkazu hello.world soubor, výstup bude očíslován takto:
$ cat -b hello.world
1 Ahoj světe!
$
Ve výše uvedeném příkladu je prázdný řádek. Proč se tento prázdný řádek zobrazuje, můžeme určit pomocí -n argument:
$ cat -n hello.world
1 Ahoj světe!
2
$
Nyní vidíme, že je tam navíc prázdný řádek. Tyto dva argumenty fungují na konečném výstupu spíše než na obsahu souboru, takže pokud bychom použili -n možnost s oběma soubory, číslování bude počítat řádky následovně:
$ cat -n hello.world luck.world
1 Ahoj světe!
2
3 Sbohem světe!
4
$
Další užitečnou možností je -s pro squeeze-blank . Tento argument říká kočce pro snížení opakovaného výstupu prázdného řádku na jeden řádek. To je užitečné při prohlížení souborů, které mají mnoho prázdných řádků, protože se na obrazovku efektivně vejde více textu. Předpokládejme, že mám soubor se třemi řádky, které jsou od sebe odděleny několika prázdnými řádky, jako v tomto příkladu pozdravy.svět :
$ cat greetings.world
Svět pozdravy!
Vezmi mě ke svému vůdci!
Přicházíme v míru!
$
Pomocí -s možnost šetří místo na obrazovce:
$ cat -s greetings.world
Svět pozdravy!
Vezmi mě ke svému vůdci!
Přicházíme v míru!
$Kočka se často používá ke kopírování obsahu jednoho souboru do jiného souboru. Možná se ptáte:„Proč prostě nepoužít cp ?" Zde je návod, jak mohu vytvořit nový soubor s názvem oba.soubory , který obsahuje obsah ahoj a sbohem soubory:
$ cat hello.world luck.world> both.files
$ cat both.files
Ahoj světe!
Sbohem světe!
$zcat
Existuje další variace na kočku příkaz známý jako zcat . Tento příkaz je schopen zobrazit soubory, které byly komprimovány pomocí Gzip, aniž by bylo nutné soubory dekomprimovat pomocí gunzip příkaz. Kromě toho to také šetří místo na disku, což je celý důvod, proč jsou soubory komprimovány!
zcat příkaz je o něco zajímavější, protože může být obrovskou úsporou času pro systémové administrátory, kteří tráví spoustu času kontrolou systémových protokolových souborů. Kde najdeme komprimované soubory protokolu? Podívejte se na /var/log na většině systémů Linux. V mém systému /var/log obsahuje několik souborů, například syslog.2.gz a syslog.3.gz . Tyto soubory jsou výsledkem systému správy protokolů, který otáčí a komprimuje soubory protokolů, aby šetřil místo na disku a zabránil tomu, aby protokoly narůstaly do nezvladatelné velikosti souborů. Bez zcat , musel bych tyto soubory dekomprimovat pomocí gunzip před jejich prohlížením. Naštěstí mohu použít zcat :
$ cd /var/log
$ ls *.gz
syslog.2.gz syslog.3.gz
$
$ zcat syslog.2.gz |více
30. ledna 00:02:26 pracovní stanice systemd[1850]:Spouštění terminálového serveru GNOME...
30. ledna 00:02:26 pracovní stanice dbus-daemon[1920]:[session uid=2112 pid=1920] Úspěšně
aktivována služba 'org.gnome.Terminal'
30. ledna 00:02:26 pracovní stanice systemd[1850]:Spuštěn terminálový server GNOME.
30. ledna 00:02:26 pracovní stanice org.gnome.Terminal.desktop[2059]:# watch_fast:"/org/gno
me/terminal/legacy/" (zakládání:0, aktivní:0)
30. ledna 00:02:26 pracovní stanice org.gnome.Terminal.desktop[2059]:# unwatch_fast:"/org/g
nome/terminal/legacy/" (aktivní:0, založení:1)
30. ledna 00:02 :26 pracovní stanice org.gnome.Terminal.desktop[2059]:# watch_established:"/
org/gnome/terminal/legacy/" (zakládání:0)
--Více--Oba soubory můžeme také předat zcat chceme-li si je oba nerušeně prohlédnout. Vzhledem k tomu, jak rotace protokolů funguje, musíte názvy souborů předávat v opačném pořadí, aby bylo zachováno chronologické pořadí obsahu protokolu:
$ ls -l *.gz
-rw-r----- 1 adm syslog 196383 31. ledna 00:00 syslog.2.gz
-rw-r----- 1 syslog adm 1137176 30. ledna 00:00 syslog.3.gz
$ zcat syslog.3.gz syslog.2.gz |víceKočka příkaz vypadá jednoduše, ale je velmi užitečný. Používám pravidelně. Také ji nemusíte krmit nebo hladit jako skutečnou kočku. Jako vždy vám doporučuji zkontrolovat manuálové stránky (muž kočka ) pro kočku a zcat příkazy, abyste se dozvěděli více o tom, jak jej lze použít. Můžete také použít --help argument pro rychlý přehled argumentů příkazového řádku.
Nejlepších 5 podcastů pro novinky a tipy pro Linux Dva grafické nástroje pro manipulaci s PDF na ploše LinuxuLinux