Sistema de Archivos de Linux: Qué es y Cómo Funciona

Los usuarios que usan distribuciones GNU/Linux debieran conocer la estructura de carpetas que conforman su sistema de archivos. Quien haya trabajado con alguna versión de Microsoft Windows y vea de buenas a primeras el complicado y abundante sistema de ficheros de Linux, de entrada le generará rechazo debido a la cantidad de carpetas con nombres de los más diversos. Para los que llevan muchos más años trabajando con este sistema de archivos saben que esa abundancia es una profunda reorganización de donde ubicar cada uno de los archivos originales de tu sistema operativo y de todas las demás herramientas y aplicaciones que usted le vaya incorporando.

directorio de archivos linux
Directorio de archivos linux

Comandos para navegar en el sistema de archivos de Linux

Orígenes del sistema de archivos Linux

Los orígenes del sistema de archivos de Linux se encuentran en el propio origen en general del núcleo y es sistema operativo en general: Unix. Por ende este tiene todas las convenciones de Unix y una estructura determinada y compatible con otros sistemas Unix. Contrario a Window o MS-DOS el sistema de archivos de cualquier sistema operativo derivado de Unix no está relacionado directamente con la estructura del hardware o sea lo que es más común, con la cantidad de discos que se le asocien a un computador. En Linux todo el sistema de archivos parte de una raíz (root) representada por un «/», todos los demás ficheros se encuentran por debajo de esta raíz en forma de árbol. La raíz en Linux no contiene jamás ningún archivo, esto es regla general. Veamos las carpetas principales del sistema de archivos y su uso.

Directorio /bin

La primera carpeta que nos encontramos es /bin, ésta contiene los archivos binarios o compilados de los programas básicos del sistema operativo. Cuando usamos el término básico nos referimos a las utilidades más básicas necesarias para utilizar el sistema operativo. No deben existir directorios dentro de /bin, pero si contiene miles de archivos binarios. Veamos algunos ejemplos de programas básicos instalados en esta carpeta:

  • Para navegar por el sistema de archivos comandos como cd, cp y mv.
  • Comandos para el tratamiento de los permisos y administración de los archivos y carpetas como chmod y chown (cambiar propietarios de archivos).
  • Comandos como mount, unmount, kill, echo básicos todos para el trabajo en estas distribuciones.

Muchos de estos programas no pueden ser desinstalados por el usuario.

Directorio /boot

Contiene todo lo necesario para ejecutar el proceso de arranque de todo el sistema. Este directorio almacena todos los datos que se utilizan antes de que el kernel ejecute los programas como modo usuario. Contiene copias del kernel del sistema operativo. Es extremadamente importante saber que no debemos jugar y menos borrar algún archivo contenido en esta carpeta, porque de hacerlo causaríamos una altísima probabilidad que nuestro sistema operativo no vuelva a iniciar.

Directorio /cdrom

Su existencia se debe a la necesidad de que existiera un directorio donde montar las unidades CD-ROM. Lo mismo existió en su momento un directorio al mismo nivel en el sistema de archivos llamado /floppy para montar nuestros viejos amigos los llamados diskettes. Lo que nos lleva a que es una carpeta prácticamente en desuso pues hoy comúnmente encontramos el contenido de un CD-ROM que introducimos en nuestro computador en la carpeta /media que veremos más adelante.

Directorio /dev

Como sabemos los sistemas operativos basados en Unix: todo es un archivo. Lo que se quiere decir con esto es que desde una partición de tu disco duro hasta el control de tu mouse inalámbricos o mouse por cable, memoria RAM está en archivos en el directorio /dev. Es en /dev donde se guardan los archivos especiales y de todos los dispositivos que tiene tu computador.

Es importante saber que los dispositivos con archivos asociados en este directorio pueden ser de bloque o de carácter. De bloque llamamos a los dispositivos que almacenan datos y los de carácter a los que transfieren datos como las memorias eMMC y los HDD o SSD.

Directorio /etc

Este directorio existe para ubicar los archivos adicionales que se necesiten, normalmente son archivos de configuración para personalizar aplicaciones y herramientas. Es una dirección que nunca debe contener archivos binarios. Por ejemplo si instalamos un cntlm en nuestro computador su archivo de configuración cntlm.conf se encuentra en /etc, y el mundialmente conocido archivo sources.list donde definimos los repositorios de aplicaciones de nuestra distribución también se encuentra allí. De forma general podemos decir que en ese directorio hay dos grandes grupos de archivos:

  • Los archivos y carpetas de configuración global, estos son independientes de los usuarios que usen el sistema.
  • Y los llamados archivos esqueleto, utilizados con valores por defecto para la configuración del usuario del sistema. Un ejemplo de archivo de usuario es el archivo profile que contiene la configuración del shell Bash.

Es común que los archivos de configuración de una aplicación se encuentren en una carpeta con el mismo nombre dentro de /etc lo cual hace bastante cómodo navegar por sus carpetas y mantiene una muy buena organización.

Directorio /home

Este directorio viene siendo el equivalente de Linux para la carpeta Users del disco C del sistema operativo Window. O sea acá se encuentra toda la información personal de los usuarios existentes en el sistema, por cada usuario tendremos una carpeta en /home que coincide con su usuario.

Directorio /root

La carpeta /root hace función de la carpeta /home pero para el usuario administrador del sistema o el llamado usuario raíz (root). No se ubican los archivos del usuario administrador en /home para mantenerlos lejos de los usuarios normales y para tener acceso a este directorio se deben proveer las credenciales de administración.

Directorios /lib

En la actualidad casi todos usamos sistemas operativos sobre 64 bits, esto implica que tengas en tu raíz de sistema de archivos un grupo de carpetas llamadas /lib, /lib32 y /lib64. En esta ubicación se guardan las bibliotecas de los paquetes que han sido instalados compartidos para todos los demás paquetes. Es normal encontrar muchas carpetas duplicadas.

Directorio /media

En este directorio encontramos los dispositivos externos montados en tu computador, por ejemplo una memoria flash un CD o DVD. Hoy día con solo insertar uno de estos dispositivos se crea una nueva carpeta dentro de este directorio haciendo referencia al nuevo dispositivo montado.

Directorio /mnt

Originalmente es un directorio vacío que en sus funciones es muy parecido al directorio de /media. En la actualidad se usa muy poco y en la mayoría de los casos para montar ubicaciones y discos de forma temporal.

El directorio /opt

Directorio donde se ubican las bibliotecas opcionales. Fue concebido para ubicar en él todas las bibliotecas del software opcional que el usuario instalará en el sistema y de esta forma no afectar al resto del sistema de archivos en caso de que hubiera problemas en la instalación o desinstalación. En la actualidad el desarrollo de aplicaciones en Linux ha ido enfocado a que de cada aplicación producida esté disponible en paquetes .deb y .rpm, lo que implica que cada vez se use menos la instalación de bibliotecas y uso del directorio /opt.

Directorio /sbin

Aquí ubicamos archivos binarios como mismo en el directorio /bin con la diferencia que en /sbin se ubican los archivos binarios del sistema, de ahí su nombre (system binary). Por su importancia para el funcionamiento del sistema solo el usuario root puede ejecutarlos.

Directorio /usr

Este directorio contiene la mayor parte de las aplicaciones instaladas del sistema o sea lo que está disponible aparte de las utilidades básicas que contiene el directorio /bin. Entre las aplicaciones más conocidas que se instalan ahí tenemos:

  • El paquete de ofimática LibreOffice
  • Editor de imágenes Gimp.
  • Las versiones Java de tu JRE o JDK.
  • Los controladores de hardware.

Tiene su propia jerarquía de carpetas con las subcarpetas llamadas binlib sbin, que tienen la misma filosofía de funcionamiento que sus equivalentes al mismo nivel de /usr. Su subdirectorio /share contiene todos los iconos del sistema que pueden ser administrados de forma muy sencilla con una interfaz gráfica (GUI) a través de la aplicación Alacarte. El subdirectorio /local cumple una función similar a /opt y existe cierto debate de cuál de ambos debe permanecer existiendo en el sistema de archivos de Linux.

El directorio /var

Contiene información de los programas de forma temporal y su contenido no debería ser borrado. Encontramos archivos de logs, temporales, caché, copias de seguridad etc. Es el último de los directorios principales del sistema de archivos.


Artículos relacionados que te podrían resultar interesantes

tux linux

Las Mejores Distribuciones de Linux de todos los Tiempos

Linux constituye a día de hoy un sistema operativo ampliamente adoptado a nivel internacional, solamente superado en el mundo de ...
linux

Guía para Principiantes de Linux

Linux es el nombre que reciben una serie de sistemas operativos de UNIX que operan bajo la licencia GNU GPL, ...
app linux

¿Cómo Instalar Aplicaciones en Linux?

La mayoría de los usuarios comunes en el mundo de los ordenadores utilizan sistemas operativos como Microsoft Windows o MacOS ...
Todo sobre Lubuntu

Todo sobre Lubuntu.

Lubuntu es una distribución oficial de Ubuntu, cuyo principal objetivo es crear un sistema operativo que utilice un mínimo de ...
Distribucion Linux Fedora

¿Qué es la Distribución Linux Fedora?

Como sabemos existe toda una familia de distribuciones basadas en GNU/Linux. La distribución Linux Fedora es una de las más ...
comandos

Comando Linux Gawk, Características y Uso

El comando Linux gawk es la implementación GNU del lenguaje de programación para procesamiento de datos basado en texto de ...
¿Cómo Escribir Comandos y Scripts AWK?

¿Cómo Escribir Comandos y Scripts AWK?

El comando awk es un método muy útil para procesar o analizar archivos de texto en Linux. En particular, analiza ...
Linux security

¿Qué es la distribución Linux OpenWrt?

En los últimos años se detectaron problemas de seguridad en routers comerciales que permitían el espionaje a través de puertas ...
Codigo space

¿Qué es y cómo utilizar el Shell de GNU/Linux?

Unix fue la base de lo que conocemos como Linux (núcleo del sistema operativo GNU/Linux) por ende Linux cuando aún ...
Línea de comandos de Linux

Línea de comandos de Linux

La línea de comandos de Linux es un sistema basado en texto que introduce comandos al equipo y devuelve resultados ...
linux_SO

Comandos para navegar en el sistema de archivos de Linux

Conocer los principales comandospara navegar por el sistema de archivos de Linux es fundamental para todo usuario de esta familia ...
Linux system

Cómo Utilizar las Características del Comando PWD

Para navegar por el sistema de archivos de Linux uno de los comandos más útiles -de origen Unix- es el ...
Alternativas de comandos Linux/Unix.

Alternativas de Comandos de Linux y Unix.

Generalmente a los usuarios de los sistemas computarizados no les interesa cómo funcionan estos mientras cumplan su objetivo. De hecho, ...
Linux rojo

Sistema de Archivos de Linux: Qué es y Cómo Funciona

Los usuarios que usan distribuciones GNU/Linux debieran conocer la estructura de carpetas que conforman su sistema de archivos. Quien haya ...
Comando Linux

Funciones del Comando Linux «fdisk»

fdisk es un editor de particiones de línea de comandos que permite crear, editar y administrar las particiones en los ...
Icono Linux

Diferencia entre Linux y GNU/Linux

Existe un desconocimiento generalizado sobre la diferencia entre los términos Linux y GNU/Linux. Esto trae consigo que utilicemos normalmente el ...
linux cabezon

Guía de paquetes de instalación en Linux

Instalar aplicaciones en Linux en principio era extremadamente complejo, requería de habilidades que no se encuentran en el usuario común ...
Linux install

Métodos para instalar aplicaciones en Linux

Las personas que deciden migrar a Linux tienen como uno de los primeros y más comunes problemas el como instalar ...
Ubuntu GNOME v/s openSUSE v/s Fedora

Ubuntu GNOME v/s openSUSE v/s Fedora

Ubuntu GNOME, openSUSE, y Fedora son dos de las distribuciones más populares des Sistema Linux. Sin embargo muchas personas no sabrían cuál escoger en ...
ubuntu keys

Cómo instalar paquetes en formato .deb

Existen múltiples formas de instalar los diversos tipos de paquetes en distribuciones Linux. Las más comunes son, haciendo uso de ...
Qué es Linux Mint- unas de las Distribuciones más Populares de Linux

Qué es Linux Mint: unas de las distribuciones más populares de Linux

Linux Mint es un sistema operativo moderno y elegante que es fácil de usar, eficiente y, al mismo tiempo extremadamente ...
Cómo Empezar con Ubuntu: Una Guía para Principiantes

Cómo Empezar con Ubuntu: Una Guía para Principiantes

Bienvenidos a nuestra guía de Ubuntu para novatos. Si quieres empezar en Linux, te ayudaremos paso a paso. Te mostraremos ...
Mejores Distribuciones de Linux para Desarrolladores

Mejores Distribuciones de Linux para Desarrolladores

Linux destaca en el mundo de la programación por su versatilidad y eficacia. Hay diversas distribuciones diseñadas para diferentes necesidades ...
Cómo Automatizar Tareas en Linux con Scripts Bash

Cómo Automatizar Tareas en Linux con Scripts Bash

La automatización en Linux se hace con scripts en Bash. Es clave para más eficiencia y para personalizar sistemas. Los ...
Herramientas Esenciales para Administradores de Sistemas Linux

Herramientas Esenciales para Administradores de Sistemas Linux

La gestión de sistemas Linux requiere un conjunto de herramientas clave para una buena administración de servidores. Estas facilitan el ...
Cómo Configurar un Servidor Linux desde Cero

Cómo Configurar un Servidor Linux desde Cero

Te guiaré de manera fácil en cómo configurar Linux desde cero. Hablaremos sobre elegir la mejor distribución y cómo instalar ...