In ambiente Linux si afferma che ogni cosa è un file (everything is a file). Oltre ai file in senso stretto (testi, immagini, suoni, filmati, ...) sono considerati file anche i dispositivi: tastiera, terminale, stampanti, lettori cd/dvd, e così via.
Alcuni di questi dispositivi sono considerati così importanti che risultano già predefiniti ed identificati tramite un codice numerico (descrittore). La tastiera ed il terminale sono due di questi dispositivi.
- Lo Standard Input (STDIN), tipicamente la tastiera, è un 'file' che permette ad un programma di ottenere in ingresso un flusso di dati testuali. Il programma li acquisisce effettuando delle operazioni di lettura. Il flusso di input, salvo i casi di redirezione, proviene dal terminale da cui il programma è stato avviato.
Il codice, detto anche descrittore, associato a tale file (standard input) è 0. In linguaggio macchina viene spesso definito come una costante, tramite la riga seguente:
%define STDIN 0
- Lo Standard Output (STDOUT), tipicamente il terminale, è il 'file' su cui un programma scrive i suoi dati in uscita. Il programma trasferisce i dati effettuando delle operazioni di scrittura. Il flusso di output, salvo i casi di redirezione, è diretto al terminale da cui il programma è stato avviato.
Il codice, detto anche descrittore, associato a tale file (standard output) è 1. In linguaggio macchina viene spesso definito come una costante, tramite la riga seguente:
%define STDOUT 1
- Lo Standard Error (STDERR), tipicamente il terminale, è un altro 'file' di output, usato dai programmi per i messaggi d'errore o di diagnostica. Si tratta di un canale indipendente dallo Standard Output, e se ne può effettuare la redirezione separatamente dagli altri. La sua destinazione è solitamente il terminale da cui il programma è stato avviato, in modo da rendere massime le possibilità di essere visto anche quando lo standard output è diretto altrove. Di norma lo Standard Output e lo Standard Error hanno la stessa destinazione: il terminale testuale.
Il codice, detto anche descrittore, associato a tale file (standard error) è 2. In linguaggio macchina viene spesso definito come una costante, tramite la riga seguente:
%define STDERR 2