miércoles, 25 de agosto de 2010

Curso Básico de Unix (V)

Hoy trataremos sobre archivos y directorios, así que lo primero es definir un sistema de ficheros como un conjunto de estos usado para almacenar y organizar la información. La información se guarda siempre en ficheros. De hecho, en Unix, todo se almacena mediante ficheros. Un directorio, un disco o un dispositivo, un monitor…  todo son ficheros.

De cara al usuario, solo hay directorios y ficheros, aunque puede haber sistemas de ficheros sin archivos ni directorios, cuyo ejemplo mas claro es el sistema de swap. Los sistemas de ficheros se crean siempre sobre un dispositivo de almacenamiento y dependen del sistema.

Un fichero, es un conjunto de datos con un nombre que se encuentra en un dispositivo de almacenamiento gestionado por un sistema de archivos. Normalmente, suele estar dentro de una estructura de directorios.

Un directorio es un método que permite organizar el sistema de archivos mediante diferentes niveles. Normalmente, mediante una jerarquía de árbol, porque siempre se pueden añadir a ella mas elementos.

Cada Unix tiene su propio sistema de ficheros, por ejemplo Linux suele usar ext2 ó ext3, Solaris usa UFS

Todo en Unix se dispone a partir de un sistema de ficheros originado en “/” Este sistema se crea siempre y tiene que estar funcionando para que el sistema funcione. Luego se pueden añadir o quitar otros sistemas de archivos dentro de este árbol principal, por ejemplo, cuando conectamos un pendrive con su propio árbol de directorios, o un CD…

Dentro de estos sistemas de archivos, todo se referencia con un path, es decir, un camino, que bien puede ser relativo, y partir desde donde nos encontremos posicionados en ese momento dentro del árbol, o bien puede partir desde el inicio del sistema de archivos. Por ejemplo, si estoy en mi directorio home, puedo referenciar un fichero de dos maneras:
./Descargas/debian.iso
/home/carlos/Descargas/debian.iso
En el post anterior del curso, dijimos que ls -l nos daba información detallada del fichero. El primer carácter, es el que nos dice cual es el tipo de fichero


  • - fichero ordinario
  • d directorio
  • c dispositivo de carácter
  • b dispositivo de bloques
  • t temporales
  • f fifo
  • p fifo
  • I simbólico
Los ficheros ordinarios, son los “normales”, ya sean de texto o binarios. Al crearlos, se crean como fichero de texto no ejecutable y de tamaño cero y luego se les cambia o modifica.

Los directorios son ficheros para mantener la estructura de árbol. Los controla el sistema y no se les puede añadir texto, pero si directorios. No se pueden editar pero si listarlos.

Los ficheros de dispositivo son ficheros asociados a dispositivos hardware, y se encuentran dentro de /dev. Tiene meta datos, información del dispositivo y su modo de uso y los datos enviados o recibidos. Los de tipo carácter suelen ser terminales o impresoras. Los de tipo bloque suelen ser discos, cintas..

Los temporales se crean cuando se esta haciendo una operación y se necesitan datos intermedios. Se crean, se utilizan y se borran. Suelen estar en /temp

Los tipo fifo se crean para transferir información entre dos comandos. Se crean, emplean y borran automáticamente, por lo que es casi imposible que podamos ver uno.

Vamos a ver algunos de los directorios más importantes del sistema:
  • /                      Es el origen de todo el sistema. Siempre debe existir.
  • /bin                 Allí se ubican los ejecutables del sistema.
  • /usr                 Aquí están las utilidades de los usuarios
  • /usr/bin           Aquí están los ejecutables de los usuarios
  • /etc                Aquí se ubican los ficheros de administración del sistema.
  • /dev               Dentro se encuentran todos los dispositivos del sistema.
Y ahora que ya sabemos cuales son los tipos de ficheros, los directorios importantes, la organización… estaría bien saber como pueden ser sus nombres.
  • Máximo de 255 caracteres
  • No se emplean extensiones para identificar su tipo
  • Se distinguen mayúsculas de minúsculas
  • No suelen comenzar por número ni por carácter especial.
  • Pueden existir ficheros ocultos, son lo que su nombre empieza por un punto
El nombre de un fichero puede referirse de manera relativa o absoluta, es decir, dando todo el camino hasta el fichero desde / o dándolo solo desde la rama del árbol en que nos encontremos. Unos ejemplos:
./Descargas/documentales/historia/La edad media.ogg
/home/carlos/Descargas/documentales/historia/La edad media.ogg
Para referenciar el path, tenemos unos indicadores especiales que son:
  • .       indica que nos referimos al directorio actual
  • ..      nos referimos al directorio anterior en la estructura del árbol
  • /       nos referimos al inicio del sistema de directorios
Y por último en este tema, vamos a ver cual es la estructura genérica de un sistema de ficheros.


  1. Boot               Es el inicio del FS, suele estar en el primer sector del disco y puede albergar el sistema de arranque
  2. Superbloque    Informa del FS. Número de bloques totales, libres, inodos.
  3. Inodos            Guarda información de ficheros (creador, grupo, nombre, donde esta físicamente…
  4. Datos              Es la zona de almacenamiento de datos
  5. Swap              Puede estar dentro del FS o no.
Y con esto ya es bastante por hoy.

No hay comentarios:

Publicar un comentario

prekes sodui