Faire un stracede tail -f, il explique tout. La partie intéressante:
13791 fstat(3, {st_mode=S_IFREG|0644, st_size=139, ...}) = 0
13791 fstatfs(3, {...}) = 0
13791 inotify_init() = 4
13791 inotify_add_watch(4, "/path/to/file", IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = 1
13791 fstat(3, {st_mode=S_IFREG|0644, st_size=139, ...}) = 0
13791 read(4, 0xd981c0, 26) = -1 EINTR (Interrupted system call)
Ce qu'il fait? Il configure un inotifygestionnaire du fichier, puis attend que quelque chose se produise avec ce fichier. Si le noyau dit à tailtravers ce gestionnaire inotify, que le fichier a changé (normalement, a été ajouté), alors tail1) cherche 2) lit les modifications 3) les écrit à l'écran.
/proc/3844/fd/1sur votre système est un lien symbolique vers /dev/pts/14, qui est un périphérique de caractères. Il n'y a rien de tel que certains comme une "carte mémoire", qui pourrait être accessible par cela. Ainsi, il n'y a rien dont les modifications pourraient être signées dans l'inotify, car il n'y a pas de zone de disque ou de mémoire accessible par cela.
Ce périphérique de caractères est un terminal virtuel, qui fonctionne pratiquement comme s'il s'agissait d'une prise réseau. Les programmes exécutés sur ce terminal virtuel se connectent à cet appareil (comme si vous vous connectiez telnet à un port tcp) et écrivent dans quoi ils veulent écrire. Il y a aussi des choses plus complexes, par exemple le verrouillage de l'écran, les séquences de contrôle de terminal et autres, celles-ci sont normalement gérées par des ioctl()appels.
Je pense que vous voulez en quelque sorte regarder un terminal virtuel. Cela peut être fait sur linux, mais ce n'est pas si simple, il a besoin de certaines fonctionnalités de type proxy réseau et d'un peu d'utilisation délicate de ces ioctl()appels. Mais il existe des outils qui peuvent le faire.
Actuellement, je ne me souviens pas quel paquet Debian a l'outil pour atteindre cet objectif, mais avec un peu de recherche sur Google, vous pourrez probablement le trouver facilement.
Extension: comme @Jajesh l'a mentionné ici (donnez-lui un +1 si vous me l'avez donné), l'outil est nommé watch.
Extension # 2: @kelnos a mentionné, un simple cat /dev/pts/14était également suffisant. J'ai essayé cela, et oui, cela a fonctionné, mais pas correctement. Je n'ai pas beaucoup expérimenté avec cela, mais il me semble que si une sortie entrant dans ce terminal virtuel est allée soit à la catcommande, soit à son emplacement d'origine, et jamais aux deux. Mais ce n'est pas sûr.