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

Když spustíte příkaz terminálu, obvykle vytiskne výstup v terminálu, takže jej můžete okamžitě přečíst. Někdy však budete chtít výstup uložit a analyzovat jej později nebo jej zkombinovat s jiným nástrojem.

To lze provést pomocí přesměrování výstupu na příkazovém řádku. Zjistěte, jak odeslat výstup příkazu do textového souboru v systémech Windows, Mac a Linux.

Přesměrujte výstup z příkazového řádku do souboru

K přesměrování výstupu příkazu do souboru můžete použít dva operátory: >> a >. Je důležité, abyste pochopili rozdíl mezi těmito dvěma, abyste se vyhnuli nechtěné ztrátě dat.

Symbol > vytvoří nový soubor nebo jej přepíše, pokud již existuje. Operátor >> také vytvoří nový soubor, pokud neexistuje, ale nepřepíše existující soubor. Pokud soubor již existuje, připojí text na jeho konec.

Chcete-li přesměrovat výstup příkazu do souboru, zadejte příkaz, poté zadejte operátor > nebo >> a nakonec zadejte cestu k souboru, na který chcete výstup přesměrovat. Zde je například uvedeno, jak můžete uložit výstup z příkazu ls, který uvádí obsah adresáře:

 ls > /path/to/file 

Nahraďte /path/to/file úplnou cestou k souboru, který chcete použít. Příkaz se spustí tiše a uloží výstup do souboru, který určíte.

Chcete-li zobrazit obsah souboru ve vašem terminálu, můžete použít příkaz cat. Znovu nahraďte /cesta/k/souboru úplnou cestou k souboru, který chcete zobrazit.

 cat /path/to/file 

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 místo toho operátor >>. To se připojí k souboru, takže neztratíte žádný předchozí uložený výstup.

Zkuste například přidat systémové informace na konec souboru, který jste právě vytvořili. Jednoduše spusťte uname -a v systému Linux/Mac – nebo příkaz ver, pokud jste ve Windows – a přidejte operátor >> spolu s cestou k souboru:

 uname -a >> /path/to/file 

Opakujte tento proces tolikrát, kolikrát potřebujete, aby se výstup příkazu přidával na konec souboru.

Operátory > a >> nezobrazují výstup příkazu na obrazovce, pouze jej odesílají do souboru. Pokud chcete poslat výstup do souboru a vidět ho na obrazovce, použijte příkaz tee.

Chcete-li použít příkaz tee, odešlete do něj výstup jiného příkazu pomocí operátoru potrubí, svislé čáry (|). Zde je například návod, jak můžete odeslat výstup příkazu ls do tee pomocí potrubí:

 ls | tee /path/to/output.txt 

Příkaz tee pak tento výstup odešle na obrazovku a do souboru, který určíte. Tím dojde k přepsání souboru nebo vytvoření nového, pokud neexistuje, stejně jako operátor >.

Chcete-li použít příkaz tee k vytištění výstupu na obrazovku a jeho připojení na konec souboru, přidejte před cestu k souboru parametr -a, například:

 uname -a | tee -a /path/to/output.txt 

Na obrazovce uvidíte výstup příkazu a můžete použít cat k ověření, že jej tee také přidal 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 výkonem příkazového řádku můžete sledovat aktivitu systému, kombinovat data z několika zdrojů a další.

Kromě ukládání výstupu můžete na terminálu dělat mnohem víc. Zatímco křivka učení může být strmá, terminálové příkazy jsou výrazné, složitelné a často rychlejší než alternativy s GUI.