Obtener ruta absoluta en Bash

Abid Ullah 20 junio 2023
  1. Cómo obtener la ruta absoluta en Bash
  2. El directorio raíz de un archivo en Linux
  3. Use el comando readlink para obtener la ruta absoluta en Linux
  4. Use el comando realpath para obtener la ruta absoluta en Linux
  5. Use el comando buscar para obtener la ruta absoluta en Linux
Obtener ruta absoluta en Bash

En este artículo de Bash, aprenderemos diferentes métodos para obtener la ruta absoluta en Linux. También aprenderemos algunos comandos diferentes de Linux para obtener la ruta absoluta de un archivo.

Antes de comenzar, debemos comprender los conceptos básicos de rutas absolutas y relativas en el sistema operativo Linux.

Cómo obtener la ruta absoluta en Bash

Los componentes básicos de un sistema operativo son los archivos y las carpetas. Siendo usuarios de Linux, operamos varias acciones de archivos y directorios.

Encontrar la ruta completa de un archivo es uno de esos procesos. La ruta completa de un archivo también se conoce como su ruta canónica o absoluta.

Una dirección utilizada para encontrar un archivo o una carpeta se denomina ruta. Una ruta absoluta es una dirección o ubicación completa que nos permite recuperar el archivo deseado desde cualquier ubicación.

Mientras tanto, se establece una ruta relativa sobre el directorio de trabajo activo.

Una ruta es una referencia a un directorio o archivo. En Linux, hay dos tipos de rutas: absolutas y relativas.

El directorio de trabajo actual determina la ruta relativa. Por otro lado, la ruta absoluta es la ruta completa a un archivo o directorio.

Hay varios métodos en Bash para obtener la dirección completa de un script. Podemos usar realpath, readlink, o incluso escribir nuestro pequeño script personalizado.

Usar una dirección relativa hace que obtener la dirección completa sea muy simple.

La ruta completa se proporciona explícitamente desde el directorio raíz. El / es un método fácil para saber cuál es cuál.

Una ruta relativa no comienza con /. (la carpeta raíz). Este artículo explicará cómo encontrar la ruta absoluta de un script en Bash.

Este artículo repasa numerosos métodos para determinar la ruta completa de un archivo o carpeta.

El directorio raíz de un archivo en Linux

El directorio superior del sistema de archivos es el directorio raíz o el directorio absoluto en Linux. El directorio raíz se indica con una barra inclinada /.

Podemos describir la ubicación de cualquier archivo o directorio en el sistema de archivos con una ruta completa que comience con una barra inclinada /.

Esta ruta completa se denomina ruta absoluta, lo que significa que indica cada paso que se debe tomar desde la raíz o el comienzo absoluto del sistema de archivos.

Utilice el comando cd

El comando cd (cambiar directorio) en el sistema operativo Linux se utiliza para modificar el directorio de trabajo actual.

$ cd /tmp

Utilice el comando mkdir

Luego, usamos el comando mkdir seguido del nombre que le quieres dar al nuevo directorio.

$ mkdir -p dir11/dir12/dir13/dir14/dir15

Utilice el comando tocar para crear un directorio

Después de crear un nuevo directorio o directorios, usaremos el comando tocar para crear, cambiar o modificar nuestros archivos.

Código de ejemplo:

$ touch dir11/dir12/file12.txt
$ touch dir11/dir12/dir13/dir14/file14.txt
$ touch dir11/dir12/dir13/dir14/dir15/file15.txt

La salida del código:

$ tree /tmp/dir11/
/tmp/dir11/
└── dir12
    ├── dir13
    │   └── dir14
    │       ├── dir15
    │       │   └── file15.txt
    │       └── file14.txt
    └── file12.txt

En el ejemplo anterior, hemos creado 4 directorios y 3 archivos. Nuestro directorio absoluto es dir11/dir12/dir13/dir14/dir15/file15.txt.

La ruta relativa de un archivo en Linux

Las rutas absolutas son fáciles de entender pero también pueden ser inconvenientes para trabajar con ellas, especialmente cuando se trabaja con directorios profundamente anidados.

Aquí es donde la ruta relativa resulta útil. Además, mirando el código anterior, nuestra ruta de directorio relativa es dir13/file12.txt.

El comando readlink se puede utilizar para obtener la dirección completa de un archivo. readlink se usa a menudo para capturar la ruta de un enlace simbólico o un archivo canónico.

Sin embargo, readlink también puede calcular la ruta absoluta dada una ruta relativa. Debe adjuntar una bandera al enlace de lectura en todas las circunstancias.

En tales casos, la bandera f es la más utilizada.

El comando readlink devuelve una lista de nombres de archivos canónicos. Para encontrar la ruta completa de un archivo, podemos utilizar el argumento -f de este comando.

Estos son los directorios, y hay archivos en estos directorios. Podemos obtener la ruta absoluta de cualquier archivo que necesitemos.

Código de ejemplo:

$ cd /tmp/dir11/dir12/dir13/dir14/dir15/

Escribiremos el nombre del archivo del que queremos obtener la ruta.

$ readlink -f file15.txt

Después de usar el readlink -f con el nombre del archivo, tenemos la ruta exacta del archivo, y aquí está:

/tmp/dir1/dir2/dir3/dir4/dir5/file5.txt

Como podemos ver en la salida del código, obtenemos la ruta absoluta del archivo que queríamos.

Use el comando realpath para obtener la ruta absoluta en Linux

Como alternativa podemos utilizar el comando realpath para obtener la ruta absoluta de un archivo en Linux.

Código de ejemplo:

$ cd /tmp/dir11/dir12/dir13/dir14/
$ realpath file14.txt

Aquí está la ruta del archivo file14.txt.

/tmp/dir1/dir2/dir3/dir4/file4.txt

Como podemos ver, usando el comando realpath podemos obtener la ruta absoluta deseada de un archivo en Linux.

Use el comando buscar para obtener la ruta absoluta en Linux

Podemos encontrar la estructura o jerarquía de un directorio usando el comando buscar. En Linux, podemos usar el comando buscar para imprimir la ruta o ubicación absoluta de un archivo.

Usaremos el siguiente código para encontrar la ruta absoluta del file14.txt.

$ cd /tmp/dir11/
$ find $PWD -type f -name file14.txt

Y la ruta absoluta del archivo file14.txt es:

/tmp/dir11/dir12/dir13/dir14/file14.txt

Como podemos ver en el resultado anterior del código, obtenemos la ruta absoluta del archivo que queríamos usando el comando buscar en la terminal.

Esperamos que este artículo le resulte útil para comprender cómo obtener la ruta absoluta de cualquier archivo en el sistema operativo Linux.

Autor: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn