Solo para visitantes de nuestro blog Obtenga 3 meses adicionales gratis + 10% de descuento en el plan trianual YSBLOG10
Agarra el trato

Explicación del comando Pwd en Linux con ejemplos (2026)

Última actualización: marzo 7, 2026 8 minutos de lectura Sanjeet Chauhan
Comando Pwd en Linux

El comando `pwd` en Linux (imprimir directorio de trabajo) muestra la ruta absoluta de tu ubicación actual en el sistema de archivos. Te ayuda a confirmar dónde te encuentras, evitar errores de ruta y ejecutar scripts de forma fiable. Usa `pwd` con opciones como `-L` (lógica) y `-P` (física) para gestionar enlaces simbólicos y garantizar rutas precisas en terminales, scripts y servidores.

Comprender el comando pwd en Linux es fundamental para cualquier persona que use la terminal, ya sea manage Servidores, crear aplicaciones web o automatizar implementaciones. En esta guía, explicaré qué hace pwd, sus diferencias entre shells, cuándo usar -L o -P, y ejemplos prácticos de flujos de trabajo reales, incluyendo hosting y escenarios de DevOps.


¿Qué es el comando pwd en Linux?

pwd significa "imprimir directorio de trabajo". Cuando lo ejecutas, el intérprete de comandos muestra la ruta absoluta (que comienza con /) a tu directorio actual.

Esto hace que sea fácil confirmar el contexto, componer rutas de archivos seguras y depurar scripts. pwd existe como un archivo integrado del shell (por ejemplo, en Bash) y como un binario independiente (comúnmente /bin/pwd en GNU coreutils).

Rutas lógicas vs. físicas (¿Por qué son importantes -L y -P?)

Se puede acceder a los directorios mediante enlaces simbólicos. El comando pwd puede mostrar:

  • Ruta lógica (-L): Honra el camino que recorriste (puede incluir enlaces simbólicos).
  • Ruta física (-P): Resuelve los enlaces simbólicos a la ruta canónica real en el disco.
# Suppose /var/www/current -> /var/www/releases/2026-01-09 (symlink)

cd /var/www/current
pwd        # logical default in many shells: /var/www/current
pwd -P     # physical path: /var/www/releases/2026-01-09

En las implementaciones (por ejemplo, versiones sin tiempo de inactividad con enlaces simbólicos), la ruta física es esencial para las operaciones que deben apuntar al directorio del código real, no al enlace simbólico.

Sintaxis y opciones de pwd

pwd [OPTION]
  • -L: Imprima el directorio de trabajo lógico (respete los enlaces simbólicos; a menudo es el predeterminado para la función incorporada del shell).
  • -PAG: Imprima el directorio físico (resuelva los enlaces simbólicos utilizando el sistema de archivos).
  • -ayuda: Mostrar ayuda (GNU coreutils /bin/pwd).
  • -versión: Mostrar versión (GNU coreutils /bin/pwd).

Las instrucciones integradas del shell y /bin/pwd pueden presentar ligeras diferencias de comportamiento. En la mayoría de las distribuciones de Linux, la instrucción integrada pwd de Bash es suficiente y más rápida; GNU /bin/pwd ofrece un comportamiento consistente en scripts y shells.

pwd incorporado vs /bin/pwd

Muchos shells (Bash, Zsh, Dash) incluyen pwd como una función integrada para mejorar el rendimiento y la portabilidad. El binario externo (/bin/pwd) proviene de coreutils y resulta útil cuando se desea un comportamiento explícito y predecible o cuando el entorno del shell está restringido.

# Check what your shell uses first
type pwd       # In Bash/Zsh: shows 'pwd is a shell builtin'
which pwd      # Points to /bin/pwd for the external binary

# Force the external binary even if a builtin exists
command pwd
/bin/pwd

Ejemplos prácticos de pwd

1. Uso básico

pwd
# Output: /home/username/projects

Utilice esto para confirmar su directorio de trabajo antes de ejecutar comandos que crean o eliminan archivos.

2. Muestra la ruta física con -P

# If you navigated via a symlink:
pwd -P
# Output: /mnt/storage/data/app (actual target path)

Elija -P cuando los scripts necesiten la ubicación canónica (común en canalizaciones de compilación, copias de seguridad y publicación de artefactos).

3. Use pwd de forma segura en scripts de shell

#!/usr/bin/env bash
set -euo pipefail

# Prefer the $PWD shell variable for speed; it tracks your current directory.
echo "Logical path: $PWD"

# For the canonical path (avoid symlink surprises):
REAL_DIR="$(pwd -P)"
echo "Physical path: $REAL_DIR"

# Use quotes to handle spaces and special characters
tar -czf "$REAL_DIR/backup.tgz" -C "$REAL_DIR" .

El shell mantiene $PWD y suele ser más rápido que ejecutar un nuevo proceso con $(pwd). Use $(pwd -P) cuando deba resolver enlaces simbólicos. Siempre comillas las variables para evitar problemas con espacios.

4. Guardar y restaurar directorios

# Simple save/restore
OLD_DIR="$(pwd)"
cd /etc
# ...do work...
cd "$OLD_DIR"

# Or use the directory stack (Bash/Zsh)
pushd /var/log >/dev/null
# ...do work...
popd >/dev/null

Las pilas de directorios mantienen limpio su flujo de trabajo durante implementaciones de varios pasos o tareas administrativas.

5. Combinar con rutas relativas

cd ../..
echo "Now at: $(pwd)"
# Use "$PWD" in scripts for clarity
cp "$PWD/config/example.env" "$PWD/.env"

La combinación de pwd con navegación relativa (cd) reduce los errores en árboles de directorios complejos, especialmente en monorepositorios.


Solución de problemas y casos extremos

  • Directorio principal eliminado o inaccesible: Si se elimina un directorio en su ruta o pierde permisos de lectura/ejecución, pwd puede fallar con un error.
  • Chroot o contenedores: Dentro de pods chroot, Docker o Kubernetes, pwd muestra la ruta relativa a ese entorno. Es correcta dentro del espacio de nombres, pero no en el host.
  • Sistemas de archivos de red (NFS): La resolución y la latencia del enlace simbólico pueden afectar a -P; prefiera -P para un comportamiento determinista en sistemas de archivos distribuidos.
  • Shells no POSIX: El comportamiento es bastante consistente en los shells modernos, pero los scripts deberían usar explícitamente -P si se requieren rutas canónicas.
# Example error when the directory becomes invalid
cd /tmp/sandbox/child
rm -rf /tmp/sandbox
pwd
# getcwd: cannot access parent directories: No such file or directory

Seguridad y mejores prácticas

  • Rutas de citas: Siempre comillas “$PWD” y “$(pwd -P)” para manejar espacios y caracteres especiales de forma segura.
  • Prefiera $PWD en los scripts: Es rápido y lo mantiene el shell; llame a pwd -P sólo cuando necesite la ruta real.
  • Resolver enlaces simbólicos para operaciones sensibles: Utilice -P antes de eliminar, empaquetar o sincronizar para evitar actuar en el objetivo equivocado.
  • Utilice el mínimo privilegio: Asegúrese de que el usuario tenga los permisos mínimos requeridos; estados inesperados de “permiso denegado” pueden interrumpir los scripts dependiendo de la contraseña.
  • Portabilidad: Para obtener la máxima portabilidad POSIX, utilice pwd y las opciones -L/-P solo si su entorno de destino lo admite; pruebe en CI.
  • discos compactos: Cambiar directorio; usar con pwd para verificar la ubicación.
  • pushd/popd/dirs (Bash/Zsh): Administrar una pila de directorios.
  • realpath ruta/ o readlink -f ruta/: Resuelve enlaces simbólicos para cualquier ruta, no sólo el directorio actual.
  • nombre base / nombre de directorio: Extraer componentes de archivos o directorios de las rutas.
  • buscar “$PWD” -tipo f: Utilice pwd como base para búsquedas u operaciones por lotes.

Cómo encaja pwd en los flujos de trabajo de alojamiento web y DevOps

En entornos de alojamiento y canalizaciones de CI/CD , pwd garantiza que tus scripts se ejecuten en la ubicación correcta, evitando errores costosos como desplegar desde un directorio obsoleto o eliminar la carpeta incorrecta. Para WordPress, verificar la ruta actual facilita tareas como las operaciones de wp-cli, la gestión de directorios raíz de documentos (por ejemplo, /var/www/html) y el manejo de directorios de lanzamiento con enlaces simbólicos.

At YouStableNuestros entornos de alojamiento Linux admiten un acceso robusto a la shell y estructuras de directorios predecibles. El uso de pwd -P, junto con realpath y un uso cuidadoso de las comillas, ayuda a nuestros clientes a implementar de forma segura, automatizar las copias de seguridad y depurar rápidamente. Si está migrando o creando pipelines, nuestro equipo puede ayudarle a estandarizar la gestión de rutas en las fases de staging y producción.

Errores Comunes que se deben Evitar

  • Suponiendo que las rutas lógicas y físicas sean las mismas, verifique siempre con -P durante las implementaciones.
  • Olvidar citar “$PWD” en rutas sin comillas puede dañar los scripts con espacios o caracteres especiales.
  • La mezcla de diferencias entre los shells integrados y los binarios puede provocar errores sutiles; utilice explícitamente /bin/pwd cuando sea necesario.
  • Ignorar los permisos pwd puede fallar si los directorios intermedios no son accesibles.
  • Las rutas relativas codificadas de forma rígida utilizan “$PWD” o “$(pwd -P)” para mantener los scripts portátiles y explícitos.

Preguntas Frecuentes

¿Qué hace el comando pwd en Linux?

pwd imprime la ruta absoluta de su directorio de trabajo actual. Le ayuda a confirmar su ubicación en el sistema de archivos y es esencial para scripting, resolución de problemas y operaciones seguras con archivos.

¿Cuál es la diferencia entre pwd -L y pwd -P?

-L muestra la ruta lógica, conservando los enlaces simbólicos a medida que navega. -P muestra la ruta física resolviendo los enlaces simbólicos a sus destinos reales en el sistema de archivos. Use -P al realizar operaciones que deban tener como destino la ubicación real, como implementaciones o copias de seguridad.

¿Pwd es un comando incorporado del shell o un comando externo?

Ambos. Muchos shells incluyen una contraseña (pwd) para mayor velocidad y portabilidad, y también existe un binario externo (generalmente /bin/pwd de GNU coreutils). Usa el tipo pwd para ver cuál prefiere tu shell y usa el comando pwd o /bin/pwd para forzar el externo.

¿Cuándo debo utilizar $PWD en lugar de $(pwd)?

Prefiera $PWD en scripts por su rendimiento y simplicidad; el shell lo mantiene y se actualiza al ejecutar cd. Use $(pwd -P) cuando necesite la ruta canónica resuelta por enlaces simbólicos. Siempre comillas las variables para evitar problemas con espacios.

¿Por qué pwd falla con “getcwd: no se puede acceder a los directorios principales”?

Esto ocurre si se eliminó su directorio actual o un directorio principal, o si se cambiaron los permisos. Navegue a una ruta válida (p. ej., cd /) o restaure los permisos. En entornos automatizados, proteja los scripts con comprobaciones y alternativas.


Conclusión

El comando pwd en Linux es Una herramienta pequeña pero crucial para trabajar con confianza en la línea de comandos. Dominar las rutas lógicas frente a las físicas, preferir $PWD en scripts y usar -P para implementaciones con muchos enlaces simbólicos hará que sus flujos de trabajo sean más seguros y predecibles. Desarrollar un manejo confiable de rutas es una práctica recomendada fundamental, especialmente en hosting y CI/CD en plataformas como YouStable.

Deja Tu Comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Ir al Inicio