Terminal-invoer en -uitvoer omleiden op de Mac
Vanaf de commandoregel kun je de invoer en uitvoer van een commando omleiden naar een bestand of naar een ander commando.
Kies voor het omleiden van de uitvoer als je de resultaten van een commando voor later gebruik wilt opslaan in een bestand. Omgekeerd kun je invoer uit een bestand omleiden naar een commando als je vooraf ingestelde invoergegevens wilt aanbieden aan het commando, in plaats van de gegevens handmatig in te voeren.
Gebruik de volgende tekens voor het omleiden van invoer en uitvoer:
Teken | Beschrijving | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
> | Gebruik een punthaakje sluiten om de uitvoer van een commando om te leiden naar een bestand. | ||||||||||
< | Gebruik een punthaakje openen om de inhoud van een bestand te gebruiken als invoer voor een commando. | ||||||||||
>> | Gebruik twee punthaakjes sluiten om de uitvoer van een commando toe te voegen aan een bestand. |
Daarnaast kun je de uitvoer van een commando gebruiken als de invoer voor een ander commando door een verticale streep (|) te typen. Dit teken wordt ook wel een pipe genoemd. Zo kun je commando's combineren om meer geavanceerde versies van dezelfde commando's te implementeren.
Met het volgende commando wordt bijvoorbeeld de opgemaakte inhoud van de man-pagina voor bash
doorgegeven aan de tool grep
, die vervolgens kijkt of in de inhoud regels voorkomen met het woord commands. Het resultaat is een lijst met regels die de opgegeven tekst bevatten, in plaats van de volledige man-pagina.
$ man bash | grep commands
Enkele voorbeelden van standaard-pipes:
stdin: De standaard-pipe voor invoer is de locatie waar een commando invoer ontvangt. Invoer wordt standaard ingevoerd op de commandoregelinterface. Je kunt echter ook uitvoer van bestanden of andere commando's omleiden naar stdin.
stdout: De standaard-pipe voor uitvoer is de locatie waarnaar de uitvoer van een commando wordt verstuurd. De uitvoer van een commando wordt standaard naar de commandoregel verstuurd. Je kunt de uitvoer echter ook van de commandoregel omleiden naar andere commando's en tools.
stderr: De standaard-pipe voor fouten is de locatie waarnaar foutberichten worden verstuurd. Fouten worden standaard samen met de standaarduitvoer weergegeven op de commandoregel.
Raadpleeg de man-pagina voor bash voor meer informatie over omleiding.