Quando usi Linux, potresti imbatterti in riferimenti a "standard I/O" o "standard input", "standard output" e "standard error". Cosa significano questi termini?

Ingresso standard

L'input standard è un termine per l'input che riceve un programma basato su comandi. Nell'uso interattivo, normalmente proviene dalla tastiera, ma come vedrai in seguito, può anche provenire da un file.

Mentre la tastiera in questi giorni di solito è collegata direttamente alla macchina, quando i terminali di testo erano più comune, lo standard input è stato preso dalla tastiera del terminale collegata a un minicomputer centrale o mainframe. I moderni sistemi Linux utilizzano emulatori di terminale o la console di sistema per l'input standard.

Uscita standard

L'output standard, come l'input standard, è dove un programma invierà il suo output di testo. Di nuovo, questo è tipicamente un emulatore di terminale sui sistemi moderni, ma in passato era anche su terminali fisici, con schermi CRT o stampati su carta utilizzando telescriventi.

instagram viewer

I terminali di telescrivente erano più comuni quando il predecessore di Linux, Unix, veniva sviluppato presso i Bell Labs alla fine degli anni '60 e all'inizio degli anni '70.

Imparentato: Perché i comandi di Linux sono così brevi? La storia dei comandi di Linux

Come lo standard input, puoi anche reindirizzare lo standard output a un file.

Errore standard

L'errore standard viene solitamente utilizzato per qualsiasi messaggio di errore che un programma può generare. Come con l'output standard, di solito viene visualizzato sullo schermo ma può anche essere reindirizzato a un file o a un dispositivo a blocchi come /dev/null.

Come reindirizzare input e output su Linux

Una delle caratteristiche più potenti dei sistemi Linux e Unix è la capacità di reindirizzare input e output a file e altri programmi.

Il metodo più utilizzato consiste nell'inviare l'output da un comando a un altro o una "pipeline". Per esempio, per vedere quanti comandi Linux hanno "sh" nel nome, puoi reindirizzare l'output del comando ls con grep.

ls /bin | grep 'sh'

Per reindirizzare l'output da un comando a un file, utilizzare il > operatore. Ad esempio, per inviare l'output di il comando ls in un nome di file elenco file:

ls > elenco file

Il >> L'operatore aggiunge l'output a un file esistente o lo crea se non esiste. Per evitare di sovrascrivere accidentalmente un file, puoi impostare l'opzione "noclobber" in Bash:

impostare noclobber

Puoi anche fare in modo che un programma prenda input da un file con il < operatore. Il programma cat può stampare il contenuto di un file prendendo input dal file e inviando l'output allo standard output.

gatto < file

Ovviamente puoi semplicemente usare cat e specificare il percorso del file come argomento, ma questo è solo un esempio.

È possibile reindirizzare l'errore standard utilizzando un descrittore di file o un numero che rappresenta una delle forme di I/0 standard. Con i descrittori di file, 0 è l'input standard, 1 è l'output standard e 2 è l'errore standard. La sintassi in Bash è [descrittore di file]>. È utile reindirizzare l'errore standard a /dev/null per eliminare gli errori:

linux_command 2> /dev/null

Puoi reindirizzare sia l'output standard che l'input contemporaneamente con &>, utile se devi inviare un'e-mail o un post sul forum descrivendo un problema che stai riscontrando con un programma:

linux_command &> file

L'I/O standard funziona ovunque

Anche con gli ambienti grafici oggi disponibili, l'I/O standard rimane importante perché è ancora l'interfaccia universale, dal desktop al server al mobile, essendo basata su testo ASCII.

Che cos'è il testo ASCII e come viene utilizzato?

Il testo ASCII sembra criptico, ma ha molti usi su Internet.

Leggi Avanti

CondividereTweetE-mail
Argomenti correlati
  • Linux
  • La tecnologia spiegata
  • Linux elementare
  • Linux Bash Shell
Circa l'autore
David Delony (62 articoli pubblicati)

David è uno scrittore freelance con sede nel nord-ovest del Pacifico, ma originario della Bay Area. Appassionato di tecnologia fin dall'infanzia. Gli interessi di David includono la lettura, la visione di programmi TV e film di qualità, i giochi retrò e il collezionismo di dischi.

Altro da David Delony

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti