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.
Table of Contents
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.
Vytiskněte výstup na obrazovku a přesměrujte jej do 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.