11.2. Ficheros y directorios
Los ficheros son una característica del sistema que permite almacenar y organizar la
información, de forma análoga a los documentos en papel. Están organizados en
directorios, que en otros sistemas se denominan carpetas. Echemos un vistazo a la
organización de los ficheros en un sistema Debian:
-
/.
- Una / sola representa el directorio raíz (root directory). Todos los demás
ficheros y directorios están contenidos en el directorio raíz. Si usted viene
del mundo de DOS/Windows, encontrará / muy similar a lo que C: es
para el DOS, esto es, la raíz del sistema de ficheros. Sin embargo, hay
una diferencia notable entre DOS y Linux, y es que DOS mantiene varios
sistemas de ficheros: C: (primer disco duro), A: (primer disquete), y D:
(o bien un CD-ROM o bien un segundo disco duro), mientras que Linux
tiene todos sus ficheros organizados en torno a la misma raíz, /.
-
/home/miusuario.
- Es el directorio privado (home directory) del usuario
«miusuario». Si leemos de izquierda a derecha, veremos que para llegar a
este directorio comenzamos en la raíz, entramos en home, y terminamos
entrando en el directorio miusuario.
-
/etc/X11/XF86Config.
- Éste es el fichero de configuración del sistema de
ventanas X. Reside en el subdirectorio X11 del directorio /etc. A su vez,
/etc es subdirectorio del directorio raíz, /.
Cosas a tener en cuenta:
- Es relevante que los nombres de los ficheros estén en mayúsculas o
minúsculas. Es decir, MIFICHERO y MiFichero son ficheros diferentes.
- Solemos referirnos al directorio raíz sencillamente con /. No confunda este
«root» (raíz) con el usuario root, el que tiene «superpoderes».
- Cada directorio tiene un nombre, que puede contener cualquier letra o
símbolo excepto /. El directorio raíz es una excepción; su nombre es
/ (pronunciado «barra» o «el directorio raíz»), y su nombre no puede
cambiarse.
- Aunque pueda utilizar casi cualquier letra o símbolo en el nombre de un
fichero, en la práctica resulta una mala idea. Es mejor evitar caracteres
que en general tengan significados especiales en la línea de órdenes, entre
ellos { } ( ) [ ] ’ ‘ " \/ ><| ; ! # & ^ *%
- Evite también escribir espacios en los nombres de los ficheros. Si quiere
separar palabras en un nombre, utilice mejor el guión, el punto y el guión
bajo (_). También puede poner en mayúscula la primera letra de cada
palabra, por ejemplo, DeEstaManera.
- A cada fichero o directorio se asigna un nombre completo cualificado,
nombre absoluto, o ruta (path), que da la secuencia de directorios que hay
que atravesar para encontrarlo. Los tres términos son sinónimos. Todos
los nombres absolutos comienzan con el directorio /, y hay una / antes
de cada nombre de directorio o fichero en el nombre. La primera / es
el nombre de un directorio, pero el resto son simples separadores para
distinguir las partes del nombre del fichero.
- Las palabras que se utilizan aquí pueden ser confusas. Imagine el siguiente
ejemplo: /usr/share/keytables/us.map.gz. Es un nombre completo
cualificado; lo que algunas personas denominan ruta. Sin embargo, la gente
se suele referir a él solamente como us.map.gz.
- Hay otro significado para la palabra «ruta». El sentido apropiado puede
extraerse del contexto.
- Los directorios están dispuestos en una estructura de árbol. Todos los
nombres absolutos de fichero comienzan por el directorio raíz. Este tiene
una serie de ramas, tales como /etc y /usr. Estos subdirectorios, a
su vez, se ramifican en más subdirectorios, tales como /etc/init.d y
/usr/local. El conjunto se denomina «árbol de directorios».
- Puede pensar en un nombre absoluto de fichero como el camino (ruta, o
path) partiendo de la base del directorio raíz (/) hasta el final de una rama
(un fichero). También escuchará que la gente se refiere a los directorios
como si fueran un árbol genealógico: de ahí que los subdirectorios tengan
«padres», y que una ruta muestre todos los ascendientes de un fichero.
- También existen caminos relativos, que comienzan en un emplazamiento
distinto al directorio raíz. Lo veremos más adelante.
- No hay ningún directorio que se corresponda con un dispositivo físico,
a diferencia de lo que sucede en DOS y Windows, en los que todas las
rutas comienzan con un nombre de dispositivo tal como C:\. . El árbol
de directorios está pensado como una abstracción del hardware físico, de
manera que pueda utilizar el sistema sin saber qué hardware hay «debajo».
Puede que todos los ficheros estén en un disco, o quizá tenga 20 discos,
algunos conectados a computadoras diferentes en algún lugar de la red. No
lo podría adivinar simplemente echando un vistazo al árbol de directorios,
y casi todas las órdenes del sistema funcionan igual, sin importar en qué
dispositivo(s) físico(s) estén realmente los ficheros.
No se preocupe si no le ha quedado del todo claro. Verá muchos ejemplos más
adelante.