Make your own free website on Tripod.com

Linux

Estructura de Ficheros

Principal | E/S Sistema | Estructura de Ficheros | Comandos man e info | Terminales virtuales | Usuarios y Permisos | Interpretes de comandos | Variables de entorno | FSSTND | Algunos ficheros de /etc | Comandos at y crontab

Estructuras de ficheros

Una de las tareas principales de Linux es la organización, almacenamiento y recuperación de la información en los dispositivos. Para ello se utilizan los ficheros, también conocidos bajo el nombre de archivos. Un fichero o archivo es un conjunto de información homogénea y relacionada que se almacena en un disco bajo un nombre mediante el cual podrá ser recuperada o modificada posteriormente.

En este apartado vamos a aprender el manejo básico de ficheros y directorios, como es: cómo crearlos, borrarlos, cambiar su nombre, o moverlos a un directorio distinto.

Los nombres de los ficheros

Los nombres de los ficheros pueden tener de 1 hasta 255 caracteres y es aconsejable que sean significativos, es decir, que identifique la información que está almacenada en el fichero. 

Existen caracteres especiales que no se pueden usar en los nombres de los  ficheros, como son  # $ ? * ( ) ' " ! <TABULADOR> <ESPACIO> / ; < > ^, ya que estos tienen un significado especial para el sistema.

Opcionalmente, los ficheros pueden tener una extensión, que es un punto seguido de una abreviación del nombre del tipo de la información que contiene el fichero. Por ejemplo:

mis_cartas.txt (.txt = texto)
mis_datos.dat (.dat = datos)
una_imagen.img (.img = imagen)
otra_imagen.jpg (.jpg = imagen JPEG [Joint Photographic Experts Group])

Los directorios

Linux utiliza una estructura jerárquica, en forma de árbol invertido, para organizar los ficheros de las unidades de disco. Para Linux, hay un directorio raíz donde se van montando las unidades de disco, formando así una estructura jerárquica. Para más información sobre el montado, pulsar aquí.

Un directorio es el lugar donde se guardan los ficheros en los discos. Los directorios utilizan una especie de índice en el que se guardan el nombre de los ficheros que se almacenan en él, el día y la hora de su creación, su tamaño, el lugar donde se encuentra almacenado en el disco, la persona que lo creó, los permisos que tienen los otros usuarios sobre el directorio, etc... Para más información sobre los permisos, haz clic aquí.

El sistema operativo permite a los usuarios crear sus propios directorios, a partir del directorio inicial o de otros directorios ya creados, de forma que puede organizar el almacenamiento de los ficheros. El nombre de los directorios puede tener entre 1 y 255 caracteres, al igual que en los ficheros. También existen dos nombres de directorio que se usan para indicar el directorio padre y el directorio actual, que son . y .. (punto y dos puntos).

Existen unos caracteres cuyo uso está prohibido en el nombre de los directorios, al igual que en los ficheros. Estos caracteres son los mismos que en los ficheros.

Linux es un sistema operativo orientado a ficheros, es decir, en Linux, todo se hace mediante ficheros, ya sea la comunicación con la impresora, leer las pulsaciones del teclado, la comunicación con la tarjeta de sonido, etc... Los ficheros pueden ser más o menos especiales (hay varios tipos de ficheros), pero al fin y al cabo son ficheros.

Las rutas de los ficheros

Los ficheros se almacenan en los directorios. Para acceder a ellos es necesario situarse en el directorio en el que se encuentran, o bien indicar la ruta que hay que seguir para llegar a ellos. Las rutas se construyen de la siguiente forma:

[~][/][directorio/][directorio/]un_fichero
(Los corchetes indican elementos que son opcionales.)

El siguiente esquema muestra el uso de las rutas:

Si estamos en el directorio mozart, la ruta hasta el fichero flauta_mágica.mp3 es, sencillamente, el nombre del fichero.

Suponiendo que estemos en nuestro directorio de inicio (que se llama usuario1), y que queremos acceder al fichero we_will_rock_you.mp3, la ruta sería:
música/rock/queen/we_will_rock_you.mp3

Sin embargo, hay otra manera de referirse a los directorios y ficheros, que es independiente del directorio en el que nos encontramos, porque se toma como referencia inicial el directorio raíz ( /). A esta forma se le denomina referencia absoluta . Las dos rutas serían:
/home/usuario1/música/clásica/mozart/flauta_mágica.mp3
/home/usuario1/música/rock/queen/we_will_rock_you.mp3

Y si estuviéramos en el directorio rock, y queremos acceder al fichero flauta_mágica.mp3, la ruta sería:
../clásica/mozart/flauta_mágica.mp3

La última forma de referirse a los ficheros es relativa al directorio de inicio del usuario. Su forma consiste en sustituir el "/home/usuario1" por un caracter "~", de la referencia absoluta. Así, las rutas se quedarían en:
~/música/clásica/mozart/flauta_mágica.mp3
~/música/rock/queen/we_will_rock_you.mp3

Existe una cosa importante más: los comodines. Para referirse a más de un fichero se utilizan estos caracteres * ó ?. El primero (*) se refiere a cero o más caracteres, mientras que el segundo (?) se refiere a cero o un caracter. Así, podremos referirnos a todos los ficheros que empiecen con la letra a mediante la siguiente ruta:
a*

Y se referirá el siguiente ejemplo a todos los ficheros que empiecen por a, después tengan ningún o un caracter, seguidos por una c y terminado en .txt
a?c.txt

Este ejemplo se referirá a los siguientes ficheros, entre otros: ac.txt, a2c.txt, aZc.txt, a-c.txt, etcétera ...


Cómo crear un fichero

Existen muchas maneras de crear ficheros, la manera más fácil es usar el comando cat para crear un simple fichero de texto. Este programa toma las  pulsaciones del teclado, y las mandan a la pantalla, o a un fichero. Por ejemplo:

[usuario @ localhost : ~] > cat > midocumento<INTRO>
Hola, esto es una prueba<INTRO>
<CTRL-D>
[usuario @ localhost : ~] >

Esto crearía un fichero llamado "midocumento" dentro de la carpeta actual. Hay que señalar que donde pone <INTRO> o <CTRL-D>, no se refiere a que se teclee < - I - N - T - R - O - >, sino que se pulse la tecla intro.

También podríamos haber utilizado un editor de textos, como emacs, vim, o cualquier otro.

Cómo visualizar los ficheros

La forma de visualizar los ficheros que hay en un directorio en Linux es mediante el comando ls. Este comando muestra por pantalla una lista de  los ficheros y directorios que cuelgan del directorio actual (En este contexto, "colgar" significa que "están dentro").

[usuario1@localhost usuario1]# ls
auto_inst.cfg.pl  Desktop/  install.log    NIC_install/        report.bug
ddebug.log        hola.txt  kernel.config  replay_install.img  tmp/
[usuario1@localhost usuario1]# _

Para visualizar el fichero que hemos creado anteriormente, el comando a utilizar es less. Less es un programa que sirve para visualizar por pantalla un fichero de texto que no quepa en una sola pantalla, permitiendo el desplazamiento por el documento a través de las teclas flecha-arriba y flecha-abajo. Cuando se haya terminado de visualizar el fichero, pulsaremos la tecla q para salir del programa.

[usuario@localhost usuario1] > less midocumento<INTRO>
Hola, esto es una prueba
midocumento.txt lines 1-1/1 (END)                      

La línea que aparece en la parte de abajo de la pantalla muestra el nombre del fichero, la línea en la que nos encontramos, el número total de líneas que tiene el fichero, y dónde nos encontramos en el fichero.

Cómo crear directorios

Para crear un directorio, hay que usar el comando mkdir (que viene del inglés: MaKe DIRectory), y habrá que especificar el nombre del directorio:
[usuario @ localhost usuario1] > mkdir música<INTRO>
[usuario @ localhost usuario1] > _

Con ese comando habremos creado el directorio música . Para comprobar que verdaderamente está el directorio creado, usaremos el comando ls:
[usuario @ localhost usuario1] > ls
midocumento      música/
[usuario @ localhost usuario1] > _

La barra (/) después del nombre del directorio indica que es un directorio.

Cómo cambiar de directorio actual

El comando que se utiliza para moverte a otro directorio es cd . Después de este comando, hay que escribir el nombre del directorio al que nos queremos mover:
[usuario @ localhost usuario1] > cd música
[usuario @ localhost usuario1] > _

Cómo copiar ficheros

El comando utilizado en Linux para copiar se llama cp. después del comando cp, hay que escribir dos rutas de ficheros, el primero siendo el fichero existente, y el segundo la ruta de dónde queramos que aparezca el nuevo fichero. Así, si queremos crear un directorio de copias de seguridad, y hacer una copia del fichero midocumento en ella, los comandos a ejecutar son éstas:
[usuario @ localhost usuario1] > mkdir copias_seg
[usuario @ localhost usuario1] > cp midocumento copias_seg
[usuario @ localhost usuario1] > _

Cómo borrar directorios y ficheros

El comando para borrar es rm, aunque hace falta que especifiquemos unos argumentos (los argumentos son las opciones que se escriben detrás del nombre del comando) especiales a la hora de borrar directorios.

Para borrar un fichero lo único que hay que especificar es el nombre del fichero:
[usuario @ localhost usuario1] > rm midocumento
[usuario @ localhost usuario1] >
_

Para borrar directorios, hay que utilizar rm -rf, con el nombre del directorio a borrar:
[usuario @ localhost usuario1] > rm -rf música
[usuario @ localhost usuario1] >
_

Cómo renombrar y mover ficheros y directorios

En Linux, hay un único comando que se utiliza para mover y cambiar de nombre los ficheros y directorios; su nombre es mv. A mv hay que proporcionarle una ruta de origen y una de destino. Si queremos mover un fichero abc.txt a un directorio copias_seguridad, el comando que se utilizaría sería este:
mv abc.txt copias_seguridad

Si, por el contrario, queremos mover el directorio copias_seguridad al directorio raíz, el comando sería este (suponiendo que hayamos hecho login como el administrador):
mv copias_seguridad /

Esto es un resumen de algunos de los comandos vistos anteriormente:

[usuario1 @ localhost usuario1]$ ls            (visualiza los ficheros que hay en este directorio)
tmp/
[usuario1 @ localhost usuario1]$ cat > midocumento.txt     (crear un fichero llamado midocumento.txt)
Hola, Juan, los archivos que me pediste ya están listos.
      (el texto del fichero, terminado en <CTRL+D>)
[usuario1 @ localhost usuario1]$ ls          (para visualizar los ficheros otra vez)
midocumento.txt  tmp/                              (ha aparecido el nombre del fichero midocumento.txt)
[usuario1 @ localhost usuario1]$ mkdir música     (crear el directorio música)
[usuario1 @ localhost usuario1]$ ls              (visualizar ficheros otra vez)
midocumento.txt  música/  tmp/                     (ahora aparece también el directorio música)
[usuario1 @ localhost usuario1]$ mv midocumento.txt música/    (mover el fichero midocumento.txt al directorio música)
[usuario1 @ localhost usuario1]$ ls   (...)
música/  tmp/                                     (ha desaparecido el fichero midocumento.txt)
[usuario1 @ localhost usuario1]$ ls música/    (visualizar el contenido del directorio música)
midocumento.txt
[usuario1 @ localhost usuario1]$ cd música/     (cambiar al directorio música)
[usuario1 @ localhost música]$ ls              (fíjate que el símbolo del sistema ha cambiado para reflejar el directorio actual)
midocumento.txt
[usuario1 @ localhost música]$ _

* Profesor Fernando Guerrero *
e-mail: perito.informatica@gmail.com