GNU/Linux >> Tutoriales Linux >  >> Linux

Ruta absoluta vs relativa en Linux:¿Cuál es la diferencia?

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).

En Linux, los nombres de archivo distinguen entre mayúsculas y minúsculas y pueden tener mayúsculas, minúsculas, números, puntos, guiones, guiones bajos y la mayoría de los símbolos excepto la barra oblicua (/). La barra inclinada (/) está reservada para root y para separar directorios en la ruta.

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.


Linux
  1. Enumere los archivos de forma recursiva en la CLI de Linux con la ruta relativa al directorio actual

  2. ¿Cuál es la diferencia entre 'localizar' y 'buscar' en Linux?

  3. ¿Cuál es el equivalente de Active Directory en Linux?

  4. ¿Cuál es la diferencia entre Unix, Linux, BSD y GNU?

  5. ¿Qué significa ./ (punto barra oblicua) en Linux?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Rsync y BTRFS en Linux?

iptables vs nftables:¿Cuál es la diferencia?

Ruta absoluta vs relativa en Linux:¿Cuál es la diferencia?

¿Qué es el comando matar en Linux?

Linux:agregar un directorio a PATH