Les systèmes d'exploitation permettent aux utilisateurs, ainsi qu'aux développeurs de logiciels, d'accéder à un fichier dans un système de fichiers grâce à une norme de nommage et le manipuler conformément à une API.
L'API de base inaugurée par UNIX considère les fichiers comme plats, sans structure et ne gère pas le tamponnage niveau utilisateur. L'API de base ne permet guère plus que de définir une position courante, de lire ou écrire. On peut aussi tronquer ou étendre un fichier. À ce niveau un fichier n'est donc qu'une séquence d'octets.
C'est le rôle d'API de plus haut niveau que de se spécialiser pour différents types de fichiers. La simplification de l'API permet de considérer comme fichiers des entités qui n'appartiennent pas nécessairement à un système de fichiers (canaux d'entrées sortie, mémoire vive) et de manipuler ces entités de manière homogène.
Cela est à contraster avec des systèmes de générations précédentes avec des API spécialisées pour chaque composant physique ou imposant des structures aux fichiers sur disque (adressage séquentiel indexé par exemple)
Exemple :
- sous Windows :
- C:\WINNT\system\sys.ini - désignation absolue du fichier sys.ini se trouvant dans le répertoire C:\WINNT\system\ ;
- sys.ini - désignation relative du fichier sys.ini, lorsque l'utilisateur se trouve dans le répertoire C:\WINNT\system\.
- sous Unix :
- /var/spool/mail/r4f - désignation absolue du fichier r4f se trouvant dans le répertoire /var/spool/mail ;
- mail/r4f - désignation relative du fichier r4f se trouvant dans le sous-répertoire mail, lorsque l'utilisateur se trouve dans le répertoire /var/spool/.
Une fois le fichier désigné, on peut le soumettre à un logiciel, afin qu'il le manipule. Certains outils sont destinés à gérer l'emplacement des fichiers (déplacement, nommage, copie), d'autres gèrent le contenu des fichiers afin que l'utilisateur puisse les modifier ou simplement les consulter.