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 :
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.
Afin de repérer le format interne d'un fichier, et donc de choisir le logiciel permettant d'exploiter son contenu, il est d'usage de lui donner un suffixe de fichier, souvent désigné par le terme extension. Il s'agit simplement d'un ensemble de caractères conventionnels identifiant un format de document et placé après un point à la fin du nom du fichier. Dans certains cas il est possibles d'enchainer plusieurs suffixes de fichier.
Par exemple : mozilla-i686-pc-linux-gnu-1.5-sea.tar.gz
Par contre, malgré le point .5-sea n'est pas ici un suffixe véritable. On doit en fait comprendre :
sea indique une archive auto-extractible (self extractible archive), un fichier qui en s'exécutant lui-même, extrait son contenu dans un répertoire (folder).