Compare esto con, por ejemplo, un archivo de base de datos. Un archivo de base de datos tiene una estructura definida (tablas, filas, columnas, tipos de datos) que el Sistema de gestión de bases de datos (DBMS) lo entiende y se aplica. El DBMS sabe cómo interpretar los bytes en el archivo de acuerdo con este esquema.
Un archivo sin estructuras en UNIX tiene * no * dicha interpretación predefinida impuesta por el sistema operativo. Depende de la aplicación que crea y lee el archivo para determinar cómo interpretar la secuencia de bytes. Es por eso que diferentes programas pueden usar el mismo archivo de maneras completamente diferentes.
Por ejemplo:
* Un archivo de texto: La aplicación (como un editor de texto) interpreta a los bytes como caracteres de acuerdo con una codificación de caracteres (como UTF-8 o ASCII). Sin embargo, el sistema operativo no sabe su texto; Solo ve una secuencia de bytes.
* Un archivo binario (por ejemplo, una imagen o ejecutable): Los bytes representan datos de píxeles, instrucciones de la máquina u otra información no textual. Nuevamente, el sistema operativo no entiende la estructura interna; La aplicación apropiada (visor de imágenes, cargador de programa) lo hace.
La flexibilidad de los archivos sin estructuras es un aspecto clave de la filosofía de Unix. Permite diversas aplicaciones y evita vincular los formatos de archivo al sistema operativo en sí. La interpretación se deja completamente a las aplicaciones.