El nombre de un fichero o directorio está formado por letras, números y otros caracteres, salvo el carácter / que se utiliza como separador en una lista de directorios. Debemos evitar los metacaracteres de la shell en los nombres de ficheros. En caso necesario, si el nombre tiene del fichero tiene un metacarácter o espacio en blanco, será necesario proteger el nombre completo del fichero con comillas (") o el metacarácter concreto, incluido el espacio en blanco, con el carácter "\". El espacio es necesario protegerlo porque si no se hace la shell lo toma como final del nombre.
Por ejemplo, serían nombres válidos de ficheros:
fichero-datos.txt
"fichero de datos.txt"
fichero\ de\ datos.txt
fichero_copia\(1\).txt
|
No serían nombres de ficheros válidos:
fichero>datos.txt
fichero de datos.txt
fichero_copia(1).txt
|
Los sistemas unix no identifican ninguna extensión en los nombres de ficheros, el nombre de un fichero en ningún caso determina su funcionalidad, es decir, un ejecutable no tiene por qué terminar en .exe, por ejemplo. Esto con respecto al sistema operativo, pero sí puede ocurrir que estemos utilzando un entorno gráfico de escritorio y este entorno sí que pueda identificar ciertos nombres de ficheros para aplicar unas características, pero esta labor es del entorno de escritorio, no del sistema operativo.
Hay ocasiones en que nos interesa usar nombres de ficheros que hagan referencia, no a un fichero individual, sino a un conjunto de ficheros. Para estos casos tenemos las plantilla. Una plantilla se forma con caracteres normales y mediante los caracteres:
* equivale a cualquier cadena de caracteres. Por ejemplo ab* equivale a todos los ficheros que empiecen por ab.
? equivale a un carácter individual. Por ejemplo ab? equivale a los nombres de ficheros (o directorios) con tres caracteres y los dos primeros son ab.
Para indicar la ubicación en disco de un fichero hay que indicar la lista de directorios que contienen al fichero. Es decir, un fichero puede estar dentro de un directorio que a su vez está dentro de otro y así varios. En esta lista, que denominaremos ruta de acceso, cada directorio está separado del siguiente directorio por el signo / , y sin dejar espacios en blanco. Por ejemplo:
/usr/bin/wc
|
hace referencia la fichero wc que está contenido en el directorio bin, que a su vez está dentro del directorio usr, que está en el directorio raiz.
Para facilitar las cosas existen ciertos directorios especiales:
/ Es el directorio raíz. El superior de todos.
. Es el directorio activo. En el que nos encontramos en un momento dado. El directorio actual se puede cambiar con una simple orden que se verá con posterioridad.
.. Es el directorio superior al que nos encontramos. El único directorio que no tiene directorio superior es el directorio raíz.
Una ruta tiene que especificar de forma única un elemento de sistema de ficheros. Ahora veremos como hay dos formas de expresar la ruta de un fichero, rutas absolutas y rutas relativas.
Una ruta absoluta es aquella que parte del directorio raíz. Las rutas absolutas son válidas en cualquier caso. Si establecemos como ejemplo paralelo la dirección de la vivienda, la dirección abosluta incluye la calle y el número de la vivienda, de forma única e independiente.
Ejemplo:
/home/usuario/.profile
|
Es una ruta que parte del directorio actual como origen. Esta ruta sólo es válida desde un directorio actual concreto , es decir es relativa a un directorio. Si seguimos el ejemplo que pusimos para la dirección de una vivienda, una ruta relativa es como si te indicaran "dos casas más allá de cierta esquina". Observamos como la dirección "dos casas más allá una cierta esquina" es sólo válida para una calle, y esa misma dirección referida a otra calle sería otro inmueble distinto. Es decir la ruta relativa depende del punto de partida.
../../.profile
|
En este caso estamos haciendo referencia al fichero .profile que está dos directorios por encima del directorio activo.