Linux soporta gran variedad de sistemas de ficheros, desde sistemas basados en discos, como pueden ser ext2, ext3, ReiserFS, XFS, JFS, UFS, ISO9660, FAT, FAT32 o NTFS, a sistemas de ficheros que sirven para comunicar equipos en la red de diferentes sistemas operativos, como NFS (utilizado para compartir recursos entre equipos Linux) o SMB (para compartir recursos entre máquinas Linux y Windows).
Los sistemas de ficheros indican el modo en que se gestionan los ficheros dentro de las particiones. Según su complejidad, tienen características como previsión de apagones, posibilidad de recuperar datos, indexación para búsquedas rápidas, reducción de la fragmentación para agilizar la lectura de los datos, etc. Hay varios tipos, normalmente ligados a sistemas operativos concretos. A continuación se enumeran los más representativos:
Además de estos sistemas de ficheros, Linux también ofrece soporte para sistemas de ficheros de Windows, como FAT, FAT32 y NTFS. Tanto para FAT como para FAT32, Linux tiene soporte completo y estable de escritura y lectura, mientras que para NTFS, y con las últimas versiones del kernel, solo se puede acceder de manera estable en modo lectura. En modo escritura todavía está en fase experimental y no es estable.
/ Raíz del sistema de archivos.
/dev Contiene ficheros del sistema representando los dispositivos que estén físicamente instalados en el ordenador.
/etc Este directorio esta reservado para los ficheros de configuración del sistema. En este directorio no debe aparecer ningún fichero binario (programas). Bajo este deben aparecer otros dos subdirectorios: /etc/X11 Ficheros de configuración de X Window
/etc/skel Ficheros de configuración básica que son copiados al directorio del usuario cuando se crea uno nuevo.
/lib Contiene las librerías necesarias para que se ejecuten los programas que residen en
/bin (no las librerías de los programas de los usuarios).
/proc Contiene ficheros especiales que o bien reciben o envían información al kernel del sistema (Se recomienda no modificar el contenido de este directorio y sus ficheros).
/sbin Contiene programas que son únicamente accesibles al superusuario o root.
/usr Este es uno de los directorios más importantes del sistema puesto que contiene los programas de uso común para todos los usuarios. Su estructura suele ser similar a la siguiente: /usr/X11R6 Contiene los programas para ejecutar X Window.
/usr/bin Programas de uso general, lo que incluye el compilador de C/C++. /usr/doc Documentación general del sistema. /usr/etc Ficheros de configuración generales. /usr/include Ficheros de cabecera de C/C++ (.h).
/usr/info Ficheros de información de GNU. /usr/lib Librerías generales de los programas.
/usr/man Manuales accesibles con el comando man. /usr/sbin Programas de administración del sistema.
/usr/src Código fuente de programas. Existen además de los anteriores otros directorios que se suelen localizar en el directorio /usr, como por ejemplo las carpetas de los programas que se instalen en el sistema.
/var Este directorio contiene información temporal de los programas (lo cual no implica que se pueda borrar su contenido, de hecho, ¡no se debe hacer!)