El comando pwd (Print Working Directory) es un comando fundamental en Linux y otros sistemas Unix-like que muestra la ruta absoluta del directorio de trabajo actual.
Sintaxis básica
pwd [opciones]No requiere argumentos y simplemente muestra la ruta completa del directorio actual.
Opciones disponibles
| Opción | Descripción |
|---|---|
-L, --logical | Muestra la ruta lógica (resuelve enlaces simbólicos, opción por defecto en muchos sistemas) |
-P, --physical | Muestra la ruta física real (sin seguir enlaces simbólicos) |
--help | Muestra información de ayuda |
--version | Muestra información de versión |
Ejemplos prácticos
1. Mostrar el directorio actual
pwdSalida típica:
/home/usuario/proyectos
2. Usar pwd en un script
#!/bin/bash
DIR_ACTUAL=$(pwd)
echo "El script se ejecuta desde: $DIR_ACTUAL"3. Ruta lógica (-L)
cd /var/www/html
ln -s /var/www/html enlace
cd enlace
pwd -LSalida:
/var/www/html/enlace
4. Ruta física (-P)
cd /var/www/html/enlace
pwd -PSalida:
/var/www/html
Diferencia entre rutas lógicas y físicas
El comportamiento de pwd puede variar según si se usan enlaces simbólicos:
| Tipo | Descripción | Ejemplo |
|---|---|---|
| Ruta lógica | Muestra la ruta como fue ingresada, incluyendo enlaces simbólicos | /ruta/enlace |
| Ruta física | Resuelve todos los enlaces simbólicos y muestra la ruta real | /ruta/real/directorio |
Notas importantes
pwdes un comando built-in (incorporado) en la mayoría de shells modernos (bash, zsh, etc.), pero también existe como binario independiente (/bin/pwd).- En scripts, es común capturar la salida de
pwden una variable:DIR_ACTUAL=$(pwd). - La variable de entorno
$PWDtambién contiene el directorio actual y se actualiza automáticamente. - Para ver todas las opciones disponibles, consulta el manual con
man pwd.
Relación con otros comandos
pwd se usa frecuentemente en combinación con otros comandos:
1. Con cd para volver al directorio anterior
DIR_ANTERIOR=$(pwd)
cd /otra/ruta
# Hacer algo...
cd "$DIR_ANTERIOR"2. Con ls para listar el directorio actual
ls $(pwd)3. En combinación con variables de entorno
echo "Directorio actual: $PWD"Conclusión
El comando pwd es una herramienta simple pero esencial para navegar por el sistema de archivos en Linux. Proporciona información fundamental sobre tu ubicación actual en el sistema de archivos, lo que es especialmente útil en scripts y cuando trabajas con múltiples directorios.
Para aprender más sobre todas las opciones disponibles, siempre puedes consultar el manual con el comando:
man pwdPreguntas frecuentes
¿Cuál es la diferencia entre pwd y echo $PWD?
Ambos muestran el directorio actual, pero pwd es un comando que consulta el sistema, mientras que $PWD es una variable de entorno mantenida por el shell. En la mayoría de casos son equivalentes, pero pueden diferir en situaciones avanzadas con enlaces simbólicos.
¿Por qué necesito pwd si mi prompt ya muestra el directorio?
El prompt puede configurarse para mostrar solo parte de la ruta o información diferente. pwd siempre muestra la ruta completa y es útil en scripts o cuando necesitas la ruta exacta para otros comandos.
¿Cómo puedo usar la salida de pwd en otro comando?
Puedes usar sustitución de comandos: ls $(pwd) o ls `pwd` (forma antigua).



