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 cómo 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.
/home/abhishek/scripts
Como usuario, deberá utilizar la ruta cuando desee acceder a un determinado archivo o directorio o cuando tenga que dar la ubicación de un archivo o directorio a un comando o secuencia de comandos.
cat /home/abhishek/scripts/my_script.sh
Recuerde, si la ruta comienza con una barra inclinada "/", la primera barra inclinada indica la raíz. El resto de las barras en la ruta son solo separadores. Los principiantes a menudo se confunden entre la barra de raíz y las barras de separación.

En el diagrama anterior, tiene la primera ruta que comienza con una barra diagonal. Hay otra ruta que no comienza con / (es decir, root).
Ambos son correctos. El primero es la ruta absoluta y el segundo es la ruta relativa. 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 a my_scripts.sh
archivo, puede usar abhishek/scripts/my_scripts.sh .
Comprender la diferencia entre rutas absolutas y relativas
Sabes que la estructura de directorios en Linux se asemeja a la raíz de un árbol. Todo comienza en la raíz y se ramifica a partir de ahí.
Ahora imagina que estás en el directorio abhishek
y desea acceder a my_scripts.sh
archivo.
La ruta absoluta se representa en la línea de puntos verde y la ruta relativa se representa en las líneas de puntos amarillas.

Suponga que desea ver las propiedades del archivo my_script.sh
usando el comando ls.
Puede usar la ruta absoluta que comienza con el directorio raíz (/):
ls -l /home/abhishek/scripts/my_script.sh
O bien, puede usar la ruta relativa (que comienza desde el directorio actual, no /):
ls -l scripts/my_script.sh
Ambos comandos producirán el mismo resultado (excepto por la ruta del archivo).

Usando ruta relativa con . y .. directorios
Permítanme mostrar otros ejemplos para explicar la diferencia entre la ruta absoluta y la ruta relativa. Pero antes de eso, debe conocer dos rutas relativas especiales:
- . (un solo punto) denota el directorio actual en la ruta.
- .. (dos puntos) denota el directorio principal, es decir, un nivel por encima.
Las cosas se aclararán en un momento. Echa un vistazo al escenario. En este, desea ir al directorio prakash
del directorio abhishek
.

Puede usar el comando cd para cambiar de directorio. La ruta absoluta es bastante evidente aquí:
cd /home/prakash
Para usar la ruta relativa, deberá usar la ruta relativa especial:
cd ../prakash
Por que usar ..? Porque una ruta relativa requiere dirección desde el directorio actual y debe decirle al comando cd que suba un nivel antes de bajar. El ..
te lleva al /home
directorio y desde allí vas al prakash
directorio.
Espero que las cosas estén mucho más claras ahora.
La ruta absoluta siempre comienza con la raíz (/) y seguirá siendo la misma independientemente de su ubicación actual. La ruta relativa depende de su ubicación actual.¿Cuál debería usar? ¿Ruta relativa o ruta absoluta?
Para ser honesto, no hay una respuesta directa a esta pregunta. Realmente depende de la situación.
Si está en lo más profundo de la jerarquía de directorios y tiene que subir o bajar un nivel, usar la ruta relativa será más fácil.
Suponga 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. El uso de la ruta relativa le evitaría escribir todos esos nombres de directorio largos 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 usar las rutas en scripts o programas. Cuando esté seguro de la ubicación, utilice la ruta absoluta. Si su proyecto tiene varias carpetas y debe cambiar entre directorios, puede usar la ruta relativa aquí porque no sabe dónde el usuario final copiará 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 usar el que sea más fácil según su situación.
Espero que ahora tenga una mejor comprensión de la ruta y la navegación en Linux. Si tiene preguntas o sugerencias, deje un comentario.