Sådan gemmes kommandolinjens output til fil på Windows, Mac og Linux

Sådan gemmes kommandolinjens output til fil på Windows, Mac og Linux

Når du kører en kommando i et terminalvindue, udskrives kommandoen normalt på terminalen eller på skærmen, så du kan læse den med det samme. Du kan også udskrive output fra en kommando til en fil, hvis du vil gemme den.





Det er nyttigt at gemme output fra en kommando i en fil, hvis du prøver at diagnosticere et problem. For at få hjælp fra teknisk support skal du muligvis køre visse kommandoer på din computer og sende resultaterne til supportteamet. Dette er let ved hjælp af outputomdirigering på kommandolinjen.





I dag dækker vi, hvordan man sender output fra en kommando til en tekstfil i bash -shell på Windows, Mac og Linux.





Bemærk: Vi bruger Mac Terminal i vores eksempel, men det fungerer på samme måde i bash -shell på Linux og i ny bash shell i Windows 10 .

Omdiriger output til kun en fil

Der er to operatører til at omdirigere output fra en kommando til en fil i stedet for skærmen.



Det > symbol opretter en ny fil, hvis den ikke findes, eller overskriver filen, hvis den allerede findes. Det >> opretter også en ny fil, hvis den ikke findes, men den tilføjer teksten til slutningen af ​​filen, hvis den allerede findes, frem for at overskrive filen.

For at omdirigere output fra en kommando til en fil skal du indtaste kommandoen, angive > eller den >> operatør, og angiv derefter stien til en fil, du vil sende output til. For eksempel ls kommandoen ls filer og mapper i det aktuelle bibliotek. Når du kører følgende kommando, bliver listen over filer og mapper skrevet til ls_output.txt fil i Terminaludgang folder.





Erstatte /sti/til/fil med den fulde sti til den fil, du vil bruge.

ls > /path/to/file

Dette er kommandoen til vores eksempel.





software reparationsværktøj til windows 10
ls > /Users/lorikaufman/TerminalOutput/ls_output.txt

Hvis du vil se filens indhold i vinduet Terminal, skal du bruge kat kommando som vist i den følgende kommando. Igen, udskift /sti/til/fil med den fulde sti til den fil, du vil se.

cat /path/to/file

Det > operator erstatter indholdet af en eksisterende fil, hver gang du bruger den til at omdirigere output. Hvis du vil gemme output fra flere kommandoer til en enkelt fil, skal du bruge >> operatør i stedet. Dette tilføjer output fra en kommando til slutningen af ​​den angivne fil, hvis den allerede findes. Hvis filen ikke findes, opretter den en ny.

For eksempel tilføjer vi systemoplysninger til slutningen af ​​den fil, vi har oprettet ovenfor. Så i følgende linje, uname -a er kommandoen efterfulgt af >> omdirigeringsoperatør. Derefter den fulde sti til den fil, som vi vil føje output til uname kommando.

Det -til parameter i uname kommando udskriver alle tilgængelige systemoplysninger.

uname -a >> /Users/lorikaufman/TerminalOutput/ls_output.txt

Hvis du vil se filen med de vedhæftede oplysninger i terminalvinduet, skal du indtaste følgende kommando med hele stien til din fil.

Der opstod et problem med at nulstille din pc
cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Gentag denne proces så mange gange som du har brug for at beholde kommandoutput til slutningen af ​​filen.

Her er et andet eksempel på at sende output fra ls kommando som bibliotekstræ, med undermapper opført rekursivt ( R parameter) og en fil pr. linje ( 1 parameter).

ls -1R > /Users/lorikaufman/TerminalOutput/dir_tree.txt

Derefter bruger vi kat kommando, som tidligere nævnt for at få vist filens indhold i vinduet Terminal.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Det > og >> operatører viser ikke output fra en kommando på skærmen. Outputtet sendes kun til en fil.

Hvis du vil sende output til en fil og se den på skærmen, skal du bruge tee kommandoen i stedet for > og >> operatører.

At bruge tee kommando skal du rør output fra den kommando, du kører, som ls , til tee kommando, ved hjælp af røroperatøren, en lodret stang ( | ). For eksempel tager følgende kommando output fra ls kommando og rør det ind i tee kommando. Det tee kommando sender derefter dette output til skærmen og til en fil, du angiver ved hjælp af hele stien til filen.

hvordan man tjekker abonnenter på youtube
ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt

Ovenstående kommando erstatter alt indhold i filen eller opretter en ny, hvis den ikke findes, ligesom > operatør. Vi brugte følgende kat kommando for at se indholdet af vores fil i terminalvinduet.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

At bruge tee kommando for at udskrive output til skærmen og tilføje det til slutningen af ​​en fil, skal du indtaste følgende kommando. Her tilføjer vi fuld systeminformation til slutningen af ​​filen ved hjælp af uname -a kommando, ligesom vi gjorde med >> operatør, men sender også output til skærmen.

uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt

Følgende kommando er tee version af udskrivning af et biblioteketræ rekursivt til en fil og til skærmen, en fil på hver linje, ligesom vi gjorde med > operatør.

ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt

Derefter bruger vi kat kommando igen for at se filens indhold.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Men vent, der er mere

Der er mange flere måder at omdirigere output, herunder fejl, til en fil. Du kan læse om de forskellige operatører og kommandoer, der bruges til at omdirigere output i I/O -omdirigeringskapitel i Advanced Bash Scripting Guide .

Mac -brugere bør også bogmærke vores Mac Terminal -kommandoer snyder ark .

Del Del Tweet E -mail Slet disse Windows -filer og mapper for at frigøre diskplads

Har du brug for at rydde diskplads på din Windows -computer? Her er Windows -filer og mapper, der sikkert kan slettes for at frigøre diskplads.

Læs Næste
Relaterede emner
  • Linux
  • Mac
  • Windows
  • Terminal
  • Linux Bash Shell
Om forfatteren Lori Kaufman(62 artikler udgivet)

Lori Kaufman er freelance teknisk forfatter, der bor i Sacramento, CA -området. Hun er en gadget og teknisk nørd, der elsker at skrive vejledningsartikler om en lang række emner. Lori elsker også at læse mysterier, korssting, musikteater og Doctor Who. Få kontakt med Lori på LinkedIn .

Mere fra Lori Kaufman

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere