Uno de los comandos más importantes que aprenderá al usar la línea de comandos de Linux es el comando pwd que significa imprimir directorio de trabajo.
Esta guía le mostrará cómo usar el comando pwd y le mostrará la ruta física al directorio en el que está trabajando y el directorio lógico en el que está trabajando.
Índice de contenidos
Cómo averiguar en qué directorio de Linux se encuentra actualmente
Para saber en qué directorio se encuentra actualmente, ejecute el siguiente comando:
pwd
La salida para el comando pwd será algo así:
/home/gary
A medida que se desplaza por el sistema, el directorio de trabajo cambiará para reflejar su posición actual dentro del sistema de archivos.
Por ejemplo, si utiliza el comando cd para navegar a la carpeta de documentos, el comando pwd mostrará lo siguiente:
/home/gary/Documentos
¿Qué muestra pwd cuando se navega a una carpeta enlazada simbólicamente
?
Para esta parte, estableceremos un pequeño escenario para explicar la situación.
Imagine que tiene una estructura de carpetas como la siguiente:
- casa
- Gary
- documentos
- carpeta1
- folder2
- documentos
- Gary
Ahora imagina que has creado un enlace simbólico a la carpeta 2 de la siguiente manera:
ln -s /home/gary/Documentos/folder1 /home/gary/Documentos/accounts
El árbol de carpetas tendría el siguiente aspecto:
- casa
- Gary
- documentos
- carpeta1
- folder2
- cuentas
- documentos
- Gary
El comando ls muestra los archivos y carpetas dentro de una ubicación determinada:
ls -lt
Si corriera el comando anterior contra mi carpeta de documentos vería que para las cuentas mostraría algo como esto:
cuentas -> carpeta2
Los enlaces simbólicos apuntan básicamente a otra ubicación dentro del sistema de archivos.
Ahora imagina que estás en la carpeta de documentos y usas el comando cd para moverte a la carpeta de cuentas.
¿Cuál crees que será la salida de pwd?
Si adivinó que mostraría /home/gary/Documentos/accounts entonces estaría en lo cierto, pero si corrió el comando ls contra la carpeta accounts, le está mostrando los archivos dentro de la carpeta folder2.
Mira el siguiente comando:
pwd -P
Cuando ejecute el comando anterior dentro de una carpeta enlazada simbólicamente, verá la ubicación física que en nuestro caso es /home/gary/Documentos/folder2.
Para ver la carpeta lógica puede utilizar el siguiente comando:
pwd -L
Esto en mi caso mostraría lo mismo que pwd en sí mismo que es /home/gary/Documentos/accounts.
Dependiendo de cómo se compila y configura pwd en su sistema, el comando pwd puede predeterminar la ruta física o la ruta lógica.
Por lo tanto, es un buen hábito usar el interruptor -P o -L (dependiendo del comportamiento que desee ver).
Uso de la variable $PWD
Puede ver el directorio de trabajo actual mostrando el valor de la variable $PWD. Simplemente use el siguiente comando:
echo $PWD
Mostrar el directorio de trabajo anterior
Si desea ver el directorio de trabajo anterior, puede ejecutar el siguiente comando:
echo $OLDPWD
Esto mostrará el directorio en el que se encontraba antes de moverse al directorio actual.
Múltiples ocurrencias de pwd
Como se mencionó anteriormente, pwd puede comportarse de forma diferente en función de cómo esté configurado.
Un buen ejemplo de esto está en Kubuntu Linux.
La versión shell de pwd que se usa cuando se ejecuta pwd muestra el directorio de trabajo lógico cuando se está dentro de una carpeta enlazada simbólicamente.
Sin embargo, si ejecuta el siguiente comando, verá que muestra el directorio de trabajo físico cuando se encuentra dentro de una carpeta enlazada simbólicamente.
/usr/bin/pwd
Esto obviamente no es muy útil porque esencialmente está ejecutando el mismo comando pero tiene el resultado inverso cuando se ejecuta en un modo predeterminado.
Como se mencionó anteriormente, es probable que desee adquirir el hábito de usar el script -P y -L.
Resumen
Sólo hay dos interruptores más para el comando pwd:
pwd –version
Se visualiza el número de versión actual para pwd.
Cuando se ejecuta contra la versión de shell de pwd puede que no funcione, pero funcionará contra /bin/pwd.
El otro interruptor es el siguiente:
pwd –help
Esto muestra la página de manual en la ventana del terminal
De nuevo esto no funciona para la versión shell de pwd, sólo para la versión /bin/pwd.