
Mark Lucas
0
3846
498
Při spuštění příkazu v okně Terminálu se výstup příkazu obvykle vytiskne na Terminál nebo na obrazovku, takže si jej můžete okamžitě přečíst. Můžete také vytisknout výstup příkazu do souboru, pokud jej chcete uložit.
Uložení výstupu příkazu do souboru je užitečné, pokud se pokoušíte diagnostikovat problém. Chcete-li získat pomoc od technické podpory, možná budete muset spustit určité příkazy v počítači a odeslat výsledky týmu podpory. To je snadné pomocí přesměrování výstupu na příkazovém řádku.
Dnes si ukážeme, jak poslat výstup příkazu do textového souboru v bash shellu na Windows, Mac a Linux.
Poznámka: V našem příkladu použijeme terminál Mac, ale funguje to stejným způsobem v bash shellu na Linuxu 40+ Nejpoužívanější příkazy terminálu Linuxu 40+ Nejpoužívanější příkazy terminálu systému Linux Ať už jste právě na začátku nebo jednoduše zvědaví na Linuxový terminál, zde jsou nejčastější příkazy, které vás provedou celým vaším časem na Linuxu. a v novém bash shellu v systému Windows 10 Stručný průvodce systémem Linux Bash Shell v systému Windows 10 Stručný průvodce systémem Linux Bash Shell v systému Windows 10 Nyní můžete spustit systém Windows v systému Windows. Další informace o systému Bash ve Windows, o tom, jak a proč byste jej měli nainstalovat, až po skryté funkce, o kterých jste pravděpodobně nevěděli. .
Přesměrovat výstup pouze do souboru
Existují dva operátory pro přesměrování výstupu příkazu do souboru místo na obrazovku.
> Symbol vytvoří nový soubor, pokud není přítomen, nebo přepíše soubor, pokud již existuje. >> vytvoří také nový soubor, pokud není přítomen, ale připojí text na konec souboru, pokud již existuje, spíše než přepisuje soubor.
Poznámka pro sebe: když přesměrujete výstup skriptu shellu do souboru, nebude se zobrazovat na konzole :-) #StupidMe
- Xavier Mertens? (@xme) 5. srpna 2017
Chcete-li přesměrovat výstup příkazu do souboru, zadejte příkaz a zadejte > nebo >> operátor a poté zadejte cestu k souboru, na který chcete přesměrovat výstup. Například příkaz ls uvádí soubory a složky v aktuálním adresáři. Po spuštění následujícího příkazu se do souboru zapíše seznam souborů a složek ls_output.txt soubor v TerminalOutput složku.
Nahradit / cesta / k / souboru s úplnou cestou k souboru, který chcete použít.
ls> / cesta / k / souboru
Toto je příkaz pro náš příklad.
ls> /Users/lorikaufman/TerminalOutput/ls_output.txt
Chcete-li zobrazit obsah souboru v okně Terminálu, použijte kočka příkaz uvedený v následujícím příkazu. Znovu vyměňte / cesta / k / souboru s úplnou cestou k souboru, který chcete zobrazit.
kočka / cesta / do / souboru
> Operátor nahradí obsah existujícího souboru pokaždé, když jej použijete k přesměrování výstupu. Pokud chcete uložit výstup z více příkazů do jednoho souboru, použijte >> místo toho operátor. Tím se připojí výstup příkazu na konec zadaného souboru, pokud již existuje. Pokud soubor neexistuje, vytvoří nový.
Například připojíme systémové informace na konec souboru, který jsme vytvořili výše. Takže v následujícím řádku, uname -a je příkaz, následovaný >> operátor přesměrování. Pak úplnou cestu k souboru, ke kterému chceme připojit výstup uname příkaz.
-A parametr v uname příkaz vytiskne všechny dostupné systémové informace.
uname -a >> /Users/lorikaufman/TerminalOutput/ls_output.txt
Chcete-li zobrazit soubor s připojenými informacemi v okně Terminál, zadejte následující příkaz s úplnou cestou k souboru.
cat /Users/lorikaufman/TerminalOutput/ls_output.txt
Tento proces opakujte tolikrát, kolikrát je třeba, aby byl výstup připojeného příkazu na konec souboru.
Zde je další příklad odeslání výstupu ls příkaz jako adresářový strom, s podadresáři uvedenými rekurzivně ( R parametr) a jeden soubor na řádek ( 1 parametr).
ls -1R> /Users/lorikaufman/TerminalOutput/dir_tree.txt
Pak použijeme kočka příkaz, jak bylo uvedeno výše, pro zobrazení obsahu souboru v okně Terminálu.
cat /Users/lorikaufman/TerminalOutput/dir_tree.txt
Vytiskněte výstup na obrazovku a přesměrujte jej do souboru
> a >> operátoři nezobrazují výstup příkazu na obrazovce. Výstup je odeslán pouze do souboru.
Pokud chcete odeslat výstup do souboru a vidět jej na obrazovce, použijte tričko příkaz místo > a >> operátory.
Nerd upozornění! Dnes jsem objevil příkaz 'tee', který vede k souboru i standardu ven. Unix nadále potěší. pic.twitter.com/aClIT8AdJB
- Zeke Sikelianos (@zeke) 29. srpna 2017
Chcete-li použít tričko Příkaz musíte poslat výstup z příkazu, který právě používáte ls, do tričko příkaz, pomocí obsluhy potrubí, svislou lištu (|). Například následující příkaz vezme výstup z ls příkaz a vloží jej do tričko příkaz. tričko příkaz poté odešle tento výstup na obrazovku a do souboru, který určíte pomocí úplné cesty k souboru.
ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt
Výše uvedený příkaz nahrazuje veškerý obsah v souboru nebo vytvoří nový, pokud neexistuje, stejně jako > operátor. Použili jsme následující kočka příkaz pro zobrazení obsahu našeho souboru v okně Terminálu.
cat /Users/lorikaufman/TerminalOutput/ls_output.txt
Chcete-li použít tričko Chcete-li vytisknout výstup na obrazovku a připojit jej na konec souboru, zadejte následující příkaz. Zde přidáváme úplné systémové informace na konec souboru pomocí uname -a příkaz, stejně jako my s >> operátorem, ale také odesláním výstupu na obrazovku.
uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt
Následující příkaz je tričko verze tisku adresářového stromu rekurzivně do souboru a na obrazovku, jeden soubor na každém řádku, stejně jako u > operátor.
ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt
Pak použijeme kočka příkaz znovu pro zobrazení obsahu souboru.
cat /Users/lorikaufman/TerminalOutput/dir_tree.txt
Ale počkejte, je toho víc
Existuje mnoho dalších způsobů, jak přesměrovat výstup, včetně chyb, do souboru. O různých operátorech a příkazech používaných k přesměrování výstupu si můžete přečíst v kapitole Přesměrování I / O v příručce Advanced Bash Scripting Guide..
Uživatelé Mac by si také měli uložit záložku k našemu cheatovému listu Mac Terminal Příkazy cheatového terminálu Mac The cheat sheet Mac terminálových příkazů Náš mega cheatový list příkazů terminálu Mac poskytuje skvělý odkaz na všechny důležité příkazy, které byste měli znát. .