Sunteți pe pagina 1din 12

Estructura de Directorios en Ubuntu Ubuntu 17.

04 LTS

Para visualizar la estructura de carpetas y archivos del sistema se usan los diversos
“Administradores de Archivos”, entre ellos: Archivos, Caja, Nautilus, Pcmanfm, Krusader, Ranger,
Dolphin, etc. En nuestro caso usamos Pcmanfm:

Nótese que estamos en la raíz del sistema de archivos identificada por “/” y por debajo de la raíz se
despliegan todas las carpetas y archivos del panel.
Comentemos cada una de las partes relevantes de esta estructura de archivos.
/ (raíz)
Es el primer y único directorio localizado en el nivel superior del árbol de archivos, es decir; es el
nivel más alto dentro de toda la estructura de directorios. Cualquier ruta de una carpeta o archivo en
Ubuntu, empieza por “/” seguida de los directorios y subdirectorios que lo contienen, dicho de otro
modo; toda la ruta que va desde “/” hasta la carpeta o archivo buscado.
De la raíz “/” cuelgan todo el resto de carpetas, archivos, particiones, dispositivos, etc. esto se crea
durante la instalación de la distro, razón por la cual, durante la instalación seleccionamos la
Partición raíz y el punto de montaje /

/boot (arranque)
Aquí encontramos los archivos necesarios para el arranque o inicio del sistema, desde los archivos
de configuración del Grub, hasta el propio kernel del sistema
En este directorio también se encuentran los archivos utilizados por el gestor de arranque Grub, y
son utilizados antes de que el kernel empiece a dar las órdenes de ejecución de los diferentes
módulos del sistema
El directorio /boot puede estar en una partición o disco diferente del directorio /raíz, en ese caso es
importante tener previsto el espacio que le vayamos a dar a la partición, porque debido a las futuras
actualizaciones del Kernel nos podemos quedar sin espacio, en esa situación, tendremos que hacer
limpieza de las versiones antiguas.

/bin (binarios)
Es donde se almacenan todos los archivos binarios que permiten el funcionamiento de las funciones
básicas a nivel de usuario. Por ejemplo: aplicaciones binarias de comando, esenciales y disponibles
para que cualquier usuario pueda ejecutarlos, así como el código binario de los programas y los
ejecutables de los programas propios del sistema operativo.
Los binarios son los ejecutables de Linux, y son preinstalados por el sistema. No existen
subdirectorios en /bin

En el directorio /bin se incluye también los binarios que permiten la ejecución de varias utilidades
estándar de la terminal de Linux, algunos de comandos contenidos en /bin: cat, chown, cp, dd, echo,
gzip, kill, ls, mkdir, mount, mv, ping, ps, rm, su, tar, umount, uname. Finalmente, se debe precisar
que los binarios necesarios para tareas administrativas ejecutadas por root o superusuario se
encuentran en otro directorio, en el directorio /sbin.
/dev (dispositivos)
Aquí encontramos los archivos de información de todos los volúmenes y dispositivos físicos del
sistema (hardware), como por ejemplo: Discos Duros, memorias, cdrom, dvd, etc.
En el directorio /dev se encuentran los archivos especiales del sistema, conocidos como
controladores de dispositivo, se usan para acceder a los dispositivos de almacenamiento como por
ejemplo: Discos duros externos, memoria USB, tarjetas sd...
También encontramos en el directorio /dev las particiones de disco que hemos realizado durante la
instalación del sistema operativo, por ejemplo: sda1, sda2, sda5, como podemos ver si escribimos
los siguientes comandos en Terminal, para ver discos y particiones:

sudo fdisk -l

Una vez que hemos puesto los comandos sudo fdisk -l en la Terminal vemos las particiones de la
siguiente forma:

Disk /dev/sda – Disco Duro

/dev/sda1 - Partición principal


/dev/sda2 - Partición extendida
/dev/sda5 - Partición Swap (partición de intercambio)

En el caso de tener mas Discos Duros, los veríamos como: /dev/sdb, /dev/sdc, /dev/sdd...

Archivos contenidos en /dev

Todo está considerado en Ubuntu como un archivo, tanto el Software como el Hardware. Un
archivo de texto, de vídeo, de música, un controlador de dispositivo, el ratón, el teclado, el monitor,
la impresora, el reproductor de CD o DVD, los Discos Duros, las particiones, los periféricos que
podamos conectar en el equipo...

/etc (etcétera)
En el directorio /etc es donde encontramos los ficheros de configuración y arranque del sistema, así
como ciertos scripts que se ejecutan en el inicio del sistema
En el directorio /etc es donde se encuentra la configuración global de las aplicaciones o programas
instalados, este directorio debe de contener únicamente archivos de configuración, y no debería
contener ningún archivo binario

En el directorio /etc aparecen otros subdirectorios:


/etc/opt/ Subdirectorio de configuración para los programas alojados dentro del directorio /opt
/etc/X11/ Subdirectorio de configuración para el X Window System
/etc/sgml/ Subdirectorio de configuración para SGML
/etc/xml/ Subdirectorio de configuración para XML

Archivos contenidos en etc


/home (casa)
El directorio /home contiene los directorios de trabajo de todos los usuarios, es la carpeta donde se
guardan los archivos personales de todos los usuarios excepto el de root o superusuario, /home
contiene los directorios personales (casas) de cada uno de los usuarios

Archivos contenidos en /home

Cada usuario tiene su propio directorio dentro de /home, ese directorio es la Carpeta personal de
usuario

Carpeta personal de usuario

En la Carpeta personal de usuario tenemos otras carpetas, así como otros archivos y carpetas
ocultas, que guardan la información de configuraciones de las aplicaciones del usuario:

Descargas, Documentos, Escritorio, Imágenes, Música, Plantillas, Público, Vídeos, Ejemplos

Para ver las carpetas y archivos ocultos dentro del directorio individual de cada usuario, podemos
hacerlo pulsando las teclas Ctrl + h del teclado

Los archivos y carpetas ocultas empiezan por un punto “.”, seguido del nombre de la carpeta

Archivos ocultos contenidos en la Carpeta personal de usuario

El directorio /home puede ser muy grande, ya que es usado para almacenar descargas, documentos,
fotos y una buena colección de archivos de imagen o sonido

A menudo /home es instalado en un disco o partición separada, partición que hemos realizado
durante la instalación del sistema operativo, normalmente es la partición mas grande debido al gran
tamaño que puede llegar a ocupar

/home es instalado en un disco o partición separada para que en el caso de que reinstalemos o
instalemos una nueva versión del sistema, tengamos a buen recaudo nuestros documentos y demás
archivos personales

El administrador del sistema tiene su propio directorio home, que es /root

/lib (bibliotecas)
El directorio /lib contiene los módulos del kernel y todas las bibliotecas (mal conocidas como
librerías) esenciales compartidas, necesarios para arrancar el sistema y ejecutar los comandos en el
sistema de archivos raíz

En el directorio /lib están contenidas las bibliotecas que son necesarias para que se puedan ejecutar
todos los binarios que se encuentran en los directorios /bin y /sbin

Archivos contenidos en /lib


Puede haber una o más variantes del directorio /lib, en sistemas que admiten más de un formato
binario y que requiere bibliotecas separadas. En los sistemas operativos de 64 bits, además de /lib
existe otro directorio denominado /lib64, contiene bibliotecas para aplicaciones de 64 bits

Los módulos del kernel (controladores) están en el subdirectorio /lib/modules/”versión-Kernel”,


donde ”versión-Kernel” puede ser por ejemplo 4.8.0.36-generic o 4.8.0.36-generic o ...

/lib/modules

/media (media, medios de comunicación)


El directorio /media es donde se montan las unidades extraíbles de almacenamiento como los
dispositivos USB, disqueteras, unidades de CD/DVD

El directorio /media es el punto de montaje de todos los volúmenes lógicos que se montan
temporalmente, ya sean unidades externas USB, Discos externos e incluso sirve para montar otras
particiones del mismo Disco Duro, como por ejemplo, alguna partición que sea utilizada por otro
sistema operativo

Este directorio contiene subdirectorios que se utilizan como puntos de montaje para Medios
removibles como disquetes, CD o DVD, USB

Archivos contenidos en /media

En el directorio /media, cada vez que se monta una unidad externa, partición, CD o DVD esta se
monta dentro del directorio /media y a su vez dentro de un directorio del usuario, si en un sistema
hay varios usuarios, supongamos usuario1 y usuario2, los puntos de montaje de los volúmenes que
montan cada uno de ellos se mostraran en directorios separados tal como así:

/media/usuario1
/media/usuario2

Nota: usuario es el nombre del usuario del equipo en ese momento, “usuario” puede ser Juan, Pepe,
María, Jacín, Juana...

/mnt (montajes)

El directorio /mnt se suele usar para montajes temporales de unidades, sirve para montar discos
duros y particiones de forma temporal en el sistema

El directorio /mnt es un directorio vacío que se utiliza como punto de montaje genérico, en el que se
montan los sistemas de archivos o dispositivos, el montaje es el proceso por el cual hacemos que un
sistema de archivos sea disponible para el sistema, después de montar estos archivos serán
accesibles bajo el punto de montaje

Este directorio se proporciona para que el administrador del sistema pueda montar un sistema de
archivos según sea necesario, como vemos en el ejemplo siguiente:

Escribimos los siguientes comandos en Terminal para ver discos y particiones:


sudo fdisk -l

Una vez que hemos puesto los comandos sudo fdisk -l en la Terminal vemos las particiones de la
siguiente forma:

Disk /dev/sda – Disco Duro

/dev/sda1 - Partición Swap (partición de intercambio)


/dev/sda2 - Partición extendida
/dev/sda3 - Partición nueva (datos)
/dev/sda5 - Partición principal

En el caso de tener mas Discos Duros, los veríamos como: /dev/sdb, /dev/sdc, /dev/sdd...

Una vez que vemos las particiones, vamos a montar como superusuario, la partición /dev/sda3 con
el comando mount

Escribimos los siguientes comandos en Terminal:

sudo mount /dev/sda3 /mnt

Una vez que tenemos montada la partición /dev/sda3, todos los archivos que están contenidos en
esta partición son visibles y accesibles en el directorio /mnt

El comando mount toma dos argumentos, el primero (/dev/sda3) es el archivo de dispositivo


correspondiente al disco o partición que contiene el sistema de archivos, el segundo es el directorio
(/mnt ) donde será montado

Cuando un sistema de archivos ya no necesita ser montado, se debe de desmontar con el comando
umount

Para desmontar la partición que hemos montado anteriormente escribimos los siguientes comandos
en Terminal:

sudo umount /dev/sda3

Tras haber desmontado la partición /dev/sda3 volvemos a tener el directorio /mnt, vacío

/opt (opcionales)

El directorio /opt está reservado para todos los paquetes de software y complementos que no forman
parte de la instalación predeterminada, esta destinado para guardar paquetes adicionales de
aplicaciones, todas las aplicaciones de terceros deben estar instaladas en este directorio

Las aplicaciones crean un subdirectorio dentro de /opt que son designadas con el mismo nombre del
programa

El directorio /opt contiene paquetes de programas opcionales de aplicaciones, que pueden ser
compartidas entre los usuarios, estas aplicaciones no guardan sus configuraciones en este directorio,
así, cada usuario puede tener una configuración diferente de una misma aplicación, se comparte la
aplicación pero no las configuraciones de los usuarios, las cuales se guardan en su respectivo
directorio en /home de cada usuario

Archivos contenidos en opt

/proc (procesos)

El directorio /proc contiene información de los procesos y aplicaciones que se están ejecutando en
un momento determinado en el sistema, es un sistema de archivos virtual, no contiene archivos
reales, solo información del sistema en tiempo de ejecución

Lo más llamativo de los archivos del directorio /proc es que todos ellos tienen un tamaño de archivo
de 0, no son ni binarios ni textos, sin embargo podemos desplegar su contenido y examinarlos

El directorio /proc contiene todos los detalles del sistema Linux, incluyendo el kernel, procesos y
parámetros de configuración

Archivos contenidos en /proc

Los directorios con nombre numérico representan a los procesos en ejecución. Cuando un proceso
termina, su directorio situado en el directorio /proc desaparece automáticamente

Archivos contenidos en /proc

Escribimos los siguientes comandos en Terminal para ver los procesos en ejecución:

ls /proc
Cada uno de los directorios numerados corresponde a un ID (identificador de proceso) de un
proceso real

Algunos archivos en el directorio /proc están configurados para que se puedan leer sólo por el
usuario root

/root (raíz)

El directorio /root es el directorio de uso exclusivo del administrador, directorio raíz del usuario
root, es el directorio /home (casa) del administrador del sistema, digamos que el superusuario tiene
su propio directorio personal, el directorio /root

Al directorio /root, el acceso es restringido para un usuario sin privilegios administrativos, ya que es
un directorio exclusivo para la administración del sistema

Si intentamos entrar en el directorio /root como usuario sin los privilegios administrativos, nos sale
un cartel diciendo que no tenemos los permisos suficientes para ver su contenido
Directorio /root sin privilegios

root es el nombre de usuario o cuenta que por defecto tiene acceso a todos los comandos y archivos
en un sistema operativo Linux, se le conoce como el usuario root o superusuario
El usuario root puede hacer muchas cosas que un usuario común no puede, tales como cambiar el
dueño o permisos de archivos

No se recomienda utilizar el superusuario para una sesión de uso habitual, ya que se pone en riesgo
el sistema, al darle privilegios administrativos a cada aplicación que esté en ejecución

Es preferible usar una cuenta de usuario normal y utilizar los comandos sudo su para acceder a los
privilegios de root en caso de ser necesario

/sbin (binarios de sistema)

El directorio /sbin es donde se almacenan todos los binarios necesarios para las tareas
administrativas ejecutadas por root o superusuario

El directorio /sbin debe contener sólo binarios esenciales para arrancar, restaurar, recuperar o
reparar el sistema además de los binarios incluidos en /bin

Los ejecutables de administración, tales como mount, umount, shutdown… Solo pueden ser
ejecutados por el usuario root y vienen preinstalados en el sistema

Un usuario con los privilegios administrativos puede ejecutar alguna de estas aplicaciones de
comandos, estando en modo superusuario

Archivos contenidos en /sbin

/srv (servicios)
El directorio /srv contiene información del sistema sobre ciertos servicios que ofrece (FTP,
HTTP…), archivos relativos a servidores web,ftp. En este directorio residen las carpetas accesibles
por el programa cliente de un determinado servicio ofrecido por algunos servidores configurados en
el sistema

El directorio /srv sirve para almacenar archivos y directorios relativos a servidores que podamos
tener instalados dentro del sistema, en este directorio se alojan los subdirectorios que usan los
distintos servidores que tengamos instalados, como el servidor web en /srv/www o el servidor FTP
en /srv/ftp

Ningún programa debe basarse en un subdirectorio de /srv existente o en los datos que
necesariamente se almacenen en el, sin embargo, el directorio /srv siempre debe existir en sistemas
Linux y debe ser utilizado como un lugar predeterminado para dichos datos

Si no tenemos ningún servidor instalado tendremos el directorio /srv vacío

Archivos contenidos en /srv

/sys (sistema)
El directorio /sys contiene información de los dispositivos conectados al sistema, información sobre
los dispositivos tal y como los ve el kernel

El directorio /sys al igual que el directorio /proc contiene archivos virtuales que proveen
información del kernel relativa a eventos del sistema operativo, son archivos virtuales con
información del sistema

En el directorio /sys se monta el sistema de ficheros virtual /sys/fs, este es un sistema de ficheros
virtual basado inicialmente en ramfs (fichero de almacenamiento en la memoria RAM) y que está
implementado en el kernel

El directorio /sys permite obtener información sobre el sistema y sus componentes (en su mayoría
conectado e instalado, hardware) de una manera estructurada, con soporte para los dispositivos de
conexión en caliente

Archivos contenidos en sys

/tmp (temporales)
El directorio /tmp es un directorio donde se almacenan archivos temporales, cada vez que se inicia
el sistema este directorio se limpia

Muchos programas utilizan el directorio /tmp para crear archivos y para el almacenamiento
temporal de datos, estos archivos son importantes para los programas que se están ejecutando
actualmente y su eliminación puede provocar un bloqueo del sistema

No debemos de borrar el contenido del directorio /tmp de forma manual, puesto que puede contener
archivos necesarios para ciertos programas o procesos que estén ejecutándose, tampoco asumiremos
que los archivos se conserven entre invocaciones de programas

Archivos contenidos en /tmp

/usr (Recursos del sistema del usuario)

El directorio /usr es uno de los directorios más importantes del sistema, ya que contiene todos los
binarios, programas y librerías de uso común para todos los usuarios, su documentación,
bibliotecas, archivos de cabecera, juegos, casi la totalidad de los comandos de usuario

El directorio /usr contiene los archivos compartidos, pero son de sólo lectura, este directorio puede
compartirse con otros equipos que estén en la misma red local

En el directorio /usr se encuentran programas y datos utilizables por el usuario, por ello, algunas
personas pueden referirse a este directorio como recursos del sistema del usuario

Archivos contenidos en usr

Como hemos dicho anteriormente el directorio /usr es uno de los directorios más importantes del
sistema, es el directorio padre de otros subdirectorios de importancia, que son los siguientes:

/usr/bin: Contiene la gran mayoría de los binarios del sistema, comandos binarios no-
administrativos para todos los usuarios, son de solo lectura, pero pueden tener su propia
configuración para cada usuario en /home. Los ejecutables en este directorio varían ampliamente,
ejecutables de la mayoría de aplicaciones de escritorio

/usr/include: Contiene “archivos de cabecera” (ficheros cabeceras para C y C++) necesarios para
compilar el código fuente del espacio de usuario, estos archivos son necesarios cuando se compila
programas, bien sea, para un paquete de software que necesita compilar manualmente o sus propios
programas

/usr/lib: Contiene bibliotecas de programas. Las bibliotecas son colecciones de rutinas de programas
de uso frecuente, algunos ejecutables comparten las mismas bibliotecas que comparten las demás
aplicaciones

/usr/local: Debe ser utilizado por el administrador del sistema al instalar el software localmente, así
mismo, debe estar a salvo de ser sobrescrita cuando se actualiza el software del sistema, puede
utilizarse para programas y datos que pueden compartirse entre un grupo de equipos que estén en la
misma red local

El software instalado localmente debe colocarse dentro de /usr/local, este subdirectorio tiene una
estructura similar a la del directorio /usr, gran parte del software local se instala en subdirectorios de
/usr/local

/usr/sbin: Contiene comandos administrativos para el sistema, destinados a ser ejecutados por el
usuario root o superusuario, al igual que en /sbin, no forma parte del entorno de un usuario, algunos
ejemplos de binarios incluidos: adduser, chroot, useradd, pppconfig...

Comandos y utilidades para la administración que no son vitales del sistema, que se utilizan después
de arrancar (iniciar el sistema) por parte del administrador

/usr/share: Contiene archivos compartidos que no dependen de la arquitectura del sistema, como
ficheros de configuración, imágenes, sonidos, iconos, fuentes, temas, etc., disponibles para el
sistema y sus aplicaciones, también contiene páginas de manual, documentos de información GNU,
y archivos de documentación de los programas instalados

/usr/src (source o, fuente en castellano)): Tiene en su interior el código fuente para el kernel Linux,
cualquier código fuente no-local debe localizarse en este directorio. El único código fuente que
siempre debe localizarse en un lugar específico es el código del kernel

El subdirectorio /usr/src/linux (Ejemplo: linux-headers-4.8.0-36) contiene las fuentes, archivos de


encabezado y documentación del kernel de Linux

/usr/src/linux-headers-4.8.0-36

/var (variable)

El directorio /var contiene archivos con información variable, esto incluye archivos y directorios en
fila de ejecución, información de bitácora administrativa y archivos temporales transitorios
El directorio /var contiene varios archivos con información del sistema, como archivos de logs, e-
mails temporales de los usuarios del sistema, bases de datos, información almacenada en la caché,
ficheros almacenados en fila a la espera de ejecutarse, como por ejemplo colas de impresión

El directorio /var se puede decir que actúa como un registro del sistema, ayuda a encontrar los
orígenes de un problema, todos los log del sistema y los generados por los servicios instalados, se
ubican dentro de la estructura jerárquica de /var, esto quiere decir que el tamaño global de este
directorio va ha crecer constantemente

Archivos contenidos en /var

El directorio /var es el directorio padre de otros subdirectorios de importancia, que son los
siguientes:

/var/backups: Directorio que contiene copias de seguridad de varios archivos de sistema clave como
/etc/shadow, /etc/group, /etc/inetd.conf y dpkg.status.

/var/cache: Está destinado a los datos almacenados en caché de las aplicaciones, estos datos se
generan localmente, permanecen válidos entre las invocaciones de la aplicación y el reinicio del
sistema. La existencia de un directorio independiente para los datos almacenados en caché permite a
los administradores del sistema establecer diferentes políticas de disco y de copia de seguridad de
otros directorios en /var

/var/crash: Eventualmente mantendrá descargas de bloqueo del sistema. Actualmente, los volcados
de bloqueo del sistema no son compatibles con Linux, sin embargo, el desarrollo ya está completo y
está a la espera de la unificación en el kernel de Linux

/var/lib: Contiene información de estado perteneciente a una aplicación o al sistema, la información


de estado es información que los programas modifican mientras se ejecutan, estado actual de las
aplicaciones, modificable por las propias aplicaciones

/var/local: Contiene datos variables para programas locales (es decir, programas que han sido
instalados por el administrador del sistema) tenemos que tener en cuenta que incluso los programas
instalados localmente deberían usar los otros directorios /var si son apropiados, por ejemplo, en
/var/lock

/var/lock: Contiene ficheros que se encargan de que un recurso sólo sea usado por una aplicación
determinada que ha pedido su exclusividad, hasta que ésta lo libere, muchos programas crean un
archivo de bloqueo en /var/lock para indicar que están utilizando un dispositivo o archivo en
particular

/var/log: Es uno de los subdirectorios más importantes, ya que aquí se guarda un registro de los
logins y logouts de usuarios normales y procesos del sistema
/var/mail: Contiene archivos de los correos de los usuarios, tenemos que tener en cuenta que
/var/mail puede ser un enlace simbólico a otro directorio

/var/opt: Contiene archivos de datos variables de los paquetes de programa almacenados en /opt

/var/run: Contiene los archivos de identificación de proceso (PID) de los servicios del sistema y otra
información sobre el sistema que es válida hasta que el sistema se reinicie, por ejemplo,
/var/run/utmp contiene información sobre los usuarios que están actualmente conectados

/var/spool: Contiene datos a la espera de ser procesados, por ejemplo, colas de impresión y correo
no leído

/var/tmp: Contiene archivos temporales que son grandes o que necesitan existir durante un tiempo
más largo de lo que se permite para /tmp

S-ar putea să vă placă și