Sådan gemmer kommandolinjeproduktion til fil på Windows, Mac og Linux

  • Peter Holmes
  • 0
  • 2538
  • 332
Reklame

Når du kører en kommando i et terminalvindue, udskrives kommandoens output normalt til terminalen eller 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 output omdirigering på kommandolinjen.

I dag vil vi dække, 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 40+ Mest anvendte Linux Terminal kommandoer 40+ Mest brugte Linux Terminal kommandoer Uanset om du lige er i gang eller bare er nysgerrig efter Linux-terminal, her er de mest almindelige kommandoer, der vil føre dig gennem hele din tid på Linux. og i den nye bash shell i Windows 10 En hurtig guide til Linux Bash Shell i Windows 10 En hurtig guide til Linux Bash Shell i Windows 10 Du kan nu køre Linux på Windows. Lær mere om Bash på Windows, fra hvordan og hvorfor du skal installere det, til skjulte funktioner, som du sandsynligvis ikke vidste om. .

Omdiriger output til kun en fil

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

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

Bemærk til mig selv: Når du omdirigerer et shell-script-output til en fil, vises det ikke på konsollen :-) #StupidMe

- Xavier Mertens? (@xme) 5. august 2017

For at omdirigere output fra en kommando til en fil, skriv kommandoen, angiv > eller den >> operatør, og angiv derefter stien til en fil, du vil udgangen omdirigeret til. For eksempel viser kommandoen ls filer og mapper i det aktuelle bibliotek. Når du kører følgende kommando, skrives listen over filer og mapper til ls_output.txt fil i TerminalOutput folder.

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

ls> / sti / til / fil

Dette er kommandoen til vores eksempel.

ls> /Users/lorikaufman/TerminalOutput/ls_output.txt

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

kat / sti / til / fil

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 af en kommando til slutningen af ​​den specificerede 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 oprettede ovenfor. Så i den følgende linje, uname -a er kommandoen, efterfulgt af >> omdirigeringsoperatør. Derefter den fulde sti til den fil, som vi vil tilføje output fra uname kommando.

Det --en 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 den fulde sti til din fil.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

Gentag denne proces så mange gange, som du har brug for at fortsætte med at tilføje kommandoutput til slutningen af ​​filen.

Her er et andet eksempel på at sende output fra ls kommando som katalogtræ med underkataloger rekursivt anført ( R parameter) og en fil pr. linje (the 1 parameter).

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

Derefter bruger vi kat som tidligere nævnt for at få vist indholdet af filen i terminalvinduet.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Udskriv output til skærm og omdirigér det til en fil

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

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

Nerd alarm! I dag opdagede jeg kommandoen 'tee', som rør til både en fil og standard ud. Unix glæder sig fortsat. pic.twitter.com/aClIT8AdJB

- Zeke Sikelianos (@zeke) 29. august 2017

At bruge tee kommando, du skal pipe output fra den kommando, du kører, ligesom ls, til tee kommando, ved hjælp af røroperatøren, en lodret bjælke (|). For eksempel tager følgende kommando output fra ls kommando og rør det ind i tee kommando. Det tee kommandoen sender derefter output til skærmen og til en fil, du specificerer ved hjælp af den fulde sti til filen.

ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt

Ovenstående kommando erstatter alt indholdet i filen eller opretter et nyt, hvis det ikke findes, ligesom > operatør. Vi brugte følgende kat kommando til at se indholdet af vores fil i vinduet Terminal.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

At bruge tee kommando til at udskrive output til skærmen og tilføje den til slutningen af ​​en fil, indtast følgende kommando. Her tilføjer vi komplette systemoplysninger 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 katalogtræ 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 kommandoen igen for at se indholdet af filen.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

Men vent, der er mere

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

Mac-brugere bør også bogmærke vores Mac Terminal-kommandoer snydeark Mac-terminalkommandoerne Cheat Sheet Mac Terminal-kommandoerne Cheat Sheet Vores mega-snyderi med Mac-terminalkommandoer giver en god reference til alle de vigtige kommandoer, du skal vide. .




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.