To funguje v bash na ľubovoľnom operačnom systéme, od Linuxu a MacOS až po Windows Ubuntu.
Možnosť jedna: presmerovanie výstupu na iba súbor
Ak chcete použiť presmerovanie bash, spustite príkaz a zadajte príkaz
>
alebo
>>
operátora a potom zadajte cestu k súboru, na ktorý chcete presmerovať výstup.
-
>
presmeruje výstup príkazu do súboru a nahrádza existujúci obsah súboru.
-
>>
presmeruje výstup príkazu do súboru a pripojí výstup k existujúcemu obsahu súboru.
Technicky to presmeruje "stdout" - štandardný výstup, ktorým je obrazovka - do súboru.
Tu je jednoduchý príklad.
ls
príkaz obsahuje zoznam súborov a priečinkov v aktuálnom adresári. So. keď spustíte nasledujúci príkaz,
ls
zoznam súborov a priečinkov v aktuálnom adresári. Nevytlačí ich na obrazovku - uloží ich do zadaného súboru.
ls > /path/to/file
Nemusíte určovať cestu k existujúcemu súboru. Zadajte akúkoľvek platnú cestu a bash vytvorí súbor na danom mieste.
ls
príkazu. Napríklad
cat
príkaz vytlačí obsah súboru do terminálu:
cat /path/to/file
>
operátor nahradí existujúci obsah súboru výstupom príkazu. Ak chcete uložiť výstup viacerých príkazov do jedného súboru, použite
>>
namiesto operátora. Napríklad nasledujúci príkaz pripojí informácie o systéme k zadanému súboru:
uname -a >> /path/to/file
Ak súbor ešte neexistuje, súbor bash vytvorí súbor. V opačnom prípade bude bash ponechať samotný obsah súboru a pripojiť výstup na koniec súboru.
Keď uvidíte obsah súboru, uvidíte, že výsledky druhého príkazu boli pripojené na koniec súboru:
Možnosť druhá: Výstup tlače normálne a presmerovanie do súboru
Nesmiete radi presmerovať výstup pomocou
>
alebo
>>
operátorov, pretože nevidíte výstup príkazu v termináli. To je to, čo
tee
príkaz je pre. Príkaz tee vytlačí vstup, ktorý prijíma, na obrazovku a uloží ho súčasne do súboru.
Pripojenie výstupu príkazu do
tee
tlač na obrazovku a uloženie do súboru použite nasledujúcu syntax:
command | tee /path/to/file
Tým sa nahradí všetko v súbore s výstupom príkazu, rovnako ako
>
operátor.
tee
tlač na vašu obrazovku a uloženie do súboru, ale pridanie do konca súboru:
command | tee -a /path/to/file
Tým sa pripojí výstup na koniec súboru, rovnako ako
>>
operátor.