Почему ENOENT означает "Нет такого файла или каталога"?
Что означает ENT в ENOENT?
Не должно ли ошибка:
Нет такого файла или каталога
просто быть названным ENOFILE?
Есть какая-то история или причина?
Ответ 1
Это аббревиатура Error NO ENTry (или Error NO ENTity), и фактически может использоваться не только для файлов/каталогов.
Это сокращенно, потому что компиляторы C на заре времени не поддерживали более 8 символов в символах.
Ответ 2
Это просто "Нет такой записи в каталоге". Поскольку записи каталога могут быть каталогами или файлами (или символическими ссылками, или сокетами, или каналами или устройствами), имя ENOFILE было бы слишком узким по своему значению.