Kuinka tallentaa komennon lähdöt tiedostoon Bashissa (eli Linux- ja macOS-terminaaleina)
Kun suoritat komennon bash-kehotteessa, se yleensä tulostaa kyseisen komennon lähdön suoraan päätelaitteelle, jotta voit lukea sen välittömästi. Mutta bashilla voit myös ohjata minkä tahansa komennon lähdön, tallentamalla sen tekstitiedostoon, jotta voit tarkistaa lähdön myöhemmin.
Tämä toimii bashissa missä tahansa käyttöjärjestelmässä, Linuxista ja MacOSista Windows 10: n Ubuntu-pohjaiseen bash-ympäristöön.
Vaihtoehto 1: Ohjaa tulostus vain tiedostoon
Jos haluat käyttää bash-uudelleenohjausta, suoritat komennon, määritä >
tai >>
operaattori, ja anna sitten sen tiedoston polku, johon haluat ohjata lähdön.
-
>
ohjaa komennon lähdön tiedostoon ja korvaa tiedoston nykyisen sisällön. -
>>
ohjaa komennon lähdön tiedostoon, liittämällä lähdön tiedoston olemassa olevaan sisältöön.
Teknisesti tämä ohjaa "stdout" -standardilähdön, joka on tiedoston näyttö.
Tässä on yksinkertainen esimerkki. ls
komento luetteloi tiedostot ja kansiot nykyisessä hakemistossa. Niin. kun suoritat seuraavan komennon, ls
luetteloi tiedostot ja kansiot nykyiseen hakemistoon. Mutta se ei tulosta niitä näytölle - se tallentaa ne määrittämäsi tiedostoon.
ls> / polku / tiedosto / tiedosto
Sinun ei tarvitse määrittää olemassa olevan tiedoston polkua. Määritä mikä tahansa voimassa oleva polku ja bash luo tiedoston kyseiseen paikkaan.
Jos tarkastelet tiedoston sisältöä, näet ls
komennon ulostulo. Esimerkiksi kissa
komento tulostaa tiedoston sisällön päätelaitteelle:
kissa / polku / tiedosto / tiedosto
Muista, että
operaattori korvaa tiedoston nykyisen sisällön komennon lähdöllä. Jos haluat tallentaa useiden komentojen lähdön yhteen tiedostoon, voit käyttää sitä >
operaattorin sijaan. Esimerkiksi seuraava komento lisää järjestelmän tiedot määritettyyn tiedostoon:>>
uname -a >> / polku / kohteeseen / tiedosto
Jos tiedosto ei ole jo olemassa, bash luo tiedoston. Muussa tapauksessa bash jättää tiedoston sisällön yksin ja liittää lähdön tiedoston loppuun.
Kun tarkastelet tiedoston sisältöä, näet toisen komennon tulokset liitteenä tiedoston loppuun:
Voit toistaa tämän prosessin niin monta kertaa kuin haluat, jotta voit liittää lähdön tiedoston loppuun.
Vaihtoehto 2: Tulosta tulostus normaalisti ja ohjaa se tiedostoon
Et ehkä halua ohjata lähdön >
tai >>
operaattoreita, koska et näe komennon lähtöä päätelaitteessa. Juuri näin tii
komento on. Tee-komento tulostaa vastaanottamansa tulon näyttöön ja tallentaa sen tiedostoon samanaikaisesti.
Voit ohjata komennon lähdön tii
, tulostamalla se näytölle ja tallentamalla se tiedostoon, käytä seuraavaa syntaksia:
komento tee / polku / tiedosto / tiedosto
Tämä korvaa tiedoston tiedostossa olevan komennon lähdön, aivan kuten >
operaattori.
Voit ohjata komennon lähdön tii
, tulostaminen näytölle ja tallentaminen tiedostoon, mutta sen lisääminen tiedoston loppuun:
komento tee -a / polku / tiedosto / tiedosto
Tämä liittää lähdön tiedoston loppuun, kuten >>
operaattori.
Bash-kuoressa on joitakin muita edistyneitä toimijoita, jotka suorittavat samanlaisia toimintoja. Ne ovat erityisen hyödyllisiä, jos kirjoitat bash-skriptejä. Tarkempia tietoja saat Advanced Bash-Scripting -oppaassa olevan I / O-uudelleenohjauksen luvusta.