Ruta relativa frente a ruta absoluta en Linux: ¿cuál es la diferencia?
¿Está confundido acerca de si usar expresiones de ruta relativas o absolutas en su próximo proyecto? Comience aprendiendo la diferencia entre los dos.
Los nombres de ruta absolutos y relativos son dos formas de especificar la dirección virtual de un directorio o archivo en Linux. Pero, ¿cuál es la diferencia entre estos dos tipos de ruta y cuál debe usar en sus comandos? Vamos a averiguar.
Rutas relativas y absolutas en Linux
Si alguna vez ha usado un comando de Linux basado en argumentos como cd o ls, sabrá que hay varias formas de especificar la ruta a un directorio o archivo.
Es posible que prefiera apegarse a las expresiones de ruta normales o, si es un usuario avanzado de Linux, emplear expresiones regulares complejas para pasar un nombre de archivo o directorio a un programa. De cualquier manera, solo hay dos formas de especificar una ruta de directorio en Linux: ruta absoluta y ruta relativa.
Expresiones de ruta absoluta
Una ruta absoluta siempre comienza desde el directorio raíz y termina en el directorio o archivo real al que desea apuntar. Al usar la expresión de ruta absoluta, debe escribir todos los nombres de subdirectorios presentes dentro de la jerarquía que conducen a la ubicación final.
Por ejemplo, si desea apuntar a /myfolder/folder2 dentro del directorio /var/www usando una expresión de ruta absoluta, usaría:
/var/www/myfolder/folder2
...donde / al comienzo de la expresión se refiere al directorio raíz en Linux.
Expresiones de ruta relativas
La ruta relativa, por otro lado, se refiere a una expresión de ruta que usa otra ruta (generalmente el directorio de trabajo actual) como su raíz o base. Como sugiere el nombre, es "relativo" a una ruta existente en su sistema.
Por ejemplo, si actualmente está dentro del directorio /var/www y necesita apuntar a /myfolder/folder2, usaría:
./myfolder/folder2
...donde . indica el directorio actual en el que se encuentra. Puede cambiar el directorio de trabajo actual con el comando cd.
Además de un solo punto (.), las expresiones de ruta relativa también emplean puntos dobles (..) para hacer referencia al directorio principal.
Por ejemplo, considera que estás dentro de la carpeta /www dentro de la siguiente estructura de directorios:
/var/www/myfolder/folder2
En la expresión de ruta mencionada anteriormente, . denotará el directorio /www mientras que .. apuntará a /var directorio . Si hay otro directorio /random dentro de /var al que necesita acceder mientras está dentro de /var/www, usaría:
../random
Simple como eso.
Absoluto frente a relativo: ¿Qué expresión de ruta es mejor?
Aunque las expresiones de ruta pueden parecer simples y sin importancia para usted como usuario de escritorio, hay varios casos de uso en los que usar el nombre de ruta incorrecto puede generar muchos inconvenientes no solicitados. Los servidores web son un buen ejemplo.
Como desarrollador web que trabaja en un proyecto alojado en un servidor Linux, debe acceder a los archivos dentro del directorio del proyecto. Aquí, el uso de expresiones de ruta relativa es el estándar, ya que cualquier cambio en los nombres de los subdirectorios o el nombre de dominio del proyecto puede dar lugar a enlaces rotos.
Puede entender esto con un ejemplo simple con el que los usuarios de escritorio podrían identificarse mejor. El carácter / indica el directorio raíz en un sistema Linux. Imagínese si de repente cambia eso y hace que el carácter / apunte al directorio de inicio. Muchos de sus comandos que contienen expresiones de rutas absolutas no funcionarán ya que / ahora ha sido reasignado a un directorio diferente.
Otra ventaja de usar expresiones de rutas relativas es que, dado que son relativas al directorio de trabajo actual, le ahorra tiempo que, de lo contrario, perdería escribiendo caracteres innecesarios.
El único problema aquí es la complejidad y la curva de aprendizaje asociada con las expresiones relativas. Pero eso también es común en expresiones de rutas absolutas; para convertirse en un maestro en el uso de rutas absolutas, debe estar bien versado en la jerarquía de directorios de Linux. Puede usar el comando de árbol para ver todo el árbol de directorios de Linux y hacer que las expresiones de ruta absolutas sean más fáciles para usted.
Comprender la jerarquía de directorios de Linux
La estructura de directorios de Linux es común a todas las máquinas que ejecutan sistemas operativos basados en Linux. Puede usar un comando como ls o tree para obtener más información sobre cómo están estructurados los archivos y las carpetas en su computadora.