Linux vam omogoča shranjevanje izhodnih podatkov ukaza v datoteke kot sredstvo za preusmeritev izhodnih podatkov. Ko shranite izhod v datoteko z uporabo > oz >> operaterji, se izhod preusmeri brez informacij, prikazanih na terminalu.
Kaj pa, če želite izpis natisniti na zaslon in ga hkrati shraniti v datoteko? Čeprav tega ne morete storiti z operaterji za preusmeritev izhoda, je to mogoče storiti z ukazom tee v Linuxu.
Osnovna sintaksa ukazov
tee je standardni pripomoček za Linux, ki se uporablja za razdelitev izhoda ukaza med standardni izhod in datoteke.
Za razliko od večine ukazov Linux se tee uporablja z drugimi programi z uporabo cevi (|). Cevni operater - eden od številni operaterji ukazne vrstice v Linuxu—omogoča, da program kot vhod uporabi izhod drugega ukaza. Morda ste uporabili pipe, medtem ko ste zraven uporabljali grep ukaz ls ali mačka.
Osnovna sintaksa ukaza tee je:
ukaz | tee options filepath
...kje opcije in pot do datoteke so argumenti ukazne vrstice in pot do datoteke, v katero želite shraniti izhod.
Razdeljen terminalski izhod na Linuxu s tee
Najenostavnejša uporaba tee je razdelitev izhoda za prikaz v terminalu in shranjevanje v datoteko. Na primer, da shranite izhod ukaza ls v besedilno datoteko z imenom "izhod.txt," zaženi:
ls | tee ./output.txt
Izhod bo kot običajno prikazal vsebino trenutnega delovnega imenika. Ko preverite datoteko output.txt, boste ugotovili, da je tee v datoteko shranil tudi izhod.
Ko določite pot do datoteke, tee preveri, ali datoteka obstaja. Če je ne najde, samodejno ustvari datoteko za vas, zaradi česar je priročna za uporabo v lupinskih skriptih. Uporabno je, če želite zabeležiti izhod programa ali skripta za kasnejšo uporabo.
Za branje ali shranjevanje podatkov v datoteko, ki je v lasti uporabnika root, boste morali pred ukazom tee navesti sudo.
Če ima določena datoteka shranjene podatke, ki jih ne želite prepisati, uporabite -a označi za priložiti izhod v datoteko, namesto da počistite celotno datoteko in nato shranite podatke:
ls | tee -a ./output.txt
Podobno lahko preusmerite izhod v več datotek tako, da navedete poti, ločene z enimi presledki:
ls | tee ./output1.txt ./output2.txt
Včasih se pojavijo nepričakovane napake ali ročne prekinitve (z uporabo Ctrl + C oz Ctrl + Z) v prejšnjem ukazu lahko povzroči, da tee preneha. Če želite prezreti takšne prekinitve, uporabite -jaz zastava:
ls | tee -i izhod.txt
Za dobite pomoč v ukazni vrstici glede tee ali poiščite podrobnosti o različici, uporabite -- pomoč in --različica zastave, kot sledi:
tee --pomoč
tee --različica
Preusmerjanje izhoda na drug ukaz
Izhodno verigo lahko ustvarite tako, da povežete tee z drugimi ukazi Linuxa. S tem boste izhod shranili v navedeno datoteko in ga nato posredovali naslednjemu ukazu za obdelavo.
Uporabite naslednjo obliko za preusmeritev izhoda tee na drug ukaz:
ukaz | tee filepath | drug ukaz
Naslednji ukaz bo na primer shranil izhod ukaza ls v izhod.txt preden ga končno preusmerite na grep za hitro iskanje:
ls | tee output.txt | grep "Dokumenti"
Na splošno lahko uporabite ukaz tee za igranje standardni vhod in izhod v Linuxu.
Manipulacija izpisa in besedila z ukazi Linuxa
Ukaz tee dodaja prepotrebno funkcionalnost standardnim operaterjem preusmeritve izhoda v Linuxu. Uporabite ga lahko celo za manipulacijo izhoda ukaza, preden ga posredujete drugemu programu.
Podobno lahko spremenite besedilo z uporabo terminala s pomočjo nekaterih standardnih ukazov Linuxa. Morda bo trajalo nekaj časa, da se nanje navadijo, vendar se je na koncu vredno naučiti vsakega sistemskega skrbnika manipulirati z besedilom prek ukazne vrstice.