Apéndice. Curso básico de Linux
Archivos y directorios especiales en Linux, un resumen
En Linux, todo se considera un archivo, pero existen archivos y directorios especiales que tienen un tratamiento particular. Estos incluyen archivos temporales, enlaces y la estructura de inodos, que son fundamentales para la gestión del sistema de archivos.
Archivos Temporales
Los archivos temporales son utilizados por programas para almacenar datos que solo son necesarios temporalmente, como registros de procesos, archivos de autoguardado y archivos de caché.
Ubicaciones de Archivos Temporales:
- /tmp: Se utiliza para archivos temporales que no se espera que persistan entre sesiones. Este directorio suele limpiarse al iniciar el sistema.
- /var/tmp: Almacena archivos temporales que pueden persistir entre reinicios del sistema.
- /run: Contiene datos variables en tiempo de ejecución, como identificadores de procesos. Este directorio también se limpia al iniciar el sistema.
Permisos en Archivos Temporales:
Para evitar que un usuario elimine o modifique archivos de otros en directorios temporales, se utiliza el sticky bit. Este permiso especial permite que solo el propietario de un archivo pueda eliminarlo o renombrarlo dentro de un directorio con sticky bit.
Enlaces
En Linux, hay dos tipos de enlaces:
- Enlaces Simbólicos (Soft Links): Apuntan a la ruta de otro archivo. Si se elimina el archivo original, el enlace simbólico queda «roto».
- Enlaces Duros: Son entradas adicionales que apuntan al mismo inodo en el disco que el archivo original. Ambos nombres son equivalentes y cualquier cambio en uno se refleja en el otro.
Creación y Administración de Enlaces:
- Para crear un enlace duro, se utiliza el comando
ln TARGET LINK_NAME
. - Para crear un enlace simbólico, se usa
ln -s TARGET LINK_NAME
. - Los enlaces duros pueden ser eliminados o movidos como archivos normales, mientras que los enlaces simbólicos requieren cuidado al moverse, ya que su ruta es relativa al enlace.
Inodos
Un inodo es una estructura de datos que almacena atributos de un objeto en un sistema de archivos, como un archivo o directorio. Los atributos incluyen el nombre del archivo, permisos, propietario y la ubicación de los datos en el disco. Cada archivo y directorio tiene un inodo único que actúa como un índice para acceder a los datos.
Características de los Inodos:
- Los enlaces duros apuntan al mismo inodo, lo que significa que múltiples nombres pueden referirse a los mismos datos en el disco. Si se modifica el contenido a través de uno de los nombres, todos los demás reflejarán ese cambio.
- Cuando se elimina un archivo, en realidad se elimina la entrada en la tabla del sistema de archivos que apunta al inodo, pero los datos permanecen en el disco hasta que no haya más entradas que apunten a ese inodo.
Ejemplo de Inodos:
Al usar el comando ls -li
, se puede observar el número de inodo asociado a cada archivo. Si dos archivos tienen el mismo número de inodo, significa que son enlaces duros entre sí.
Conclusión
Los archivos temporales, los enlaces y los inodos son componentes esenciales en la gestión de archivos en Linux. Comprender su funcionamiento y las convenciones establecidas por el Filesystem Hierarchy Standard (FHS) es crucial para una administración efectiva del sistema.