El comando basename en Linux es una herramienta fundamental en sistemas UNIX y Linux, ampliamente utilizada en scripts de shell y administración de sistemas. Este comando permite extraer el nombre de un archivo de su ruta completa, eliminando cualquier prefijo de directorio. Su importancia radica en la simplicidad que ofrece a los administradores de sistemas y desarrolladores al manejar nombres de archivos y rutas, permitiendo un fácil acceso a la información esencial sin la necesidad de manipulación manual de cadenas.
Si quieres aprender más sobre Linux, revisa nuestra Guía completa de comandos Linux y nuestro Curso de Linux gratis , te ayudarán a dominar la terminal y a sacar el máximo provecho de este artículo.
Sintaxis básica
basename [OPCIÓN]... NOMBRE [SUFIJO]...- NOMBRE: Es la ruta completa o relativa del archivo del cual se desea extraer el nombre.
- SUFIJO (opcional): Permite especificar un sufijo que se eliminará del resultado.
Flags más comunes
| Opción | Descripción | Ejemplo |
|---|---|---|
| -a | Procesa múltiples archivos y devuelve sus nombres por separado. | basename -a /tmp/file1 /tmp/file2 |
| -s | Elimina un sufijo específico del nombre del archivo. | basename -s .txt archivo.txt |
| -z | Trata el input como una lista de nombres separada por null. | basename -z < archivo.txt |
Ejemplo práctico
#!/bin/bash
# Lista de archivos
archivos=("/home/usuario/documento1.txt" "/home/usuario/imagen.jpg" "/etc/config.txt")
# Usar basename para obtener solo el nombre de los archivos sin la ruta completa
echo "Nombres de archivos sin rutas:"
for archivo in "${archivos[@]}"; do
echo "$(basename "$archivo")" # Muestra solo el nombre del archivo
done
# Usar basename con opción -s para eliminar sufijos
echo -e "\nNombres de archivos sin sufijo .txt:"
for archivo in "${archivos[@]}"; do
nombre=$(basename "$archivo" .txt) # Elimina el sufijo .txt
echo "$nombre"
doneEn resumen, el comando basename es una herramienta poderosa y versátil que facilita la manipulación de nombres de archivos en sistemas Linux. Su capacidad para obtener el nombre de un archivo a partir de su ruta completa, así como la opción de eliminar sufijos, lo convierte en un recurso invaluable para desarrolladores y administradores de sistemas. La simplicidad y efectividad del comando basename lo hacen indispensable en cualquier conjunto de herramientas de administración de sistemas.
Ejemplo en video
Para complementar esta guía, hemos preparado un video donde se muestra paso a paso cómo usar el comando basename en Linux.
Este video te ayudará a comprender de manera práctica todo lo explicado en este artículo.
