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.
ls
kommandoens utgang. For eksempel,
cat
kommandoen skriver ut innholdet til en fil til terminalen:
cat /path/to/file
>
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:
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.
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.