1. Curso de consola.
Árbol de directorios.
Para poder entender mejor el uso de Linux y especialmente de la consola, debemos conocer el árbol
de directorios, a fin de poder movernos entre las carpetas con soltura.
Muchas veces vamos a necesitar entrar en una carpeta mediante la consola para poder instalar algo,
para ello nos será indispensable conocer el modo en que se ordenan los archivos en el sistema.
Hace unos días Eduardo Ricobaldi comentó una analogía muy interesante entre el árbol de
directorios y un árbol físico. Tenemos la raíz, de donde sale el tronco y de este, ramas. De cada
rama penden más ramas y de ellas muchas hojas. (Debemos tomar los archivos como hojas)
Ahora veamos como entender mejor esto de las ramas y las hojas.
Vamos a tener un tronco común, que es el / o raíz del sistema, de el van a salir /bin, /boot, /dev, /etc,
/home y muchos más. Y de ellos vamos a tener más ramas saliendo y por supuesto hojas (archivos).
Ahora veamos con detenimiento cada uno de los directorios importantes y que contienen.
/
Directorio raíz, de el penden todas las ramas de nuestro árbol.
/bin
Contiene a los ejecutables o binarios, un poco de allí su nombre, que forman parte del sistema
operativo, pueden ser usados por cualquier usuario. Son relativos a la consola. Si miramos dentro de
el, veremos archivos ejecutables tales como chown, cat, date, kill, ip, y muchos más que ya vimos
con anterioridad.
/boot
Aquí vamos a encontrar todos los archivos necesarios para el arranque del sistema. Dentro nos
vamos a encontrar con Grub (podría ser Lilo o Burg o cualquier otro sistema de arranque y toda su
configuración. (es importante tener en cuenta que el nuevo Grub2 mandó todo a /etc/grub.d y
/etc/default/grub).
También nos vamos a encontrar con el kernel (o kernels) que tenemos instalado.
/dev
Es el directorio que contiene a todos los dispositivos. Desde los discos duros y sus particiones hasta
la placa de sonido y video, impresoras y cualquier hardware que tengamos conectado a la
computadora. Los dispositivos se manejan como archivos, por eso se crea este directorio
/etc
Contiene todos los archivos de configuración del sistema. En él, nos vamos a encontrarnos con
2. fstab, que es el archivo que gestiona los discos duros, cd o dvd roms y usb, sus puntos de montaje y
sistema de archivos, o también el archivo passwd, en que están listados todos los usuarios, shadow
contiene sus contraseñas. Nos vamos a encontrar también con carpetas que contienen la
configuración de cada uno de los programas instalados en el sistema.
/lib
Aquí nos vamos a encontrar con las * librerías de software (serían análogas de las dll de windows)
que permiten que los programas funcionen. Las librerías se comparten, por lo que sólo es necesaria
una copia y será usada por muchos programas distintos. Un subdirectorio muy importante es
/lib/modules ya que en él encontramos los módulos del núcleo (generalmente controladores de
dispositivos) que se cargan en el caso de ser necesarios para usar un determinado dispositivo, por lo
que no están permanentemente en memoria. * (NdeT: mejor traducido como Bibliotecas, pero en
software está muy difundido el término Librería)
/lost+found
Aquí guarda el sistema todo lo que encuentra corrupto después de un fsck (similar a scandisk).
Aparecerá en también en otro directorio que sea punto de montaje de una partición. Es común
encontrarlo en /home o /var. Alojará los archivos recuperados correspondientes a cada partición.
/media
Punto de montaje de los dispositivos de almacenamiento usb y floppy. En algunos casos también
cdrom.
/mnt
Antiguo punto de montajes. Ahora se usa /media.
/opt
Opcionales. Se usa para guardar paquetes adicionales de aplicaciones.
Algunas distros no hacen uso de él.
/proc
Cada proceso tiene su número y aquí encontramos para cada proceso del sistema una carpeta o
directorio con información sobre el mismo. Todo lo contenido en este directorio es manejado por
software, como información y control. Este directorio volátil, no sirve para almacenar archivos,
porque se perderán al reiniciar.
/sbin
Similar a /bin, pero solo puede ser utilizado por el administrador.
/sys
Información sobre el sistema y los dispositivos tal y como los ve el kernel.
/tmp
3. Archivos temporales en uso por parte del sistema.
/usr
Este directorio se puede compartir, pero su contenido es estático.
/var
Colas de impresión, archivos de registro, cachés, logs...
Directorios especiales
Algunos de los directorios debemos verlos un poco más en detalle. Este es el caso de:
/etc /usr y /var
/etc
/etc/X11
Configuración del sistema de entorno gráfico X window. Contiene los gestores de ventanas.
/usr
/usr/bin
Estan incluidos casi todos los comandos que se puedan necesitar.
/usr/lib
Contiene las bibliotecas del usuario.
/usr/sbin
Archivos ejecutables utilizables por el administrador pero que no son vitales para el sistema.
/usr/share
Documentación variada. Aquí encontramos a los directorios /man o sea los manuales del sistema,
y /misc con muchos datos todos independientes de la arquitectura del sistema.
/usr/local
gnu/linux por defecto está diseñado para utilizarse en entornos de red, por lo que el directorio /usr
podría encontrarse en un servidor. Este directorio está pensado para contener todos los programas
instalados localmente, y que son independientes de los que se utilizan mediante la red.
/var
/var/log
Registros creados por diversos programas y por el mismo sistema operativo.
4. /var/spool
Correo electrónico, colas de impresión...
/var/tmp
Datos temporales, que deben ser preservados entre reinicios de sistema.
Finalmente, llegamos a los dos últimos directorios importantes.
/home y /root
/home
Aquí encontramos los distintos directorios dependientes de los usuarios. Dentro de /home
directamente vamos a encontrar a cada usuario del sistema, y dentro de esa carpeta o subdirectorio
las carpetas o directorios de cada uno de esos usuarios.
/root
Es el único usuario que no está dentro del /home, para acceder a él debemos estar logueados como
root o como superusuario. Contiene todos los directorios de este usuario.
Esto es una simple presentación de cada uno de los directorios y algunos subdirectorios más
importantes de nuestro sistema.
Se invita a cada uno a investigar un poco más el tema, y conocer por si mismo sobre todo los
archivos de log. Así como tener una idea un poco más completa sobre que es lo que se está haciendo
cuando se edita un archivo y cuales son sus consecuencias para el sistema.
Es importante tener en cuenta que esto del árbol es que se usa todos los días, no sólo para
hacer cd en consola y pasearse por los directorios.
Otros puntos a remarcar (algunos ya están en lecciones anteriories, pero es bueno insistir):
• Mayúsculas son distintas de minúsculas o "case sensitive"
• Sólo hay una raíz, a diferencia del DOS/Windows que tiene Unidades (A: C:, etc.). Las
particiones se "montan" en alguna rama, pero siempre hay una sola raíz.
• Montar es la acción de crear una rama en raíz u otra rama, para acceder a los nuevos
archivos desde el "punto de montaje". Los nuevos archivos montados pertenecen a un nuevo
Sistema de Archivos o "filesystem". Insertar un disquete, CD o Pendrive requiere montarlos
para ser usados.
• Algunos dispositivos permiten el montado automático o "automount" de acuerdo a como se
comunica con el sistema. El disquette, no avisa al sistema que ha sido insertado, por eso es
necesaria una acción para que se detecte, como listar el directorio al menos. Un CD o
pendrive que son mas modernos, se montan inmediatamente al insertarlo.
5. • Todo lo que se monta, hay que desmontarlo cuando se deja de usar. De lo contrario es
posible de causar corrupción de datos si se desconecta mientras hay archivos de en uso. Ni el
disquete, ni el pendrive tienen mecanismo para evitar que se remueva si está en uso. El CD
queda bloqueado, y el botón de eject, no funciona hasta que el desmontado se realiza
correctamente. (en algunas distros esto no es asi, y a veces quitamos un cd o dvd mientras se
está reproduciendo, y causamos pérdida de datos o cuelgue del programa que los estaba
reproduciendo).
• Directorios y archivos que comienzan con punto, se ocultan. No hay atributo de ocultar, es
simplemente el nombre.
• Directorios y archivos tienen un solo dueño y un solo grupo. Identificados por el número de
usuario (UID) y número de grupo (GID). *
• Directorios y archivos tienen permisos, determinan que puede hacer el dueño, el grupo y los
otros. *
• Es importante tener en cuenta que hay modas, y que algunos directorios usados
históricamente, se dejan de lado en favor de otros, cuando se unifican criterios entre las
grandes distribuciones para mejorar la compatibilidad de programas. Un ejemplo de ellos es
el directorio /cdrom, que ahora monta en /media/y el nombre de la carpeta correspondiente
al cd o dvd.
• Un capítulo aparte sería Nautilus (en Gnome) o Konqueror (KDE) que son navegadores de
archivos y nos permiten llegar mucho más cómodamente a sitios que la consola nos lleva
dificultosamente, por ejemplo un lugar en red, y más aún si queremos salvar de forma
remota, aunque es factible. (no se pongan celosos los que usan Thunar o Rox o cualquier
otros manejadores gráficos de archivos, estamos en un curso de consola).
Para finalizar un cuadro para poder ver más “gráficamente” de lo que estamos hablando:
6.
7. Deberes:
• Encontrar carpetas ocultas en el directorio del usuario. ¿Qué comando usar?
• Archivos de configuración de firefox, ¿Dónde buscarlos?
15.6.2010 - Daniel Mato / Rev: Eduardo Ricobaldi