Ruta absoluta versus relativa en Linux: ¿cuál es la diferencia?
En este capítulo esencial de aprendizaje de Linux, conocerá las rutas relativas y absolutas en Linux. ¿Cuál es la diferencia entre ellos y cuál deberías usar?
La ruta es uno de los conceptos más esenciales en Linux y esto es algo que todo usuario de Linux debe saber.
Una ruta es la forma en que se refiere a archivos y directorios. Proporciona la ubicación de un archivo o directorio en la estructura de directorios de Linux. Se compone de una sintaxis de nombre y barra diagonal.
/home/abhishek/scripts
Como usuario, tendrás que utilizar la ruta cuando quieras acceder a un determinado archivo o directorio o cuando tengas que dar la ubicación de un archivo o directorio a un comando o script.
cat /home/abhishek/scripts/my_script.sh
Recuerde, si la ruta comienza con la barra diagonal "/", la primera barra diagonal indica raíz. El resto de las barras en el camino son sólo separadores. Los principiantes a menudo se confunden entre la barra raíz y las barras separadoras.
En el diagrama anterior, tiene la primera ruta que comienza con una barra diagonal. Hay otra ruta que no comienza con/(es decir, raíz).
Ambos son correctos. El primero es el camino absoluto y el segundo es el camino relativo. Echemos un vistazo detallado a ellos.
Ruta absoluta y relativa en Linux
La ruta absoluta siempre comienza desde el directorio raíz (/). Por ejemplo, /home/abhishek/scripts/my_scripts.sh.
Una ruta relativa comienza desde el directorio actual. Por ejemplo, si está en el directorio /home y desea acceder al archivo my_scripts.sh
, puede utilizar abhishek/scripts/my_scripts.sh.
Comprender la diferencia entre rutas absolutas y relativas
Sabes que la estructura de directorios en Linux se parece a la raíz de un árbol. Todo comienza en la raíz y se ramifica desde allí.
Ahora imagina que estás en el directorio abhishek
y quieres acceder al archivo my_scripts.sh
.
La ruta absoluta se representa en la línea de puntos verde y la ruta relativa se muestra en las líneas de puntos amarillas.
Supongamos que desea ver las propiedades del archivo my_script.sh
usando el comando ls.
Puede utilizar la ruta absoluta que comienza con el directorio raíz (/):
ls -l /home/abhishek/scripts/my_script.sh
O puede usar la ruta relativa (que comienza desde el directorio actual, no desde /):
ls -l scripts/my_script.sh
Ambos comandos producirán el mismo resultado (excepto la ruta del archivo).
Usando ruta relativa con . y .. directorios
Permítanme mostrar otros ejemplos para explicar la diferencia entre ruta absoluta y ruta relativa. Pero antes de eso, debes conocer dos rutas relativas especiales:
. (un solo punto) indica el directorio actual en la ruta.
.. (dos puntos) indica el directorio principal, es decir, un nivel por encima.
Las cosas quedarán claras en un momento. Eche un vistazo al escenario. En este, desea ir al directorio prakash
desde el directorio abhishek
.
Puede utilizar el comando cd para cambiar de directorio. El camino absoluto es bastante evidente aquí:
cd /home/prakash
Para usar la ruta relativa, tendrás que usar la ruta relativa especial:
cd ../prakash
Por que usar ..? Porque una ruta relativa requiere dirección desde el directorio actual y debe indicarle al comando cd que suba un nivel antes de bajar. El ..
lo lleva al directorio /home
y desde allí va al directorio prakash
.
Espero que las cosas estén mucho más claras ahora.
¿Cual deberías usar? ¿Camino relativo o camino absoluto?
Para ser honesto, no existe una respuesta sencilla a esta pregunta. Realmente depende de la situación.
Si se encuentra en lo más profundo de la jerarquía de directorios y tiene que subir o bajar un nivel, será más fácil usar la ruta relativa.
Supongamos que está en el directorio /home/username/programming/project/interface/src/header y tiene que acceder a algo en el directorio /home/username/programming/project/interface/bin. Usar la ruta relativa le evitará tener que escribir todos esos largos nombres de directorio y simplemente puede usar ../../bin aquí.
Pero si tiene que acceder a algo en el directorio /usr/bin desde el directorio /home/username/programming/project/interface/src/header, use algo como ../../../../../. ./usr/bin no será una buena idea. Usar la ruta absoluta es lo más sensato en este caso.
Otro caso es utilizar las rutas en scripts o programas. Cuando esté seguro de la ubicación, utilice la ruta absoluta. Si su proyecto tiene varias carpetas y necesita cambiar entre directorios, puede usar la ruta relativa aquí porque no sabe dónde copiará el usuario final todos los archivos del proyecto, en el directorio de inicio o en algún directorio de desarrollo.
En otras palabras, debe conocer ambos métodos y utilizar el que le resulte más fácil según su situación.
Espero que ahora comprenda mejor la ruta y la navegación en Linux. Si tienes preguntas o sugerencias, por favor deja un comentario.