„Linux“ leidžia išsaugoti komandos išvestį failuose kaip išvesties peradresavimo priemonę. Kai įrašote išvestį faile naudodami > arba >> operatorių, išvestis nukreipiama be jokios informacijos terminale.
Bet ką daryti, jei norite išspausdinti išvestį ekrane ir vienu metu išsaugoti faile? Nors to negalite padaryti naudodami išvesties peradresavimo operatorius, Linux sistemoje tai galima padaryti naudojant komandą tee.
Pagrindinė komandų sintaksė
tee yra standartinė „Linux“ programa, naudojama padalyti komandos išvestį tarp standartinės išvesties ir failų.
Skirtingai nuo daugelio Linux komandų, tee naudojamas su kitomis programomis naudojant vamzdį (|). Vamzdžių operatorius – vienas iš daug komandinės eilutės operatorių Linux sistemoje – leidžia programai kaip įvestį naudoti kitos komandos išvestį. Galbūt naudojote vamzdį kartu naudodami grep ls komanda arba katė.
Pagrindinė „tee“ komandos sintaksė yra tokia:
komandą | tee parinktys failo kelias
...kur galimybės ir bylos kelias yra komandinės eilutės argumentai ir kelias į failą, kuriame norite išsaugoti išvestį.
Padalinta terminalo išvestis „Linux“ su trišakiu
Paprasčiausias „tee“ naudojimas yra padalinti išvestį, kad ji būtų rodoma terminale, taip pat išsaugota faile. Pavyzdžiui, norint išsaugoti komandos ls išvestį tekstiniame faile pavadinimu "output.txt“, paleisti:
ls | tee ./output.txt
Išvestyje kaip įprasta bus rodomas esamo darbo katalogo turinys. Patikrinę failą output.txt, pamatysite, kad „tee“ taip pat išsaugojo išvestį faile.
Kai nurodote failo kelią, tee patikrina, ar failas egzistuoja. Jei jis jo neranda, jis automatiškai sukuria failą už jus, todėl jį patogu naudoti apvalkalo scenarijuose. Tai naudinga, kai norite įrašyti programos ar scenarijaus išvestį vėlesniam naudojimui.
Norėdami nuskaityti arba saugoti duomenis pagrindiniam vartotojui priklausančiame faile, prieš komandą tee turėsite įvesti sudo.
Jei nurodytame faile yra saugomų duomenų, kurių nenorite perrašyti, naudokite -a vėliavėlė prie pridėti išvestį į failą, o ne išvalyti visą failą ir išsaugoti duomenis:
ls | tee -a ./output.txt
Panašiai galite nukreipti išvestį į kelis failus, nurodydami kelius, atskirtus atskirais tarpais:
ls | tee ./output1.txt ./output2.txt
Kartais netikėtos klaidos arba rankiniai pertraukimai (naudojant Ctrl + C arba Ctrl + Z) buvusioje komandoje gali baigti tee. Jei norite nepaisyti tokių trukdžių, naudokite -i vėliava:
ls | tee -i output.txt
Į gaukite komandinės eilutės pagalbos Jei norite sužinoti daugiau apie triuką arba rasti išsamią versiją, naudokite --padėkite ir -- versija vėliavėles taip:
tee -- pagalba
tee -- versija
Išvesties nukreipimas į kitą komandą
Galite sukurti išvesties grandinę sujungdami „tee“ su kitomis „Linux“ komandomis. Tai atlikus išvestis bus išsaugota nurodytame faile ir perduota kitai komandai apdoroti.
Norėdami peradresuoti „tee“ išvestį į kitą komandą, naudokite šį formatą:
komandą | tee failo kelias | kita komanda
Pavyzdžiui, ši komanda išsaugos komandos ls išvestį į output.txt prieš galiausiai nukreipiant jį į grep greitai paieškai:
ls | tee output.txt | grep "Dokumentai"
Apskritai, norėdami žaisti, galite naudoti komandą tee standartinė įvestis ir išvestis Linux sistemoje.
Manipuliavimas išvestimi ir tekstu naudojant Linux komandas
Komanda „tee“ prideda labai reikalingų funkcijų standartiniams išvesties peradresavimo operatoriams sistemoje „Linux“. Jūs netgi galite jį naudoti norėdami manipuliuoti komandos išvestimi prieš perduodant ją kitai programai.
Panašiai galite keisti tekstą naudodami terminalą naudodami kai kurias standartines Linux komandas. Prie jų gali priprasti šiek tiek laiko, bet galiausiai bet kuriam sistemos administratoriui verta išmokti manipuliuoti tekstu per komandinę eilutę.