Jak uložit výstup příkazového řádku do souboru v systémech Windows, Mac a Linux

Photo of author

By etechblogcz

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.