Qu’est-ce que / dev / tty dans UNIX?

Les descripteurs de fichiers stdin et stdout pointent tous les deux vers lui. Comment ça marche? Quelqu’un peut-il désigner une bonne ressource pour comprendre les terminaux UNIX et les appels système qui interagissent avec lui.

dev/tty est un object du système de fichiers qui représente la console actuelle. La copie de fichiers dans ce “répertoire” à partir de la ligne de commande affiche le contenu de ces fichiers sur votre console:

 cp myfile.txt /dev/tty 

est équivalent à

 cat myfile.txt 

Ces objects sont là pour vous permettre d’utiliser les API de fichiers familières pour interagir avec la console. C’est un moyen astucieux d’unifier l’API de la console avec l’API de fichier. Vous pouvez utiliser fopen , fprintf , etc. pour interagir avec la console de la même manière que vous interagissez avec les fichiers standard.

Cet exemple écrit "Hello, world\n" au terminal:

 #include  int main (int argc, const char * argv[]) { FILE *f = fopen("/dev/tty", "w"); fprintf(f, "Hello, world!\n"); return 0; }