Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Linux ļauj saglabāt komandas izvadi failos kā izvades novirzīšanas līdzekli. Saglabājot izvadi failā, izmantojot > vai >> operatoriem, izvade tiek novirzīta bez informācijas, kas tiek parādīta terminālī.

Bet ko darīt, ja vēlaties izdrukāt izvadi uz ekrāna un vienlaikus saglabāt to failā? Lai gan jūs to nevarat izdarīt ar izvades pāradresācijas operatoriem, to var izdarīt, izmantojot komandu tee operētājsistēmā Linux.

Pamata komandu sintakse

tee ir standarta Linux utilīta, ko izmanto, lai sadalītu komandas izvadi starp standarta izvadi un failiem.

Atšķirībā no vairuma Linux komandu, tee tiek izmantots ar citām programmām, izmantojot cauruli (|). Caurules operators — viens no daudzi komandrindas operatori operētājsistēmā Linux — ļauj programmai kā ievadi izmantot citas komandas izvadi. Iespējams, esat izmantojis cauruli, vienlaikus izmantojot grep ls komanda vai kaķis.

instagram viewer

Komandas tee pamata sintakse ir:

komanda | tee opcijas faila ceļš

...kur iespējas un faila ceļš ir komandrindas argumenti un ceļš uz failu, kurā vēlaties saglabāt izvadi.

Sadalīta termināļa izvade operētājsistēmā Linux ar tēju

Vienkāršākā tee izmantošana ir izvades sadalīšana, lai to parādītu terminālī, kā arī saglabātu failā. Piemēram, lai saglabātu komandas ls izvadi teksta failā ar nosaukumu "output.txt," palaist:

ls | tee ./output.txt

Izvadē kā parasti tiks parādīts pašreizējā darba direktorija saturs. Pārbaudot failu output.txt, jūs redzēsit, ka tee saglabāja izvadi arī failā.

Kad norādāt faila ceļu, tee pārbauda, ​​vai fails pastāv. Ja tas to neatrod, tas automātiski izveido failu jūsu vietā, padarot to ērti lietojamu čaulas skriptos. Tas ir noderīgi, ja vēlaties reģistrēt programmas vai skripta izvadi vēlākai uzziņai.

Lai lasītu vai saglabātu datus failā, kas pieder saknes lietotājam, ievadiet komandu tee ar sudo.

Ja norādītajā failā ir saglabāti dati, kurus nevēlaties pārrakstīt, izmantojiet -a karogu uz pievienot izvadīt failu, nevis notīrīt visu failu un pēc tam saglabāt datus:

ls | tee -a ./output.txt

Līdzīgi varat novirzīt izvadi uz vairākiem failiem, norādot ceļus, atdalot tos ar atsevišķām atstarpēm:

ls | tee ./output1.txt ./output2.txt

Dažreiz neparedzētas kļūdas vai manuāli pārtraukumi (izmantojot Ctrl+C vai Ctrl+Z) iepriekšējā komandā var izraisīt tee pārtraukšanu. Lai ignorētu šādus pārtraukumus, izmantojiet -i karogs:

ls | tee -i output.txt

Uz saņemt komandrindas palīdzību attiecībā uz tee vai atrodiet versijas informāciju, izmantojiet -- palīdzēt un -- versija karogus šādi:

tee - palīdziet
tee -- versija

Izvades novirzīšana uz citu komandu

Varat izveidot izvades ķēdi, savienojot ar citām Linux komandām. To darot, izvade tiks saglabāta norādītajā failā un pēc tam tiks nodota nākamajai komandai apstrādei.

Izmantojiet šādu formātu, lai novirzītu tee izvadi uz citu komandu:

komanda | tee faila ceļš | cita komanda

Piemēram, šī komanda saglabās komandas ls izvadi uz output.txt pirms beidzot to novirzīt uz grep ātrai meklēšanai:

ls | tee izvade.txt | grep "Dokumenti"

Kopumā varat izmantot komandu tee, lai paspēlētos standarta ievade un izvade operētājsistēmā Linux.

Manipulēšana ar izvadi un tekstu ar Linux komandām

Komanda tee pievieno ļoti nepieciešamo funkcionalitāti standarta izvades pāradresācijas operatoriem operētājsistēmā Linux. Jūs pat varat to izmantot, lai manipulētu ar komandas izvadi pirms tās nodošanas citai programmai.

Tāpat jūs varat modificēt tekstu, izmantojot termināli, izmantojot dažas standarta Linux komandas. Var paiet kāds laiks, lai pierastu, taču galu galā teksta manipulācijas, izmantojot komandrindu, ir vērts apgūt jebkuram sistēmas administratoram.