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
pwd
Salida 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 -L
Salida:
/var/www/html/enlace
4. Ruta física (-P)
cd /var/www/html/enlace
pwd -P
Salida:
/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
pwd
es 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
pwd
en una variable:DIR_ACTUAL=$(pwd)
. - La variable de entorno
$PWD
tambié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 pwd
Preguntas 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).