Cómo usar el Comando DIRNAME en Linux

Chuleta de comandos linux: CIBERED, tu web de linux de confianza 2026

El comando dirname en Linux sirve para extraer la ruta del directorio a partir de una ruta de archivo completa. En 2026 sigue siendo una herramienta sencilla pero muy útil para scripts, automatización y tareas cotidianas en la terminal, sobre todo cuando necesitas separar el nombre del archivo de su ubicación.

Su valor está en la claridad: si le pasas una ruta completa, te devuelve solo la parte del directorio. Eso lo convierte en un complemento natural de basename, y en una utilidad muy práctica para trabajar con rutas en Bash y otros shells.

¿Qué hace el comando dirname?

dirname toma una ruta y devuelve el directorio que contiene ese archivo o recurso. Su sintaxis básica es muy simple:

dirname FILE

Por ejemplo, si tienes esta ruta:

dirname /home/labex/project/file.txt

La salida será:

/home/labex/project

Eso significa que dirname ha extraído correctamente la ruta del directorio que contiene file.txt.

¿Cómo usar dirname con variables?

Una de las formas más comunes de usar dirname es junto con variables de shell. Esto resulta especialmente útil en scripts donde la ruta cambia dinámicamente.

Por ejemplo:

file_path="/home/labex/project/file.txt"
dirname "$file_path"

La salida esperada será:

/home/labex/project

Aquí dirname toma el valor guardado en la variable y devuelve únicamente la parte correspondiente al directorio. Es una forma limpia y fiable de manipular rutas sin hacer parsing manual.

¿Cómo obtener la ruta desde un archivo real?

También puedes construir una ruta real a partir del directorio actual y luego extraer su carpeta contenedora. Por ejemplo:

cd ~/project
touch file.txt
echo "This is a sample file." > file.txt
file_path=$(pwd)/file.txt
echo "$file_path"

La ruta puede verse así:

/home/labex/project/file.txt

Ahora puedes extraer el directorio con:

dir_name=$(dirname "$file_path")
echo "$dir_name"

La salida será:

/home/labex/project

Este patrón es muy útil cuando un script genera o recibe rutas completas y luego necesita trabajar a nivel de directorio.

¿Cómo combinar dirname con otros comandos?

dirname se usa con mucha frecuencia junto con otros comandos de Linux para automatizar tareas sobre rutas. Una de las combinaciones más comunes es usarlo con cd para cambiar al directorio que contiene un archivo.

file_path="/home/labex/project/file.txt"
cd "$(dirname "$file_path")"
pwd

La salida será:

/home/labex/project

Esto permite moverse directamente al directorio donde está el archivo sin tener que escribir la ruta manualmente.

¿Cómo crear directorios a partir de una ruta?

Otra combinación muy práctica es usar dirname con mkdir. Por ejemplo, si quieres crear un directorio nuevo dentro de la carpeta que contiene un archivo:

file_path="/home/labex/project/file.txt"
new_dir="$(dirname "$file_path")/new_dir"
mkdir "$new_dir"
ls -l

Una salida posible sería:

total 4
drwxr-xr-x 2 labex labex 4096 Apr 12 12:34 new_dir
-rw-r--r-- 1 labex labex   22 Apr 12 12:34 file.txt

Aquí dirname permite construir una nueva ruta de forma programática y ordenada. Es una técnica muy habitual en scripts de mantenimiento, despliegue y procesamiento de archivos.

¿Cuándo deberías usar el comando dirname?

dirname es especialmente útil en estos casos:

  • Separar el directorio de un archivo.
  • Moverse al directorio que contiene una ruta.
  • Construir nuevas rutas basadas en una existente.
  • Automatizar tareas de manipulación de archivos.
  • Escribir scripts más legibles y mantenibles.

Su simplicidad es precisamente su mayor ventaja. En lugar de hacer operaciones manuales con cadenas, puedes delegar esa tarea a una herramienta diseñada justo para eso.

Buenas prácticas

Cuando uses dirname dentro de scripts, conviene siempre citar las variables entre comillas para evitar problemas con espacios o caracteres especiales en la ruta. Por ejemplo:

dirname "$file_path"

En lugar de:

dirname $file_path

Esa diferencia puede evitar errores sutiles en sistemas reales, especialmente cuando las rutas provienen de entradas externas o nombres generados automáticamente.


Conclusión

El comando dirname en Linux extrae la parte del directorio a partir de una ruta completa. Sigue siendo muy útil en 2026 porque ayuda a trabajar con rutas de forma clara, segura y eficiente en scripts y tareas de terminal.

Sus usos más comunes son:

  • dirname /ruta/archivo.txt para obtener el directorio contenedor.
  • dirname "$variable" para trabajar con rutas almacenadas en variables.
  • cd "$(dirname "$file_path")" para cambiar al directorio del archivo.
  • mkdir "$(dirname "$file_path")/nuevo" para crear rutas derivadas.
Vistas: 0
Scroll al inicio