ant

EL SISTEMA DE FICHEROS
3.5

sig

3.5 Explorando el Sistema de Ficheros

El sistema de ficheros es la colección de ficheros y la jerarquía de directorios de su sistema. Primero cambie al directorio raíz (cd /) y ejecute ls -F. Probablemente verá estos directorios: bin, boot, dev, etc, home, lib, lost+found, mnt, proc, root, sbin, tmp, usr, y var. Echemos un vistazo a cada uno de estos directorios.

/bin

/bin es la abreviación de "binaries", o ejecutables. Es donde residen la mayoría de los programas esenciales del sistema. Use la orden "ls -F /bin" para listar los ficheros. Podrá ver algunas ordenes que reconocerá, como cp, ls y mv. Estos son los programas para estas ordenes. Cuando usa la orden cp está ejecutando el programa /bin/cp. Usando ls -F verá que la mayoría (si no todos) los ficheros de /bin tienen un asterisco ("*") añadido al final de sus nombres. Esto indica que son ficheros ejecutables, como describe la Sección 3.3.2.


/boot

Ficheros de arranque (núcleo, ...)


/dev

El siguiente es /dev. Echémosle un vistazo de nuevo con ls -F. Los "ficheros" en /dev son conocidos como controladores de dispositivo (device drivers), son usados para acceder a los dispositivos del sistema y recursos, como discos duros, modems, memoria, etc. Por ejemplo, de la misma forma que puede leer datos de un fichero, puede leerla desde la entrada del raton leyendo /dev/mouse. Los ficheros que comienzan su nombre con fd son controladores de disqueteras. fd0 es la primera disquetera, fd1 la segunda. Aquí tenemos una lista de algunos de los controladores de dispositivo mas usados.
Nótese que incluso aunque puede que no tenga alguno de los dispositivos listados, tendrá entradas en dev de cualquier forma.

· /dev/console hace referencia a la consola del sistema, es decir, al monitor conectado directamente a su sistema.

· Los dispositivos /dev/ttyS y /dev/cua son usados para acceder a los puertos serie. Por ejemplo, /dev/ttyS0 hace referencia a "COM1" bajo MS-DOS. Los dispositivos /dev/cua son "callout", los cuales son usados en conjunción con un módem(cada día menos).

· Los nombres de dispositivo que comienzan por hd acceden a discos duros. /dev/hda hace referencia a la totalidad del primer disco duro, mientras que /dev/hda1 hace referencia a la primera partición en /dev/hda.

· Los nombres de dispositivo que comienzan con sd son dispositivos SCSI. Si tiene un disco duro SCSI, en luga de acceder a el mediante /dev/hda, deberá acceder a /dev/sda. Las cintas SCSI son accedidas vía dispositivos st y los CD-ROM SCSI vía sr.

· Los nombres que comienzan por lp acceden a los puertos paralelo. /dev/lp0 hace referencia a "LPT1" en el mundo MS-DOS.

· /dev/null es usado como "agujero negro", cualquier dato enviado a este dispositivo desaparece. >Para que puede ser útil esto?. Bien, si desea suprimir la salida por pantalla de una orden, podría enviar la salida a /dev/null.

· Los nombres que comienzan por /dev/tty hacen referencia a "consolas virtuales" de su sistema (accesibles mediante las teclas [alt-F1], [alt-F2], etc. /dev/tty1 hace referencia a la primera VC, /dev/tty2 a la segunda, etc.

· Los nombres de dispositivo que comienzan con /dev/pty son "pseudo-terminales". Estos son usados para proporcionar un "terminal" a sesiones remotas. Por ejemplo, si su maquina esta en una red, telnet de entrada usara uno de los dispositivos /dev/pty.


/etc

/etc contiene una serie de ficheros de configuración del sistema. Estos incluyen /etc/passwd (la base de datos de usuarios), /etc/rc (guiones de inicialización del sistema), etc.


/home

/home contiene los directorios "home" de los usuarios. Por ejemplo, /home/Decker es el directorio del usuario "Decker". En un sistema recién instalado, no habrá ningún usuario en este directorio.


/mnt

Punto de montaje de otros sistemas de ficheros.


/lib

/lib contiene las imagenes de las librerias compartidas. Estos ficheros contienen código que compartirán muchos programas. En lugar de que cada programa contenga una copia propia de las rutinas compartidas, estas son guardadas en un lugar común, en /lib. Esto hace que los programas ejecutables sean menores y reduce el espacio usado en disco.


/proc

/proc es un "sistema de ficheros virtual". Los ficheros que contiene realmente residen en memoria, no en un disco. Hacen referencia a varios procesos que corren en el sistema, y le permiten obtener información acerca de que programas y procesos están corriendo en un momento dado. Entraremos en mas detalles en la Sección 3.11.1.


/root

Directorio de trabajo de root.


/sbin

sbin se usa para almacenar programas esenciales del sistema, que usará el administrador del sistema.


/tmp

Muchos programas tienen la necesidad de generar cierta información temporal y guardarla en un fichero temporal. El lugar habitual para esos ficheros es en /tmp.


/usr

/usr es un directorio muy importante. Contienen una serie de subdirectorios que contienen a su vez algunos de los más importantes y útiles programas y ficheros de configuración usados en el sistema. Los directorios descritos arriba son esenciales para que el sistema este operativo, pero la mayoría de las cosas que se encuentran en /usr son opcionales para el sistema. De cualquier forma, son estas cosas opcionales las que hacen que el sistema sea útil e interesante. Sin /usr, tendría un sistema aburrido, solo con programas como cp y ls. usr contiene la mayoría de los paquetes grandes de programas y sus ficheros de configuración.


/usr/X11R6 /usr/X11R6/ contiene el sistema X Window si usted lo instala. El sistema X Window es un entorno gráfico grande y potente el cual proporciona un gran numero de utilidades y programas gráficos, mostrados en "ventanas" en su pantalla. Si esta familiarizado con los entornos Microsoft Windows o Macintosh, X Window le será muy familiar. El directorio /usr/X386 contiene todos los ejecutables de X Window, ficheros de configuración y de soporte. Esto será cubierto con mas detalle en la Sección 5.1.

/usr/bin /usr/bin es el almacén real de programas del sistema UNIX. Contiene la mayoría de los programas que no se encuentran en otras partes como /bin.

/usr/etc Como /etc contiene diferentes ficheros de configuración y programas del sistema, /usr/etc contiene incluso más que el anterior. En general, los ficheros que se encuentran en /usr/etc/ no son esenciales para el sistema, a diferencia de los que se encuentran en /etc, que si lo son.

/usr/include /usr/include contiene los ficheros de cabecera para el compilador de C. Estos ficheros (la mayoría de los cuales terminan en .h, de "header") declaran estructuras de datos, sub-rutinas y constantes usados en la escritura de programas en C. Los ficheros que se encuentran en /usr/include/sys son generalmente usados en la programación de UNIX a nivel de sistema. Si esta familiarizado con el lenguaje de programación C, aquí encontrara los ficheros de cabecera como stdio.h, el cual declara funciones como printf().

/usr/g++-include /usr/g++-include contiene ficheros de cabecera para el compilador de C++ (muy parecido a /usr/include).

/usr/lib /usr/lib contiene las librerias equivalentes "stub" y "static" a los ficheros encontrados en /lib. Al compilar un programa, este es "enlazado" con las librerias que se encuentran en /usr/lib, las cuales dirigen al programa a buscar en /lib cuando necesita el código de la librería. Además, varios programas guardan ficheros de configuración en /usr/lib.

/usr/local /usr/local es muy parecido a /usr contiene programas y ficheros no esenciales para el sistema, pero que hacen el sistema mas divertido y excitante. En general, los programas que se encuentran en /usr/local son específicos de su sistema esto es, el directorio /usr/local difiere bastante entre sistemas UNIX. Aqui encontrará programas grandes como TEX (sistema de formateo de documentos) y Emacs (gran y potente editor), si los instala.

/usr/man Este directorio contiene las páginas de manual. Hay dos subdirectorios para cada página "sección" de las paginas (use la orden man man para mas detalles). Por ejemplo, /usr/man/man1 contiene los fuentes (es decir, los originales por formatear) de las paginas de manual de la sección 1, y /usr/man/cat1 las paginas ya formateadas de la sección 1.

/usr/src /usr/src contiene el código fuente (programas por compilar) de varios programas de su sistema. El más importante es /usr/src/Linux, el cual contiene el código fuente del Núcleo de Linux.


/var

/var contiene directorios que a menudo cambian su tamaño o tienden a crecer. Trazas y spool. Algunos de estos directorios son:

/var/adm /var/adm contiene varios ficheros de interés para el administrador del sistema, específicamente históricos del sistema, los cuales recogen errores o problemas con el sistema. Otros ficheros guardan las sesiones de presentación en el sistema, así como los intentos fallidos. Esto será cubierto en el Capitulo 4.

/var/spool /var/spool contiene ficheros que van a ser pasados a otro programa. Por ejemplo, si su maquina esta conectada a una red, el correo de llegada será almacenado en /var/spool/Mail hasta que lo lea o lo borre. Artículos nuevos de las news" tanto salientes como entrantes pueden encontrarse en /var/spool/news, etc.