Liten Datorhandbok För Målmedvetna

Academic Computer Club, Umeå Universitet, 2000


UNIX


Stdin/stdout-begreppet och omdirigering av data

De flesta UNIX-kommandon använder sig av något man kallar "standard input" (stdin) och "standard output" (stdout) för in- och utmatning av data. Normalt sett är stdout ditt terminalfönster och stdin är ofta den fil som du angett som argument till kommandot. Stdin och stdout är helt enkelt var kommandona tar sina indata respektive skickar utdata om du inte anger annat. Dock möjliggörs omdirigering av dessa dataströmmar av de kommandoskal som används. I tabellen nedan visas hur du kan manipulera dataflödet.

TeckenEffekt
> filSkriver stdout till fil.
>! filSom ovan, men skriver över fil om den redan existerar.
>> filLägger till stdout i slutet på fil.
< filTar stdin från fil (för kommandon som inte tar filnamn som argument).

Exempel på omdirigering
% cal 9 1996 > september.txt
Skriver kalendern för september 1996 till filen september.txt.

% ls -la >! september.txt
Skriver kataloglistningen för aktuell katalog till filen september.txt oavsett vad som finns i filen från början.

% cal 10 1996 >> september.txt
Lägger till kalendern för oktober 1996 i slutet på filen september.txt.

Pipor

En annan, mycket användbar, manipulering av dataströmmen mellan kommandon är pipor. Pipor innebär att man tar stdout från ett kommando och matar det till ett annat kommandos stdin. För att skapa en pipa används tecknet |.

Till exempel kan man visa filen textfil.txt med följande kommando: cat textfil.txt | less. Detta är förvisso att gå över ån efter vatten då kommandot less textfil.txt gör samma sak. Detta lilla exempel ger ett hum om hur pipor fungerar.

Pipor är väldig kraftfulla då många UNIX-kommandon är väldigt specialiserade. Detta leder till att du ofta använder flera små kommandon för att åstadkomma det du vill, och det smidigaste sättet är då att använda pipor för överföringen av data mellan kommandona. Uppbygganden med många små kommandon som kan en sak istället för få stora, mångkunniga, program leder till stor flexibilitet, men det blir tyvärr också svårare att komma igång med.

Författat av Tomas Byström


Bakåt , Framåt , Upp, Huvudsida
Denna sida ändrades sist av handbok den 21/08 1996 12:36:37.
Last modified Wednesday, 21-Aug-1996 12:36:37 CEST