Miten tallennat komentotiedoston tiedoston Bash-tiedostoon (ts. Linux- ja MacOS-terminaali)

Sisällysluettelo:

Miten tallennat komentotiedoston tiedoston Bash-tiedostoon (ts. Linux- ja MacOS-terminaali)
Miten tallennat komentotiedoston tiedoston Bash-tiedostoon (ts. Linux- ja MacOS-terminaali)
Anonim
Kun suoritat komennon komentokehotteessa, se tulostaa normaalisti komennon tuotoksen suoraan päätelaitteeseen, jotta voit lukea sen välittömästi. Mutta bashin avulla voit myös "ohjata" minkä tahansa komennon tuottoa, tallentamalla sen tekstitiedostoon, jotta voit tarkastella tuottoa myöhemmin.
Kun suoritat komennon komentokehotteessa, se tulostaa normaalisti komennon tuotoksen suoraan päätelaitteeseen, jotta voit lukea sen välittömästi. Mutta bashin avulla voit myös "ohjata" minkä tahansa komennon tuottoa, tallentamalla sen tekstitiedostoon, jotta voit tarkastella tuottoa myöhemmin.

Tämä toimii yhteistyössä missä tahansa käyttöjärjestelmässä, Linuxista ja macOS: stä Windows 10: n Ubuntu-pohjaiseen bashympäristöön.

Vaihtoehto 1: ohjata tuotos vain tiedostolle

Jos haluat käyttää bash-uudelleenohjausta, suoritat komennon, määritä

>

tai

>>

operaattori ja anna sitten tiedoston polku, johon haluat tuotoksen uudelleenohjauksen.

  • >

    ohjaa komennon tuotoksen tiedostoon, joka korvaa tiedoston olemassa olevan sisällön.

  • >>

    ohjaa komennon tuotos tiedostolle lisäämällä sen tiedoston olemassa olevaan sisältöön.

Teknisesti tämä ohjaa "stdout" -standardin, joka on näytön tiedosto.

Tässä on yksinkertainen esimerkki.

ls

komennossa luetellaan tiedostoja ja kansioita nykyisessä hakemistossa. Niin. kun suoritat seuraavan komennon,

ls

luetellaan tiedostoja ja kansioita nykyisessä hakemistossa. Mutta se ei tulosta niitä näyttöön - se tallentaa ne määritettyyn tiedostoon.

ls > /path/to/file

Sinun ei tarvitse määrittää olemassa olevan tiedoston polkua. Määritä kelvollinen polku ja bash luo tiedoston kyseisellä sijainnilla.

Jos tarkastelet tiedoston sisältöä, näet
Jos tarkastelet tiedoston sisältöä, näet

ls

komennon tuotos. Esimerkiksi

cat

komento tulostaa tiedoston sisällön päätelaitteelle:

cat /path/to/file

Muista, että
Muista, että

>

operaattori korvaa tiedoston olemassa olevan sisällön komennolla. Jos haluat tallentaa useita komentoja yhdeksi tiedostoksi, käytä

>>

sijaan. Esimerkiksi seuraava komento liittää järjestelmätietosi määritettyyn tiedostoon:

uname -a >> /path/to/file

Jos tiedostoa ei ole vielä olemassa, bash luo tiedoston. Muuten bash jättää pelkästään tiedoston sisällön ja lisää tulostuksen tiedoston loppuun.

Kun tarkastelet tiedoston sisältöä, näet toisen komennon tulokset liitetiedoston loppuun:

Voit toistaa tämän prosessin niin monta kertaa kuin haluat liittää tulostuksen tiedoston loppuun.
Voit toistaa tämän prosessin niin monta kertaa kuin haluat liittää tulostuksen tiedoston loppuun.

Vaihtoehto kaksi: Tulosta tulostus normaalisti ja ohjata se tiedostoon

Et ehkä halua tuottaa uudelleenohjausta

>

tai

>>

koska et näe komennon tuottoa terminaalissa. Se mitä

tee

komento on. Tee-komento tulostaa sisääntulon, jonka se vastaanottaa näytölle ja tallentaa sen tiedostoon samanaikaisesti.

Komennon tuotoksen putoaminen

tee

tulostamalla se näytölle ja tallentamalla se tiedostoon, käytä seuraavaa syntaksia:

command | tee /path/to/file

Tämä korvaa tiedoston tiedoston komennolla, aivan kuten

>

operaattori.

Komennon tuotoksen putoaminen
Komennon tuotoksen putoaminen

tee

tulostaa näytölle ja tallentaa sen tiedostoon, mutta liittää sen tiedoston loppuun:

command | tee -a /path/to/file

Tämä liittää tulostuksen tiedoston loppuun, aivan kuten

>>

operaattori.

Suositeltava: