4Sep

Kaip išsaugoti išvesties komandą į failą Bash( dar žinomas kaip "Linux" ir "macOS" terminalas)

click fraud protection

Kai paleidžiate komandą "bash" eilutėje, ji paprastai spausdina šios komandos išvestį tiesiai į terminalą, todėl galite jį nedelsdami perskaityti. Bet bash taip pat leidžia jums "peradresuoti" bet kurios komandos išvestį, įrašydamas jį į teksto failą, kad galėtumėte vėliau peržiūrėti išvestį.

Tai veikia bet kokioje operacinėje sistemoje, nuo Linux ir macOS iki Windows 10 Ubuntu pagrįstos bash aplinkos.

Pirmas variantas: nukreipti išvestį į failą tik

Norėdami naudoti bash peradresavimą, paleiskite komandą, nurodykite & gt;arba & gt; & gt;operatorius, tada pateikite failo kelią, į kurį norite peradresuoti produkciją.

  • & gt;persiunčia komandos išvestį į failą, pakeičiant esamą failo turinį.
  • & gt; & gt;peradresuoja komandos išvestį į failą, pridedant išvesties prie esamo failo turinio.

Techniškai šis peradresavimas "stdout" - standartinis išėjimas, kuris yra ekranas į failą.

Čia yra paprastas pavyzdys."Ls" komanda nurodo failus ir aplankus dabartiniame kataloge. Taip. Kai paleisite šią komandą, ls pateiks failų ir aplankų sąrašus dabartiniame kataloge. Tačiau jie nebus spausdinami į ekraną - jie bus įrašyti į jūsų nurodytą failą.

instagram viewer

ls & gt;/path/to/ failas

Jums nereikia nurodyti kelio į esamą failą.Nurodykite bet kurį galiojantį kelią ir bash sukurs failą toje vietoje.

Jei žiūrėsite failo turinį, pamatysite ls komandos išvestį.Pavyzdžiui, kačių komanda spausdina failo turinį į terminalą:

katė /path/to/ failas

Atminkite, kad & gt;operatorius pakeičia esamą failo turinį su komandinės išvesties. Jei norite išsaugoti kelių komandų išvestį į vieną failą, naudokite & gt; & gt;operatorius. Pavyzdžiui, ši komanda pridės sistemos informaciją į norimą failą:

uname -a & gt; & gt;/path/to/ failas

Jei failo dar nėra, bash sukurs failą.Priešingu atveju, bash paliks esamą failo turinį ir pridės išvestį į failo pabaigą.

Kai peržiūrėsite failo turinį, pamatysite antrosios komandos rezultatus, kurios buvo pridėtos prie failo pabaigos:

Jūs galite pakartoti šį procesą tiek kartų, kiek norite išlaikyti išvesties pabaigąfailas

variantas du: Paprastai spausdinimo išeiga ir nukreipimas į failą

Jums gali nepatinka nukreipti produkciją naudodami & gt;arba & gt; & gt;operatoriai, nes nematysite komandos išėjimo terminale.Štai ko nori "tee" komanda."Tee command" atspausdina įvesties informaciją, kurią ji gauna ekrane , o tuo pačiu metu įrašo ją į failą.

Norėdami perduoti komandą "tee", išvesdami ją į savo ekraną ir įrašydami ją į failą, naudokite šią sintaksę:

komanda |tee /path/to/ failas

Tai pakeis bet kokį failą su komandų išvestį, kaip ir & gt;operatorius.

Norėdami išgauti komandą "tee", spausdinti į savo ekraną ir įrašyti ją į failą, tačiau jį pridėti prie failo pabaigos:

komanda |tee -a /path/to/ failas

Tai pridės išvestį į failo pabaigą, kaip ir & gt; & gt;operatorius.

"bash" lange yra keletas papildomų pažangių operatorių, kurie atlieka panašias funkcijas. Jie bus ypač naudingi, jei rašysite bash scenarijus. Išsamesnės informacijos ieškokite "Advanced Bash-Scripting Guide" skyriuje I / O peradresavimo.