Linux vă permite să stocați rezultatul comenzii în fișiere ca mijloc de redirecționare a ieșirii. Când salvați rezultatul într-un fișier utilizând > sau >> operatori, rezultatul este redirecționat fără informații afișate pe terminal.
Dar ce se întâmplă dacă doriți să imprimați rezultatul pe ecran și să îl stocați într-un fișier simultan? Deși nu o puteți face cu operatorii de redirecționare a ieșirii, este posibil să faceți acest lucru folosind comanda tee pe Linux.
Sintaxa de bază a comenzii
tee este un utilitar Linux standard folosit pentru a împărți rezultatul unei comenzi între ieșirea standard și fișiere.
Spre deosebire de majoritatea comenzilor Linux, tee este folosit cu alte programe care folosesc un pipe (|). Operatorul de conducte — unul dintre mulți operatori de linie de comandă pe Linux—permite unui program să folosească ieșirea unei alte comenzi ca intrare. Este posibil să fi folosit pipe în timp ce utilizați grep alături
comanda ls sau pisica.Sintaxa de bază a comenzii tee este:
comanda | tee options filepath
...Unde Opțiuni și calea fișierului sunt argumentele liniei de comandă și calea către fișierul în care doriți să stocați rezultatul.
Split Terminal Output pe Linux Cu tee
Cea mai simplă utilizare a tee este de a împărți rezultatul pentru a o afișa în terminal, precum și de a o stoca într-un fișier. De exemplu, pentru a stoca rezultatul comenzii ls într-un fișier text numit „output.txt," alerga:
ls | tee ./output.txt
Ieșirea va afișa conținutul directorului de lucru actual ca de obicei. La verificarea fișierului output.txt, veți găsi că acel tee a salvat și rezultatul în fișier.
Când specificați o cale de fișier, tee verifică dacă fișierul există. Dacă nu găsește unul, creează automat fișierul pentru dvs., făcându-l convenabil pentru utilizare în scripturile shell. Este util atunci când doriți să înregistrați ieșirea unui program sau script pentru referință ulterioară.
Va trebui să prefațați comanda tee cu sudo pentru a citi sau stoca date într-un fișier deținut de utilizatorul root.
Dacă fișierul specificat conține date stocate pe care nu doriți să le suprascrieți, utilizați -A steag la adăuga ieșirea în fișier, în loc să ștergeți întregul fișier și apoi să salvați datele:
ls | tee -a ./output.txt
În mod similar, puteți redirecționa ieșirea către mai multe fișiere specificând căile, separate prin spații unice:
ls | tee ./output1.txt ./output2.txt
Uneori, erori neașteptate sau întreruperi manuale (utilizarea Ctrl + C sau Ctrl + Z) în prima comandă poate determina oprirea tee-ului. Pentru a ignora astfel de întreruperi, utilizați -i steag:
ls | tee -i output.txt
La obține ajutor din linia de comandă referitor la tee sau găsiți detaliile versiunii, utilizați --Ajutor și --versiune steaguri după cum urmează:
tee --ajutor
tee --versiune
Redirecționarea ieșirii către o altă comandă
Puteți crea un lanț de ieșire prin conectarea tee-ului cu alte comenzi Linux. Procedând astfel, rezultatul va fi salvat în fișierul specificat și apoi îl va trece la următoarea comandă pentru procesare.
Utilizați următorul format pentru a redirecționa ieșirea lui Tee către o altă comandă:
comanda | tee filepath | altă comandă
De exemplu, următoarea comandă va salva rezultatul comenzii ls în output.txt înainte de a-l redirecționa în cele din urmă către grep pentru o căutare rapidă:
ls | tee output.txt | grep „Documente”
În general, puteți folosi comanda tee pentru a vă juca intrarea și ieșirea standard pe Linux.
Manipularea ieșirii și a textului cu comenzi Linux
Comanda tee adaugă funcționalitatea atât de necesară operatorilor standard de redirecționare a ieșirii pe Linux. Îl puteți folosi chiar și pentru a manipula rezultatul unei comenzi înainte de a o transmite unui alt program.
În mod similar, puteți modifica text folosind terminalul cu ajutorul unor comenzi standard Linux. Ar putea dura ceva timp pentru a se obișnui, dar în cele din urmă, manipularea textului prin linia de comandă merită învățată pentru orice administrator de sistem.