Когда люди говорят: «В Unix все является файлом», они имеют в виду, что вещи, которые не являются файлами, рассматриваются как файлы.
Конечно, большинство операционных систем работают с файлами. Текстовые файлы, файлы изображений, звуковые файлы. Но не все операционные системы рассматривают устройства как файлы. Это важное различие. Если я перечислю содержимое своей папки / dev / в моей операционной системе Ubuntu (которая основана на Unix), я получу список из более чем 200 устройств. Некоторые из этих устройств являются аппаратными, но отображаются внутри папки. Например, жесткие диски, порты USB, мышь и клавиатура, аудиоустройства и принтеры и другие. Некоторые из устройств являются виртуальными, например / dev / urandom, который ведет себя как бесконечный файл, полный случайных чисел. Это не настоящий файл на моем жестком диске.
Все эти устройства рассматриваются как файлы. Я могу читать данные с этих устройств и / или записывать их. Здесь приведены примеры копирования данных с разных устройств на аудиоустройство. Это возможно, потому что они рассматриваются как файлы. Результатом (отвратительным) является способность прослушивать содержимое жесткого диска, движение мыши, память компьютера или пиксели изображения. Этого было бы гораздо труднее достичь, если бы устройства не рассматривались как файлы, потому что каждому устройству потребовались бы разные методы для чтения и записи данных.
При этом, что означает «все», варьируется от системы к системе. Например, OS X основана на Unix, но не имеет устройства / dev / audio. Он использует собственную аудиосистему под названием CoreAudio. Так что в этом случае можно сказать «почти все - файл». Затем в таких системах, как Windows, где «все не является файлом», вы все равно можете делать такие вещи, как копирование содержимого файла на порт принтера (печатая что-то вроде copy mydocument.txt >lpt1:
), что аналогично копированию документа на устройство принтера в Unix. системы.
Другие операционные системы, такие как Windows и OS X, не работают с файлами? Да, они делают. Windows и OS X работают с файлами, но Windows не рассматривает устройства как файлы, что является частью того, что означает «все является файлом».