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
Udskriv output til skærm og omdiriger det til en fil
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 diskpladsHar 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
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 KaufmanAbonner 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