4Sep

Sådan Gem Output af en kommando til en fil i basen( også Linux og MacOS Terminal)

click fraud protection

Når du kører en kommando ved bash-prompten, udskriver den normalt udgangen af ​​den kommando direkte til terminalen, så du kan læse den med det samme. Men bash giver dig også mulighed for at "omdirigere" output fra en kommando, gemme den til en tekstfil, så du kan gennemgå produktionen senere.

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

Option One: Omdirigere output til en fil kun

Hvis du vil bruge bash omdirigering, kører du en kommando, angiv & gt;eller & gt; & gt;operatør, og angiv derefter stien til en fil, som du vil omdirigere outputen til.

  • & gt;omdirigerer output fra en kommando til en fil, erstatter det eksisterende indhold af filen.
  • & gt; & gt;omdirigerer output fra en kommando til en fil og tilføjer output til det eksisterende indhold af filen.

Teknisk omdirigerer denne "stdout" -standarden output, som er skærmen til en fil.

Her er et simpelt eksempel. Kommandoen ls lister filer og mapper i den aktuelle mappe. Så.Når du kører følgende kommando, vil jeg liste filer og mapper i den aktuelle mappe. Men det vil ikke udskrive dem på skærmen. Det gemmer dem til den fil, du angiver.

instagram viewer

ls & gt;/path/to/-fil

Du behøver ikke at angive stien til en eksisterende fil. Angiv en gyldig sti og bash vil oprette en fil på den pågældende placering.

Hvis du ser indholdet af filen, kan du se kommandoen ls kommandoen. Katten kommandoen udskriver f.eks. Indholdet af en fil til terminalen:

cat /path/to/-fil

Husk, at & gt;operatør erstatter det eksisterende indhold af filen med udgangen af ​​kommandoen. Hvis du vil gemme output fra flere kommandoer til en enkelt fil, skal du bruge & gt; & gt;operatør i stedet. F.eks. Vil den følgende kommando tilføje systemoplysninger til filen du angiver:

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

Hvis filen ikke allerede eksisterer, vil bash oprette filen. Ellers vil bash forlade det eksisterende indhold af filen alene og tilføje output til slutningen af ​​filen.

Når du ser indholdet af filen, vil du se resultaterne af din anden kommando blev tilføjet til slutningen af ​​filen:

Du kan gentage denne proces så mange gange, som du kan lide at holde vedhæftede output til slutningen af ​​filenfil.

Mulighed to: Udskriv output normalt og omdirigere det til en fil

Du kan muligvis ikke omdirigere output med & gt;eller & gt; & gt;operatører, da du ikke vil se output af kommandoen i terminalen. Det er, hvad tee-kommandoen er til. T-kommandoen udskriver den indgang, den modtager til skærmen og gemmer den til en fil på samme tid.

Hvis du vil pipere udgangen af ​​en kommando til en tee, udskrive den på din skærm og gemme den til en fil, skal du bruge følgende syntaks:

-kommando |tee /path/to/-fil

Dette vil erstatte alt i filen med udgangen af ​​kommandoen, ligesom & gt;operatør.

For at rør udgangen af ​​en kommando til tee, udskrives til på skærmen og gemmer den til en fil, men tilføjer den til slutningen af ​​filen:

kommando |tee-en /path/to/-fil

Dette tilføjer output til slutningen af ​​filen, ligesom & gt; & gt;operatør.

Den bash shell indeholder nogle ekstra avancerede operatører, der udfører lignende funktioner. De vil være særligt nyttige, hvis du skriver bash scripts. Se kapitlet I / O omdirigering i Advanced Bash-Scripting Guide for mere detaljerede oplysninger.