Linux tee -komento on melko samanlainen kuin 'cat' -komento, vain yhdellä erolla. Se asettaa stdinin stdoutiin ja myös laittaa ne tiedostoon. Se on yksi eniten käytetyistä komennoista muiden putken kautta annettujen komentojen kanssa. Sen avulla voimme kirjoittaa mitä tahansa std-syötteestä std-lähtöön. Valinnaisesti se tarjoaa kirjoittamisen yhteen tai useampaan tiedostoon. Komennon nimi tee tulee T-jakajasta, jota käytetään putkistoissa.
Syntaksi:
tee
Vaihtoehdot:
Seuraavassa on joitain hyödyllisiä vaihtoehtoja, joita voidaan käyttää tee-komennon kanssa tarkentamaan sitä:
-a, --lisää: Sitä käytetään tietojen liittämiseen annettuihin tiedostoihin, se ei korvaa tietoja.
-i, --ignore-interrupts: Sitä käytetään keskeytyssignaalien huomiotta jättämiseen.
-p: Sitä käytetään muiden kuin putkien kirjoitusvirheiden diagnosoimiseen.
--output-error[=TILA]: Sitä käytetään kirjoitusvirhetilan käyttäytymisen asettamiseen.
--auta: Sitä käytetään ohjedokumentaation näyttämiseen.
--versio: sitä käytetään versiotietojen näyttämiseen.
Esimerkkejä tee-komennosta
Katsotaanpa seuraavia esimerkkejä tee-komennosta:
- Tee-komennon käyttäminen
- Kirjoita tiedosto ja liitä tuloste
- Kirjoita tietojen tila tiedostoon
- Kirjoita useisiin tiedostoihin
- Kirjoita etuoikeutettuun tiedostoon
- Keskeytyksiä huomioimatta
- Piilota tulos
Tee-komennon käyttäminen
Tee-komentoa käytetään vakiosyötteen kirjoittamiseen vakiolähtöön ja tiedostoon. Sitä käytetään putken jälkeen. Jos haluat kirjoittaa vakiotulosteeseen ja tiedostoon, määritä tee-komento putken jälkeen ja anna tiedosto(i)en nimi. Harkitse alla olevaa komentoa:
cat weeks.txt | tee newfile.txt
Yllä oleva komento kirjoittaa 'weeks.txt' -syötteen 'newfile.txt'. Harkitse alla olevaa tulosta:
Yllä olevasta lähdöstä luodaan tiedosto 'newfile.txt' tee-komennolla.
css kommentti
Kirjoita tiedosto ja liitä tuloste
Vaihtoehtoa '-a' käytetään tee-komennon kanssa tulosteen liittämiseen ja sen kirjoittamiseen tiedostoon. Harkitse alla olevaa komentoa:
echo 'Saturday and Sunday are week offs' | tee -a newfile.txt
Yllä oleva komento lisää määritetyn syötteen 'newfile.txt'-tiedostoon. Harkitse alla olevaa tulosta:
Kuten yllä olevasta lähdöstä, määritetty syöte liitetään tiedostoon 'newfile.txt'.
Kirjoita tietojen tila tiedostoon
Tietojen tilan kirjoittaminen on erittäin hyödyllistä varmuuskopioinnissa tai tietojen luomisessa virheenkorjausta varten. Se voidaan tehdä helposti tee-komennolla.
Kirjoita tietojen tila tiedostoon suorittamalla alla oleva komento:
ls ~/ | tee pipe1.txt | grep ^b | tee pipe2.txt | sort -r
Yllä oleva komento kirjoittaa tiedot pipe1.txt-tiedostoon. Harkitse alla olevaa tulosta:
Yllä olevasta lähdöstä nykyisen työhakemiston tiedot tallennetaan 'newfile.txt'-tiedostoon.
Kirjoita useisiin tiedostoihin
Tee-komennon avulla voimme kirjoittaa useisiin tiedostoihin. Jos haluat kirjoittaa useisiin tiedostoihin, määritä tiedostojen nimet tee-komennon jälkeen seuraavasti:
echo ' add text' | tee file1.txt file2.txt file3.txt
Yllä oleva komento luo kaikki määritetyt tiedostot. Harkitse alla olevaa tulosta:
Kirjoita etuoikeutettuun tiedostoon
Tee-komennon avulla voimme kirjoittaa tiedostoon, jolla on sudo-oikeudet. Jos yritämme kirjoittaa pääkäyttäjän omistaman tiedoston, se tapahtuu lupavirheen kautta. Mutta voimme nostaa sudo-käyttöoikeutta suorittamalla tee-komennon seuraavasti:
echo 'some text' | sudo tee -a
Keskeytyksiä huomioimatta
Vaihtoehtoa '-i' käytetään keskeytyksiä huomioimatta. Tämä on hyödyllistä, jos haluamme pysäyttää ja poistua komennosta sulavasti suorituksen aikana. Sitä käytetään seuraavasti:
valmistautua testiin mockito
command | tee -i
Piilota tulos
Jos haluat rajoittaa tee-komentoa kirjoittamasta vakiolähtöön, ohjaa se hakemistoon '/dev/null'. Suorita komento seuraavasti:
echo 'Text' | tee newfile.txt >/dev/null
Harkitse alla olevaa tulosta: