Při spuštění příkazu v terminálu se obvykle jeho výsledek zobrazí přímo v terminálu, takže si ho můžete okamžitě prohlédnout. Nicméně, občas může být užitečné tento výstup uložit pro pozdější analýzu nebo ho zkombinovat s jinými nástroji.
Toho lze dosáhnout přesměrováním výstupu v příkazovém řádku. Následující text vám ukáže, jak přesměrovat výstup příkazu do textového souboru v systémech Windows, Mac a Linux.
Přesměrování výstupu z příkazového řádku do souboru
Pro přesměrování výstupu příkazu do souboru se používají dva operátory: >>
a >
. Je zásadní pochopit rozdíl mezi nimi, aby se předešlo nechtěné ztrátě dat.
Symbol >
buď vytvoří nový soubor, nebo přepíše existující. Operátor >>
také vytvoří nový soubor, pokud ještě neexistuje, ale existující soubor nepřepíše. Pokud soubor již existuje, přidá text na jeho konec.
Chcete-li přesměrovat výstup příkazu do souboru, zadejte příkaz, poté operátor >
nebo >>
a nakonec cestu k souboru, kam chcete výstup přesměrovat. Například, níže je uveden způsob, jak uložit výstup příkazu ls
, který zobrazuje obsah adresáře:
ls > /cesta/k/souboru
Nahraďte /cesta/k/souboru
úplnou cestou k požadovanému souboru. Příkaz se provede bez zobrazení výstupu v terminálu a jeho výstup bude uložen do zadaného souboru.
Pro zobrazení obsahu souboru v terminálu použijte příkaz cat
. Opět, nahraďte /cesta/k/souboru
skutečnou cestou k souboru, který chcete zobrazit.
cat /cesta/k/souboru
V novém souboru byste měli vidět výstup z příkazu:
Operátor >
nahradí obsah existujícího souboru. Pokud chcete uložit výstup z několika příkazů do jednoho souboru, použijte operátor >>
. Tento operátor připojí výstup na konec souboru, takže nedojde ke ztrátě předchozího obsahu.
Zkuste například přidat informace o systému na konec právě vytvořeného souboru. Jednoduše spusťte uname -a
v systémech Linux/Mac (nebo příkaz ver
ve Windows) a připojte operátor >>
s cestou k souboru:
uname -a >> /cesta/k/souboru
Tento proces můžete opakovat kolikrát chcete a výstup z příkazů se bude připojovat na konec souboru.
Zobrazení výstupu na obrazovce a jeho současné přesměrování do souboru
Operátory >
a >>
nezobrazují výstup příkazu na obrazovce, pouze ho odesílají do souboru. Pokud chcete výstup uložit do souboru a zároveň ho vidět na obrazovce, použijte příkaz tee
.
Pro použití příkazu tee
, předejte mu výstup jiného příkazu pomocí operátoru roury, svislé čáry (|
). Zde je například návod, jak poslat výstup příkazu ls
do tee
:
ls | tee /cesta/k/vystup.txt
Příkaz tee
pak odešle výstup na obrazovku a zároveň do zadaného souboru. Tímto se soubor buď přepíše, nebo vytvoří nový, pokud neexistuje, stejně jako u operátoru >
.
Pokud chcete použít tee
pro zobrazení výstupu na obrazovce a jeho připojení na konec souboru, přidejte před cestu k souboru parametr -a
, například:
uname -a | tee -a /cesta/k/vystup.txt
Na obrazovce se zobrazí výstup příkazu a můžete si ověřit pomocí cat
, že ho tee
přidal i do souboru.
Využijte sílu příkazového řádku
Existuje mnoho dalších způsobů, jak přesměrovat výstup, včetně chyb, do souboru. S využitím příkazového řádku můžete sledovat aktivitu systému, kombinovat data z různých zdrojů a dělat spoustu dalších věcí.
Kromě ukládání výstupu můžete v terminálu dělat mnohem více. I když může být cesta k jeho ovládnutí náročnější, příkazy v terminálu jsou flexibilní, kombinovatelné a často rychlejší než alternativy s grafickým rozhraním.