GNU/Linux >> Tutoriales Linux >  >> Linux

Tutorial de comandos de Linux readlink y realpath para principiantes (con ejemplos)

Ya hemos discutido el comando ln, que le permite crear enlaces entre archivos. Pero también existen herramientas que te permiten resolver estos enlaces.

En este tutorial, discutiremos los conceptos básicos de realpath y enlace de lectura comandos que son similares (si no iguales) en el sentido de que muestran enlaces simbólicos resueltos en la salida. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí se han probado en Ubuntu 18.04 LTS y en Debian 10.

Como ya se mencionó al principio, los comandos realpath y readlink muestran la ruta resuelta para los enlaces simbólicos en la salida.

La siguiente es su sintaxis:

realpath [OPTION]... FILE...
readlink [OPTION]... FILE...

Y esto es lo que dicen sus respectivas páginas man:

Print the resolved absolute file name
print resolved symbolic links or canonical file names

Los siguientes son algunos ejemplos de preguntas y respuestas que le darán una mejor idea de cómo funcionan estas herramientas.

P1. ¿Cómo resolver la ruta usando realpath y readlink?

Simple, solo proporcione el archivo o la ruta como entrada. El siguiente ejemplo muestra estos dos comandos resolviendo un enlace simbólico.

Y así es como funcionan con las rutas:

Para que pueda ver que ambos comandos resolvieron con éxito los enlaces simbólicos en los dos casos.

P2. ¿Cómo imprimir la ruta resuelta relativa a un directorio?

El comando realpath le permite hacer esto fácilmente. Por ejemplo, suponga que esto es lo que está tratando de hacer:

realpath /var/local/Downloadslink

Sin embargo, un requisito adicional es tener la salida de este comando relativa al directorio /home/himanshu. Luego, el siguiente es el comando que debe ejecutar:

realpath /var/local/Downloadslink --relative-to=/home/himanshu

Aquí está el resultado:

Downloads

Entonces puede ver que la opción '--relative-to' le permitió tener una salida relativa al directorio /home/himanshu.

P3. ¿Cómo simplemente deshacerse de .. en las rutas?

Puede haber ocasiones en las que expandir/resolver enlaces simbólicos no sea el objetivo, pero deshacerse de... en el camino sí lo es. El comando realpath le permite hacer esto.

Todo lo que tiene que hacer es usar la opción de línea de comando -s. He aquí un ejemplo:

realpath -s ../../var/local/Downloadslink

Y el siguiente es el resultado de este comando:

/var/local/Downloadslink

P4. ¿Cómo cambiar el carácter delimitador?

De forma predeterminada, la nueva línea se utiliza como carácter delimitador. Sin embargo, ambos comandos proporcionan una forma de tener NUL como delimitador.

La opción que debe usar en ambos casos es -z.

realpath -z [FILE/PATH]
readlink -z [FILE/PATH]

Conclusión

Lo que hemos discutido aquí es solo un puñado de opciones/características que proporcionan estos comandos. Una vez que haya terminado de practicar estos, diríjase a las páginas de manual de readlink y realpath (aquí y aquí) para obtener más información sobre estas herramientas.


Linux
  1. Linux expand Command Tutorial para principiantes (con ejemplos)

  2. Tutorial de comando de factor Linux para principiantes (con ejemplos)

  3. Tutorial del comando nproc de Linux para principiantes (con ejemplos)

  4. Tutorial de comando de suspensión de Linux para principiantes (con ejemplos)

  5. Tutorial de comando Linux basename para principiantes (con ejemplos)

Tutorial de comandos de prueba de Linux para principiantes (con ejemplos)

Tutorial de comando Linux sha1sum para principiantes (con ejemplos)

Tutorial de comandos de apariencia de Linux para principiantes (con ejemplos)

Tutorial del comando lsattr de Linux para principiantes (con ejemplos)

Tutorial del comando tload de Linux para principiantes (con ejemplos)

Tutorial de comando Linux tr para principiantes (con ejemplos)