Lorsque les gens disent "Sous Unix, tout est un fichier", ils veulent dire que les choses qui ne sont pas des fichiers sont également traitées comme des fichiers.
Bien sûr, la plupart des systèmes d'exploitation fonctionnent avec des fichiers. Fichiers texte, fichiers image, fichiers son. Mais tous les systèmes d'exploitation ne traitent pas les périphériques comme des fichiers. C'est une différence importante. Si je répertorie le contenu de mon dossier /dev/ dans mon système d'exploitation Ubuntu (qui est basé sur Unix), j'obtiens une liste de plus de 200 périphériques. Certains de ces périphériques sont du matériel, mais sont présentés dans un dossier. Par exemple, les disques durs, les ports USB, la souris et le clavier, les périphériques audio et les imprimantes, entre autres. Certains de ces périphériques sont virtuels, par exemple /dev/urandom, qui se comporte comme un fichier infini rempli de nombres aléatoires. Ce n'est pas un fichier réel sur mon disque dur.
Tous ces dispositifs sont traités comme des fichiers. Je peux lire des données à partir de ces périphériques et/ou y écrire des données. Voici quelques exemples de copier des données de différents appareils dans l'appareil audio. Cela est possible parce qu'elles sont traitées comme des fichiers. Le résultat (geek) est la possibilité de écouter au contenu du disque dur, au mouvement de la souris, à la mémoire de l'ordinateur ou aux pixels d'une image. Cela serait beaucoup plus difficile à réaliser si les dispositifs n'étaient pas traités comme des fichiers, car chaque dispositif nécessiterait des méthodes différentes pour lire et écrire les données.
Cela dit, ce que signifie "tout" varie d'un système à l'autre. Par exemple, OS X est basé sur Unix, mais ne possède pas de périphérique /dev/audio. Il utilise un système audio propriétaire appelé CoreAudio. Dans ce cas, on pourrait donc dire que "presque tout est un fichier". Ensuite, dans des systèmes comme Windows, où "tout n'est pas un fichier", vous pouvez toujours faire des choses comme copier le contenu d'un fichier sur un port d'imprimante (en tapant quelque chose comme copy mydocument.txt >lpt1:
), ce qui est similaire à la copie d'un document sur le périphérique d'impression dans les systèmes Unix.
Les autres systèmes d'exploitation tels que Windows et OS X ne fonctionnent-ils pas sur les fichiers ? Si, ils le font. Windows et OS X fonctionnent sur des fichiers, mais Windows ne traite pas les périphériques comme des fichiers, ce qui fait partie de la signification de "tout est un fichier".