🥇 El sistema de archivos de Linux

🍿 ¿Qué es un sistema de archivos?

El sistema de archivos de un sistema operativo es aquel en donde los datos son almacenados de cierta forma que estos pueden ser fácilmente localizables, almacenados de forma persistente y que la integridad de dicha información se preserve.

🍿 ¿Qué es el esquema de un sistema de archivos en Linux?

Si bien existen muchas distribuciones de Linux, hay un consenso que mantiene una estructura de los datos a través de estos, este proyecto es conocido como el Estandar de Jerarquía del Sistema de Archivos o FHS por sus siglas en inglés FileSystem Hierarchy Standard. Este estándar fue creado de manera que cualquier usuario de Linux pudiese saber en donde se encuentran los diferentes tipos de archivos.

🍿 ¿Cómo esta organizada la estructura de directorios de Linux?

  • Un sistema Linux existe un solo directorio root.
  • La nomenclatura de directorios/archivos es case-sensitive (a != A).
  • Cualquier directorio/archivo que inicie con un punto es ocultado de la vista normal.
  • El . hace referencia al directorio en el que se encuentra.
  • El .. hace referencia al directorio padre del directorio actual en el que se encuentra.

Si realizamos un ls sobre el directorio principal nos daremos cuenta que:

  • El directorio / representa el directorio principal es decir el root.
  • El directorio bin contiene una serie de comandos principales que vienen por default en Linux como ls, cd, pwd, entre otros.
  • El directorio boot contiene los archivos necesarios para inicializar el sistema Linux, los archivos del kernel de Linux se encuentran también dentro de este directorio.
  • El directorio dev contiene una referencia a todos los dispositivos a los que podemos acceder, como discos duros, teclados, cdroms, unidades USB, tarjetas de sonido, etc.
  • El directorio etc contiene la configuración para muchos de los servicios del sistema e información del sistema.
  • El directorio home contiene los directorios de cada uno de los usuarios del sistema.
  • Los directorios lib y lib64 contienen código que es compartido entre muchas aplicaciones. Estas librerías están en uno u otro directorio dependiendo si son de 32 o 64 bits.
  • El directorio mount es aquel en donde se crean referencias a las unidades de almacenamiento montadas en el sistema (discos duros, usbs, etc).
  • El directo opt es un lugar donde de forma opcional serán instaladas aplicaciones si no se desea instalarlas dentro de /usr/bin.
  • El directorio proc contiene información de un sistema Linux que se encuentra en ejecución, en este directorio escriben muchas aplicaciones que comparten información en tiempo real.
  • El directorio root es el directorio donde se encuentra la información del usuario root, no hay que confundir este con el main root /.
  • El directorio sbin es donde se encuentran las aplicaciones de administración del sistema, en este espacio solo el usuario root puede acceder.
  • El directorio srv es usualmente utilizado para montar aplicaciones/servicios de servidor.
  • El directorio sys contiene la información del hardware que se encuentra disponible en el equipo y puede ser utilizado por el sistema.
  • El directorio tmp es generalmente utilizado por aplicaciones que escriben información de forma temporal en el sistema.
  • El directorio src contiene su propia ramificación de directorios similar al directorio root, este directorio contiene aplicaciones instalados a nivel de usuario, documentación y archivos de configuración.
  • El directorio var suele contener archivos logs provenientes de distintos tipos de recursos como servidores web, impresoras, etc.