Sistemas de ficheros

Ficheros. Soportes. Directorios. Organización de directorios. Estructura jerárquica. Punto de vistas del usuario. Punto de vista de Linux. Dispositivos. Organización de usuarios. Ficheros de configuración. Derechos de uso de ficheros. Permisos

  • Enviado por: Puria Shahdoost Rad
  • Idioma: castellano
  • País: España España
  • 21 páginas
publicidad
publicidad

Sistemas de ficheros

Conceptos básicos sobre ficheros.

Un fichero es una secuencia de bytes, y que forma parte de una estructura llamada Sistema de Ficheros.

Atendiendo a su contenido pueden ser de dos tipos:

  • Fichero Ascii o de texto. Pueden ser leídos y exportados fácilmente a otros sistemas operativos.

  • Ficheros binarios o no Ascii. Normalmente son los ejecutables.

Atendiendo a su utilización, pueden ser de tres tipos:

  • Ordinarios. Se utilizan para almacenar la información (texto, datos o programas) de los usuarios o del propio sistema.

  • Directorios. Se utilizan para referenciar un conjunto de ficheros y/o directorios.

  • Drivers o Controladores. Se utilizan para simular o referenciar a dispositivos físicos.

En Unix, las normas para el nombrado de ficheros son las siguientes:

  • Un nombre de Fichero puede tener de 1 a 255 caracteres.

  • No se permiten los caracteres: / ? * [ ] ` “ ` $ # | \ ; & { } etc ni caracteres de control.

  • Unix distingue entre mayúsculas y minúsculas. Se recomienda utilizar siempre minúsculas.

  • No existe extensión. Pueden haber varios puntos. Se recomienda utilizar nombres con un punto y a continuación algo que indique el tipo de fichero de que se trata.

Soporte de los Ficheros.

Un fichero posee varios componentes: Nombre, Contenido e Información propia (fecha de creación, fecha de último acceso, permisos, dirección de almacenamiento, etc...).

En Unix la información relativa a los ficheros está en las Tablas de Nodos de Indices. También llamadas INODES o NODOS-I.

Las tablas de inodes soportan la información administrativa de los ficheros, son gestionadas directamente por el sistema y son creadas al crear un Sistema de Ficheros, bien sea en la instalación o al crear otro.

Un inode es un registro de esta tabla y contiene información administrativa de cada fichero:

  • Identificador de Grupo.

  • Identificador de Usuario.

  • Permisos.

  • Fecha y hora de la última modificación.

  • Fecha y hora del último acceso.

  • Número de enlaces.

  • Tipo de fichero (ordinario, directorio, driver de caracteres, driver de bloques).

  • Puntero hacia los bloques de disco que contienen la información contenida en el fichero.

El tamaño de los inodos se asigna en la instalación. Normalmente los inodos van cada 4096 bytes, 2048, 1024. Su elección dependerá del espacio en disco disponible. A menor espacio en disco se debe elegir, menor tamaño de inodo, ya que cada vez que se crea un fichero, por pequeño que sea, se usa uno.

Por defecto 1 inodo = 4096 bytes. Con este tamaño de inodo los bloques tienen 102424 bytes.

Para saber el número de INODE de un fichero ejecutar ls -li.

Organización de Directorios.

Los directorios están organizados en grafos (árbol).

Los ficheros almacenados en un directorio pueden ser de cualquier tipo: ficheros ordinarios, directorios o ficheros drivers.

Hay un directorio que no posee antecedente o padre. Es el directorio raíz. Su símbolo es el carácter /.

Cada fichero se puede referenciar unívocamente expresando un camino hacia él, desde el directorio raiz (camino absoluto).

Un fichero se puede referenciar desde el subárbol actual (camino relativo).

El carácter `/' está reservado para la construcción de caminos y por tanto, no podrá formar parte de un nombre de fichero.

Cualquier directorio contiene dos ficheros por defecto que a su vez son directorios:

  • . el propio directorio.

  • .. el directorio padre o antecedente al actual.

Un fichero puede hacerse accesible desde más de un directorio mediante enlaces o cambiando la ruta de búsqueda (Path)

Unix se organiza en Sistema de ficheros, que es el conjunto de directorios y su información necesaria, desde su instalación. Es importante no modificar esa organización para el buen funcionamiento del sistema, ya que, el sistema reconoce internamente determinados caminos por defecto a ficheros internos del sistema.

Cada una de las fracciones del árbol de directorios puede ser a su vez un Sistema de Ficheros (file system), ello posibilita la integración de la información entre sistemas o dispositivos, haciendo coincidir esa unidad con un nodo del sistema de ficheros, árbol principal.

En la práctica, un sistema de ficheros se maneja como una unidad lógico-física, y por tanto, se suele asignar un sistema de ficheros a cada unidad, pero no necesariamente debe ser así.

Unix se organiza en sistema de ficheros desde su instalación, en la que crea una serie de Directorios necesarios para el buen funcionamiento del sistema. El sistema de ficheros inicial de linux sin usuarios (distribución Red Hat) es el que a continuación detallamos, y antes de esto mencionar que esta estructura de ficheros cambia según la versión de Unix que estemos utilizando:

Directorio

Contiene

/

Directorio raiz. Donde comienza el árbol de directorios

/bin

Binarios esenciales en modo monousuario para reparación y arranque

/boot

Fichero de inicio (núcleo), y otros ficheros de carga

/dev

Ficheros de dispositivos

/etc

Ficheros de configuración de la máquina, en los que puede haber directorios dependiendo del programa que contenga los ficheros de configuración. Algunos programas guardarán sus ficheros de configuración en /etc o /usr/etc (que podrían ser enlaces)

/etc/skel

Guardará el "esqueleto", que tendrá en común todo nuevo usuario que se cree

/etc/X11

Ficheros de configuración del sistema X11

/home

Directorio donde se guardarán los usuarios

/lib

Bibliotecas compartidas (shared) o librerías dinámicas, necesarias para el funcionamiento del sistema

/mnt

Directorio sobre el que se montarán las sistemas de ficheros

/proc

Información acerca del estado del núcleo

/sbin

Directorio que contiene comandos, sólo ejecutables para el SuperUsuario

/tmp

Este directorio contiene ficheros temporales que pueden borrarse sin previo aviso. o durante el arranque del sistema

/usr

Normalmente, este directorio se monta desde una partición separada. Debería contener solamente datos compartibles de sólo lectura, de forma que pueda ser montado por varias máquinas que usen Linux

/usr/X11R6

El sistema X-Window, versión 11 distribución 6

/usr/X11R6/bin

Binarios pertenecientes al sistema X11R6 (X Versión 11, revisión 6)

/usr/X11R6/lib

Bibliotecas de programas (librerías) asociadas a los binarios

/usr/X11R6/lib/X11

Varios ficheros de distinta utilización para las X

/usr/X11R6/include/X11

Ficheros de cabecera, necesarios para la compilación de las mismas X, o para cualquier otro programa que quieras compilar

/usr/bin

Binarios para el funcionamiento del sistema, deberán de estar aquí todos aquellos programas que puedan usar los usuarios, EXCEPTO los programas que sean del administrador, que debieran estar en /usr/sbin

/usr/bin/X11

Binarios de las X11, generalmente enlace a /usr/X11R6

/usr/dict

Diccionarios de palabras para distintos correctores ortográficos

/usr/etc

Directorio donde se guardan los ficheros de configuración de los distintos programas, los programas que funcionen en /usr/local/bin, tendrán, generalmente su configuración en /usr/local/etc

/usr/include

Ficheros de cabecera para el compilador C

/usr/include/X11

Ficheros de cabecera para el compilador C y el sistema X-Windows

/usr/include/asm

Ficheros de cabecera que declaran algunas funciones de ensamblador.

/usr/include/linux

Información acerca de la versión de el sistema Linux.estas cabeceras son necesarias para la compilación de cualquier programa

/usr/include/g++

Ficheros de cabecera para usar con el compilador GNU C++.

/usr/lib

Bibliotecas de programas (librerías), y ejecutables que son requeridos para el funcionamiento de algunos programas

/usr/lib/X11

Librerías para las X

/usr/lib/zoneinfo

Ficheros para la información de la zona horaria

/usr/local

Aquí es donde van típicamente los programas que son locales a la máquina

/usr/local/bin

Aquí van los binarios de los programas locales a la máquina

/usr/local/doc

Documentación local.

/usr/local/etc

Ficheros de configuración instalados localmente

/usr/local/lib

Aquí van los ficheros asociados a los programas instalados localmente

/usr/local/man

Ayudas

/usr/local/src

Código fuente para los programas instalados localmente

/usr/man/<locale>/man[1-9]

Aquellos sistemas que den cabida a varios usuarios de distintas nacionalidades, podrán tener en la cadena <locale>, el lenguaje al que pertenece cada ayuda

/usr/sbin

Programas binarios para la administaración del sistema

/usr/src

Ficheros fuentes (incluido el núcleo)

/usr/src/linux

Núcleo en código fuente

/usr/tmp

Directorio que contiene información temporal

/var

Contenedor de información, como registros de último acceso, colas de impresión, peticiones..., PIDs

/var/lock

En este directorio se crean los ficheros de bloqueo. La convención para nombrar los ficheros de bloqueo es LCK.<device> donde <device> es el nombre del dispositivo en el sistema de ficheros. El formato utilizado es el de los ficheros de bloqueo HDU UUCP, esto es, ficheros de bloqueo que contienen un PID como un número decimal ASCII de 10 bytes, seguido por un carácter de salto de línea.

/var/log

Ficheros "log" misceláneos

/var/preserve

Copias de seguridad del editor VI

/var/run

Ficheros de variables de ejecución, como los ficheros que contienen los identificadores de proceso (PIDs) y la información de los usuarios "logeados". (utmp). Los ficheros de este directorio se suelen borrar cuando se arranca el sistema

/var/spool

Ficheros en cola para varios programas

/var/spool/at

Trabajos en cola para at(1).

/var/spool/cron

Trabajos en cola para cron.

/var/spool/lpd

Trabajos en cola para su impresión

/var/spool/mail

Buzones de los usuarios

/var/spool/smail

Ficheros en cola para el programa smail de distribución de correo

/var/spool/news

Directorio de encolado para el subsistema de noticias

/var/spool/uucp

Ficheros en cola para uucp

/var/tmp

Como /tmp este directorio contiene ficheros temporales, almacenados durante un tiempo no especificado.

Estructura Jerárquica. Organización de Directorios Punto de vista del usuario:

La estructura Jerárquica viene determinada por el contenido de los directorios.

La lista de directorios que hay que recorrer desde el directorio raíz se denomina vía o ruta. En el gráfico anterior, la vía de acceso al directorio `ejemplos' , sería: /home/primi1/ejemplos

Estructura Jerárquica. Organización de Directorios. Punto de vista de Linux.


dir raiz (/)

dir dev

dir home

dir prim1

dir ejemplos

dir prim2