Slik lagrer du utdataene for en kommando til en fil i basen (også Linux og MacOS Terminal)

Innholdsfortegnelse:

Slik lagrer du utdataene for en kommando til en fil i basen (også Linux og MacOS Terminal)
Slik lagrer du utdataene for en kommando til en fil i basen (også Linux og MacOS Terminal)

Video: Slik lagrer du utdataene for en kommando til en fil i basen (også Linux og MacOS Terminal)

Video: Slik lagrer du utdataene for en kommando til en fil i basen (også Linux og MacOS Terminal)
Video: Making Custom Length Ethernet Cables - YouTube 2024, Mars
Anonim
Når du kjører en kommando ved bash-prompten, skriver den vanligvis utgangen av den kommandoen direkte til terminalen slik at du kan lese den umiddelbart. Men bash tillater deg også å "omdirigere" utdataene til en kommando, lagre den i en tekstfil, slik at du kan se utgangen senere.
Når du kjører en kommando ved bash-prompten, skriver den vanligvis utgangen av den kommandoen direkte til terminalen slik at du kan lese den umiddelbart. Men bash tillater deg også å "omdirigere" utdataene til en kommando, lagre den i en tekstfil, slik at du kan se utgangen senere.

Dette fungerer i bash på ethvert operativsystem, fra Linux og MacOS til Windows 10s Ubuntu-bash-miljø.

Alternativ One: Omdirigere utgang til bare en fil

For å bruke bash omdirigering, kjører du en kommando, angir

>

eller

>>

operatør, og deretter gi banen til en fil du vil ha omdirigert omdirigering til.

  • >

    omadresserer utgangen av en kommando til en fil, erstatter det eksisterende innholdet i filen.

  • >>

    omdirigerer utgangen av en kommando til en fil, og legger til utgangen til det eksisterende innholdet i filen.

Teknisk omdirigerer dette stdout-standardutgangen, som er skjermen til en fil.

Her er et enkelt eksempel. De

ls

Kommandoen viser filer og mapper i gjeldende katalog. Så. når du kjører følgende kommando,

ls

vil liste filer og mapper i gjeldende katalog. Men det vil ikke skrive ut dem til skjermen - det vil lagre dem til filen du angir.

ls > /path/to/file

Du trenger ikke å spesifisere banen til en eksisterende fil. Angi hvilken som helst gyldig bane og bash vil opprette en fil på den plasseringen.

Hvis du ser innholdet i filen, ser du
Hvis du ser innholdet i filen, ser du

ls

kommandoens utgang. For eksempel,

cat

kommandoen skriver ut innholdet til en fil til terminalen:

cat /path/to/file

Husk at
Husk at

>

operatør erstatter det eksisterende innholdet i filen med utgangen av kommandoen. Hvis du vil lagre utdataene fra flere kommandoer til en enkelt fil, bruker du

>>

operatør i stedet. For eksempel vil følgende kommando legge til systeminformasjon til filen du angir:

uname -a >> /path/to/file

Hvis filen ikke allerede eksisterer, vil bash opprette filen. Ellers vil bash legge ut det eksisterende innholdet i filen alene og legge til utgangen til slutten av filen.

Når du ser innholdet i filen, ser du resultatene av den andre kommandoen din ble lagt til slutten av filen:

Du kan gjenta denne prosessen så mange ganger som du vil beholde tilfeldig utgang til slutten av filen.
Du kan gjenta denne prosessen så mange ganger som du vil beholde tilfeldig utgang til slutten av filen.

Alternativ to: Skriv ut utdata normalt og omdirigere det til en fil

Du kan kanskje ikke omdirigere utdata med

>

eller

>>

operatører, da du ikke ser utgangen av kommandoen i terminalen. Det er det som

tee

kommandoen er for. T-kommandoen skriver ut inngangen den mottar på skjermen og lagrer den til en fil samtidig.

Å pipe utgangen av en kommando til

tee

skriv den ut på skjermen og lagre den i en fil, bruk følgende syntaks:

command | tee /path/to/file

Dette vil erstatte alt i filen med utgangen av kommandoen, akkurat som

>

operatør.

Å pipe utgangen av en kommando til
Å pipe utgangen av en kommando til

tee

skriv ut til din skjerm og lagre den i en fil, men legg den til slutten av filen:

command | tee -a /path/to/file

Dette vil legge til utgangen til slutten av filen, akkurat som

>>

operatør.

Anbefalt: