Shell Bash de Linux: Rutas relativas vs rutas absolutas.
Si alguna vez te has preguntado qué es una ruta relativa en Linux, sigue leyendo porque aquí te daremos la respuesta.
Cuando se empieza a manejar un intérprete de comandos, una de las cosas que más cuesta es acostumbrarte a encontrar y hacer referencia a elementos del sistema de ficheros. Mientras que en un entorno gráfico tenemos que hacer click en carpetas y subcarpetas hasta llegar al elemento deseado, en el intérprete de comandos tendremos que conseguir lo mismo, pero indicando el lugar mediante una cadena de texto compuesta por los nombres de las carpetas que hay que recorrer hasta el lugar donde se encuentra el elemento deseado. Según el sistema cada nombre de carpeta se separa por un carácter especial, que en Linux será la barra ( /
).
Estas rutas serán usadas por los comandos para saber dónde encontrar los elementos sobre los que tienen que realizar la acción correspondiente. Por ejemplo, si quiero posicionarme en un directorio determinado, utilizaré el comando cd
y para indicar el sitio adonde quiero ir usaré una ruta, por ejemplo cd /home/
. El comando cp
copia elementos, en este caso necesitaremos dos rutas una para el origen (elemento que quiero copias) y otra para el destino (elemento nuevo que voy a crear o lugar donde voy a dejar las copias). Por lo tanto podría poner cp /etc/passwd /home/copia_passwd
Hay dos formas de utilizar rutas, una es de forma absoluta y la otra de forma relativa. Vamos a explicar la diferencia a continuación
Contenidos
Rutas Absolutas
El sistema de ficheros es una estructura jerárquica que en el caso de Linux tiene una raíz que se indica cuando se pone solamente el carácter barra /
. En la raíz están los directorios principales del sistema que a su vez tendrán subdirectorios en su interior. Cuando yo quiero indicar dónde se encuentra un elemento usando una ruta absoluta, tendré que indicarle todos los directorios por los que hay que pasar empezando desde la raíz del sistema. O lo que es lo mismo, SIEMPRE empezarán por /
Ejemplos de rutas absolutas:
/etc/apt/sources.list
/var/log/syslog
/home/alumno/.bashrc
/usr/bin/
Estas rutas suelen ser bastante largas, pero como ventaja tienen que funcionan siempre, independientemente del lugar desde el que ejecute la orden. Es muy recomendable utilizar la facilidad que brinda el BASH de completar el nombre de un elemento del sistema de ficheros pulsando la tecla tabulador. Ahorrará mucho tiempo y errores.
Rutas Relativas
Las rutas relativas indican el camino para encontrar un elemento, pero basándonos en el directorio desde el que se ejecuta la orden. Son mucho más cortas que las absolutas, pero para saber si son correctas o no tenemos que saber siempre desde dónde se han utilizado.
Un atajo fundamental para la construcción de rutas relativas es conocer que ..
hace referencia al directorio padre. Por lo tanto se ejecuto cd ..
estoy dando la orden de cambiar de directorio al padre del actual, es decir, al que está justo antes en la estructura jerárquica. El único elemento que no tiene padre es la propia raíz del sistema ( / )
Las rutas relativas harán referencia a un elemento que se encuentre en el directorio desde el que ejecutamos la orden, o usará los dos puntos para ascender a directorios superiores. Siempre que sean correctos, podemos combinarlos de la forma que necesitemos separando cada directorio por una barra. Por ejemplo una ruta correcta podría ser ../../fotos/personales/
Ejemplos de rutas relativas:
../javier/documentos/
mis-fotos/verano.jpg
carta.txt
../../home/alumno/.bashrc
Crear directorio con ruta relativa linux
Normalmente un directorio siempre se va a crear con una ruta relativa, ya que es muy común que lo hagamos como hijo del directorio donde estamos ejecutando la orden. Así pues mkdir mis-fotos
es una orden que utiliza la ruta relativa “mis-fotos” como nombre para el nuevo directorio. Totalmente diferente sería si utilizara la ruta absoluta mkdir /mis-fotos
ya que estaría indicando que el nuevo directorio se va a crear en el directorio raíz.
Explicaciones en video
La explicación y ejemplos los podéis ver en este video de nuestro canal de youtube.
Si os parece interesante podéis suscribiros a nuestros cursos sobre Linux
Pero lo que más recomiendo es que accedáis al curso gratuito “Bash: intérprete de comandos de Linux” pinchando aquí, donde encontraréis muchas más explicaciones sobre el manejo del Bash, con prácticas y ejercicios.
Etiqueta:bash