Tai veikia bet kokioje operacinėje sistemoje, nuo Linux ir MacOS iki "Windows 10" Ubuntu pagrįstos "bash" aplinkos.
Pirmas variantas: peradresuoti išvestį tik į failą
Norėdami naudoti bash redirection, paleiskite komandą, nurodykite
>
arba
>>
operatorius, tada pateikite failo kelią, į kurį norite peradresuoti produkciją.
-
>
persiunčia komandos išvestį į failą, pakeičiant esamą failo turinį.
-
>>
peradresuoja komandos išvestį į failą, pridedant išvesties prie esamo failo turinio.
Techniškai ši peradresuojama "stdout" - standartinė išvestis, kuri yra ekranas į failą.
Štai paprastas pavyzdys. The
ls
Komanda nurodo failus ir aplankus dabartiniame kataloge. Taip. kai paleisite šią komandą
ls
bus sąraše esamų aplankų rinkmenų ir aplankų. Tačiau jie nebus spausdinami į ekraną - jie bus įrašyti į jūsų nurodytą failą.
ls > /path/to/file
Jums nereikia nurodyti kelio į esamą failą. Nurodykite bet kurį galiojantį kelią ir bash sukurs failą toje vietoje.
ls
komandos išvestis. Pavyzdžiui,
cat
komanda spausdina failo turinį į terminalą:
cat /path/to/file
>
operatorius pakeičia esamą failo turinį su komandinės išvesties. Jei norite išsaugoti kelių komandų išvestį į vieną failą, naudokite
>>
operatorius. Pavyzdžiui, ši komanda pridės sistemos informaciją į norimą failą:
uname -a >> /path/to/file
Jei failas dar nėra, bash sukurs failą. Priešingu atveju, bash išeis iš esamo failo turinio ir pridės išvestį į failo pabaigą.
Kai peržiūrėsite failo turinį, pamatysite antrosios komandos rezultatus, pridėtus prie failo pabaigos:
Antroji parinktis: Paprastai spausdinimo išvestis ir nukreipimas į failą
Jums gali nepatinka nukreipti produkciją su
>
arba
>>
operatoriai, nes nematysite komandos išėjimo terminale. Štai kas
tee
komanda yra skirta. "Tee" komanda atspausdina įvesties informaciją, kurią ji gauna ekrane ir išsaugo jį failą tuo pačiu metu.
Norėdami perduoti komandų išvestį į
tee
spausdindami jį į savo ekraną ir įrašydami jį į failą, naudokite šią sintaksę:
command | tee /path/to/file
Tai pakeis bet kokį failą su komandos išvestį, kaip ir
>
operatorius.
tee
spausdinti į savo ekraną ir įrašyti jį į failą, bet pridėti jį prie failo pabaigos:
command | tee -a /path/to/file
Tai pridės išvesties failo pabaigoje, kaip ir
>>
operatorius.