4Sep

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

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: Ohjaa uudelleen tiedostolle

Jos haluat käyttää bash-uudelleenohjausta, suoritat komennon, määritä & gt;tai> gt;operaattori ja anna sitten tiedoston polku, johon haluat tuotoksen uudelleenohjauksen.

  • & gt;ohjaa komennon tuotoksen tiedostoon, joka korvaa tiedoston olemassa olevan sisällön.
  • & gt;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-komennolla 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 & gt;/path/to/-tiedosto

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 ls-komennon lähdön. Esimerkiksi cat-komento tulostaa tiedoston sisällön päätelaitteelle:

-kissa /path/to/-tiedosto

Muista, että & gt;operaattori korvaa tiedoston olemassa olevan sisällön komennolla. Jos haluat tallentaa useita komentoja yhdelle tiedostolle, käytä & gt; & gt;sijaan. Esimerkiksi seuraava komento liittää järjestelmätietosi määritettyyn tiedostoon:

uname -a & gt; & gt;/path/to/-tiedosto

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, että toisen komennon tulokset liitettiin tiedoston loppuun:

Voit toistaa tämän prosessin niin monta kertaa kuin haluat säilyttää liitettävän tulostuksen loppuuntiedosto.

Vaihtoehto kaksi: Tulostuslähtö normaalisti ja ohjata se tiedostoon

Et ehkä halua ohjata tulostusta & gt;tai> gt;koska et näe komennon tuottoa terminaalissa. Se, mitä tee-komento on. Tee-komento tulostaa panoksen, jonka se vastaanottaa näytölle ja tallentaa sen tiedostoon samanaikaisesti.

Jos haluat piirtää komennon tulostuksen, tulostaa sen näytölle ja tallentaa sen tiedostoon, käytä seuraavaa syntaksia:

-komento |tee /path/to/-tiedosto

Tämä korvaa komentosarjassa olevan tiedoston minkä tahansa, kuten & gt;operaattori.

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

-komento |tee -a /path/to/-tiedosto

Tämä liittää tiedoston loppuosan, aivan kuten & gt; & gt;operaattori.

Yhteishuone sisältää joitakin muita, edistyneitä operaattoreita, jotka suorittavat samankaltaisia ​​toimintoja. Ne ovat erityisen hyödyllisiä, jos kirjoitat bash-komentosarjoja. Lisätietoja on kohdassa Lisäasetukset-komentotiedostojen I / O-uudelleenohjaus-luku.