Директория - это special file. Очевидно, что, именно поэтому, она не читается при помощи read.
А почему это всякие разные special files, ну, например, /dev/null, /dev/fb*, /dev/input/event* и т.д, читаются при помощи read?
Это никак не отменяет того факта что директория это файл.
Читать нельзя, писать нельзя, очень полезный файл. А что такое файл, кстати?

Ну да, не могу использовать read/write, чтобы читать/изменять каталог.