eller >> , och Ange sedan sökvägen för en fil som du vill att produktionen omdirigeras till.">
När du kör ett kommando vid bash-prompten skriver det normalt utdata från det Kommandot direkt till terminalen så att du kan läsa den direkt. Men bash tillåter dig också att "omdirigera" resultatet av ett kommando, spara det till en textfil så att du kan granska produktionen senare.
Detta fungerar i bash på alla operativsystem, från Linux och MacOS till Windows 10: s Ubuntu-
Om du vill använda bash-omdirigering kör du ett kommando, anger operatören>
eller>>
, och Ange sedan sökvägen för en fil som du vill att produktionen omdirigeras till.
>
omdirigerar utmatningen av ett kommando till en fil och ersätter det befintliga innehållet i filen.>>
omdirigerar utgången av ett kommando till en fil, lägger till utgången till det befintliga innehållet i filen.Tekniskt omdirigerar denna "stdout" -standardutgången, vilken är skärmen till en fil.
Här är ett enkelt exempel. Kommandotls
listar filer och mappar i den aktuella katalogen. Så. När du kör följande kommando kommerls
att lista filer och mappar i den aktuella katalogen. Men det kommer inte att skriva ut dem på skärmen. Det sparar dem till filen du anger.
ls> / path / to / file
Du behöver inte ange sökvägen till en befintlig fil. Ange någon giltig sökväg och bash kommer att skapa en fil på den platsen.
Om du ser innehållet i filen ser du kommandotls
. Exempelvis skriver kommandotcat
innehållet i en fil till terminalen:
cat / path / to / file
Kom ihåg att operatören
ersätter det befintliga innehållet av filen med utgången av kommandot. Om du vill spara utdata från flera kommandon till en enda fil, använder du operatören>
istället. Till exempel kommer följande kommando lägga till systeminformation till filen du anger:>>
uname -a >> / path / to / file
Om filen inte existerar kommer bash att skapa filen. Annars kommer bash att lämna det befintliga innehållet i filen ensam och lägga till utgången till slutet av filen.
När du tittar på innehållet i filen ser du resultaten av ditt andra kommando bifogades till slutet av filen:
Du kan upprepa denna process så många gånger som du vill behålla tilläggsutmatningen till slutet av filen.
Du kanske inte som omdirigering av utmatningen med operatörerna>
eller>>
, eftersom du inte ser utmatningen av kommandot i terminalen. Det är vad kommandottee
är för. Tee-kommandot skriver ut den inmatning som den tar emot på skärmen och sparar den till en fil samtidigt.
För att leda utmatningen från ett kommando tilltee
, skriv ut det till din skärm och spara den i en fil, använd följande syntax:
kommando | tee / path / to / file
Detta kommer att ersätta allt i filen med kommandoens utmatning, precis som operatören>
.
För att leda utmatningen av ett kommando tilltee
, skriv ut till din skärm och spara den till en fil, men lägg till den i slutet av filen:
kommando | tee -a / path / to / file
Detta kommer att lägga till utgången till slutet av filen, precis som operatören>>
.
RELATED: Beginners Guide to Shell Scripting: Grunderna
Bash-skalet innehåller några ytterligare avancerade operatörer som utför liknande funktioner. De kommer att vara särskilt användbara om du skriver bash-skript. Se kapitel I / O-omdirigering i Advanced Bash-Scripting Guide för mer detaljerad information.
Grunderna RELATED: Windows 10 Innehåller en Linux-stilpakethanterare som heter "OneGet" Homebrew är en pakethanterare som är utformad för att installera UNIX-verktyg och andra open source-program på Mac OS X. Den hämtar och installerar dem snabbt och sammanställer dem från källan. Homebrew Cask förlänger Homebrew med stöd för att installera binära appar - det slag du normalt drar till mappen Applications från DMG-filer.
Hur man trycker på "Infoga" på ett tangentbord utan en infällningsnyckel?
Hitta ett tangentbord som har alla funktioner du vill ha kan vara lite av en uppgift ibland, men vad gör gör du när ditt valda tangentbord inte har en viss men ändå nyckeln nybyggd? Dagens SuperUser Q & A-post har lösningen på en läsarens tangentbordsp dilemma. Dagens Frågesvar-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.