Поскольку последний вопрос заключается в том, существуют ли специальные места, в которых обычно не может быть файла, например, в каталоге / dev, указанном в POSIX, тогда ответом будет YES .
Полный список заранее определенных файлов и каталогов приведен в главе 10, POSIX Структура каталогов и устройств, в IEEE Open Group Base спецификации Выпуск 6 :
Следующие каталоги должны существовать в соответствующих системах, и соответствующие приложения должны использовать их только так, как описано. Строго соответствующие приложения не должны создавать файлы в любом из этих каталогов, если это не указано ниже.
/
Корневой каталог.
/ dev
Содержит / dev / console, / dev / null и / dev / tty, описанные ниже.
Следующий каталог должен существовать в соответствующих системах и должен использоваться как описано:
/ tmp
Каталог, доступный для приложений, которым требуется место для создания временных файлов. Приложениям разрешается создавать файлы в этом каталоге, но не следует предполагать, что такие файлы сохраняются между вызовами приложения.
Следующие файлы должны существовать в соответствующих системах и должны быть доступны для чтения и записи:
/ dev / null
Бесконечный источник данных и приемник данных. Данные, записанные в / dev / null, должны быть отброшены. Чтение из / dev / null всегда должно возвращать конец файла (EOF).
/ dev / tty
В каждом процессе - синоним управляющего терминала, связанного с группой процессов этого процесса, если таковой имеется. Это полезно для программ или процедур оболочки, которые хотят быть уверены в записи сообщений или чтении данных с терминала, независимо от того, как перенаправлен вывод. Он также может использоваться для приложений, которые требуют имя файла для вывода, когда требуется типизированный вывод, и утомительно выяснять, какой терминал используется в настоящее время.
Следующий файл должен существовать в соответствующих системах и не должен быть доступен для чтения или записи:
/ dev / console
Файл / dev / console - это общее имя, данное системной консоли (см. Системная консоль). Обычно он связан с определенным реализацией специальным файлом. Он должен обеспечивать интерфейс к системной консоли, соответствующий требованиям тома Базовых определений стандарта IEEE Std 1003.1-2001, Глава 11, Общий интерфейс терминала.