A menudo trabajamos con archivos de Linux mientras creamos scripts de shell. Pero a veces necesitamos saber la ruta completa de un archivo en el que estamos trabajando y este artículo le permitirá saber cómo obtener la ruta completa de un archivo. Hemos enumerado algunos métodos que le ayudarán a encontrar la ubicación de un archivo en particular.
Pero antes de continuar, primero creemos un archivo:
El resultado anterior muestra claramente que el archivo.txt se ha creado correctamente.
Ahora, veremos los métodos que nos darán la ruta completa de un archivo. En total, hay 6 métodos enumerados en este artículo. Incluyen:
Método 1: El comando readlink
El comando readlink se utiliza para imprimir nombres de archivos canónicos. Usaremos la opción -f en combinación con readlink para imprimir la ubicación del archivo. Aquí están la implementación y el resultado:
Método 2: El comando realpath
El comando realpath muestra la ruta absoluta de un archivo. No usaremos ninguna opción aquí, a diferencia del comando readlink. La implementación y el resultado se detallan a continuación:
Método 3: El comando dirname
Otra opción interesante es el comando dirname. Toma la ruta completa de un archivo, elimina el nombre del archivo de la ruta y muestra el resto en la pantalla. Consulte la implementación y el resultado a continuación:
Método 4: La combinación de comandos basename y dirname
Hemos visto cómo utilizar el comando dirname. Pero hay otra cosa que podemos hacer con este comando. Podemos combinar este comando con otro llamado nombrebase. El comando basename hace todo lo contrario de dirname. Toma la ruta completa de un archivo, elimina todo lo que aparece antes del nombre del archivo y muestra el resto en la pantalla.
Ahora pasaremos a la demostración. Pero antes de demostrar el uso combinado de nombrebase y nombredir, primero veremos cómo funciona nombrebase:
Claramente, el resultado anterior muestra solo el nombre del archivo.
A continuación, veremos cómo se pueden utilizar juntos los comandos anteriores. Creemos un script de shell llamado file_path.sh, que contiene lo siguiente:
#!/bin/bash echo '$(cd '$(dirname '$1')' && pwd -P)/$(basename '$1')'>
Arriba, hemos utilizado el comando dirname para encontrar la ubicación del archivo, que ingresaremos como primer argumento de la línea de comando. Luego, navegamos a la ubicación del archivo e imprimimos el directorio de trabajo actual. Solicitamos la ubicación física del archivo usando el comando -P. Finalmente, hemos usado el comando basename para imprimir solo el nombre del archivo.
Si ejecutamos el script de shell anterior, el resultado será:
Podemos ver arriba que las salidas de esos dos comandos se concatenan en uno para obtener la ruta completa del archivo.
Método 5: El comando de búsqueda
El encontrar comando es otra forma de obtener la ruta completa de un archivo. Vamos a ver cómo funciona:
Arriba, hemos utilizado el comando buscar con los siguientes subcomandos para obtener la ubicación del archivo:
- El -tipo f El comando nos ayuda a buscar archivos.
- El -nombre El comando nos ayuda a buscar los archivos en el directorio de trabajo actual y sus subdirectorios.
El resultado anterior nos muestra claramente la ruta completa del archivo.
Método 6: El comando ls
Otro método más es utilizar el comando ls. Si se pasa un directorio como argumento, se enumeran todos los archivos y carpetas que se encuentran dentro de ese directorio. Pero si se pasa un nombre de archivo junto con el comando pwd, entonces el comando nos muestra la ubicación del archivo. Vea lo siguiente:
Podemos ver arriba que la ruta completa del archivo se muestra en la pantalla.
Conclusión :
En este artículo, analizamos algunas formas útiles de obtener la ruta completa de un archivo. Entonces, la próxima vez que te quedes atascado, utiliza uno de los métodos anteriores para obtener tu respuesta de inmediato.