El sistema de archivos de Linux es un árbol. Tú siempre estás parado en alguna rama de ese árbol, y esa posición se llama directorio de trabajo actual. El comando pwd (print working directory) te dice exactamente dónde estás parado en cada momento, sin argumentos, sin opciones: simplemente imprime la ruta completa desde la raíz / hasta tu posición actual.
cd (change directory) te mueve de una rama a otra. ls (list) te muestra qué hay en una rama sin que tengas que moverte a ella. Estos tres comandos forman un ciclo mental que vas a repetir miles de veces: ¿dónde estoy? → pwd. ¿qué hay aquí o allá? → ls. ¿me muevo? → cd.
El diseño es así de simple porque Unix fue concebido para que cada herramienta hiciera una sola cosa bien. pwd no lista, no mueve. cd no lista, no informa. Esa separación te permite combinarlos exactamente como necesitas en cada momento.
¿Cuándo usas esto? Siempre, desde el primer segundo que abres una terminal. No hay tarea en Linux que no empiece por saber dónde estás y qué tienes alrededor. Lo que puede romperse si lo ignoras es sutil pero frecuente: ejecutar un script creyendo que estás en /home/ana/proyecto cuando en realidad estás en /tmp, o borrar archivos en el directorio equivocado porque diste una ruta relativa sin verificar tu posición primero.
Dos referencias especiales que vas a usar constantemente: . (punto) representa el directorio donde estás ahora mismo, y .. (dos puntos) representa el directorio padre, es decir, un nivel más arriba en el árbol. Son accesos directos al sistema de rutas relativas, no nombres de directorios ocultos.
# Abre una terminal nueva. Lo primero que haces: pwd # /home/ana ← estás en tu directorio personal (home) # Listar qué hay en el directorio actual ls # Documentos Descargas Música Proyectos .bashrc .profile # Listar un directorio sin moverte a él ls Proyectos # web-app scripts notas.txt # Entrar a un directorio usando una ruta relativa cd Proyectos pwd # /home/ana/Proyectos # Ver el contenido después de moverte ls # web-app scripts notas.txt # Bajar un nivel más cd web-app pwd # /home/ana/Proyectos/web-app # Subir un nivel (al directorio padre) cd .. pwd # /home/ana/Proyectos # Subir dos niveles de una sola vez cd ../.. pwd # /home ← estamos en /home, no en /home/ana # Ir al home del usuario directamente, desde cualquier lugar cd pwd # /home/ana # cd ~ hace exactamente lo mismo cd /tmp pwd # /tmp cd ~ pwd # /home/ana # cd - regresa al directorio en el que estabas justo antes # Útil para alternar entre dos ubicaciones de trabajo cd /etc pwd # /etc cd - # /home/ana ← cd - imprime el destino además de moverse pwd # /home/ana # Volvemos a /etc con cd - cd - # /etc pwd # /etc # Ruta absoluta: siempre empieza con / # No importa dónde estés, te lleva al mismo sitio cd /var/log pwd # /var/log ls # apt auth.log dpkg.log kern.log syslog # El punto (.) como referencia al directorio actual # Aquí listamos explícitamente el directorio donde estamos ls . # apt auth.log dpkg.log kern.log syslog # (mismo resultado que ls sin argumentos en este contexto) # Regreso al home para terminar cd pwd # /home/ana
Cuando ejecutas cd Proyectos sin barra inicial, le estás diciendo al shell que busque Proyectos dentro del directorio donde ya estás: eso es una ruta relativa. Cuando ejecutas cd /var/log, la barra inicial le indica que el recorrido empieza desde la raíz del árbol sin importar tu posición actual: eso es una ruta absoluta. Esa diferencia es la más importante de todo este artículo.
El comando cd .. funciona porque .. no es un nombre arbitrario: el kernel mantiene esa entrada en todos los directorios como parte de la estructura del sistema de archivos. No puedes ir más arriba de /; si ejecutas cd .. estando en /, te quedas en /.
Fíjate en que cd - imprimió /home/ana antes de moverse. Eso ocurre porque el shell guarda la ubicación anterior en la variable $OLDPWD, y cd - la usa para volver y además la imprime. Si alternas constantemente entre dos directorios de trabajo, cd - te ahorra escribir rutas largas dos veces.
ls sin argumentos lista el directorio actual. ls Proyectos lista ese directorio usando una ruta relativa sin que te muevas, lo que es útil para echar un vistazo antes de decidir si entras. Todo lo que aceptan las rutas relativas y absolutas en cd funciona igual en ls.
El patrón mental que vale la pena instalar desde el principio: cuando te pierdes o algo falla, el primer reflejo es pwd. El segundo es ls. Con esos dos datos sabes exactamente en qué punto del árbol estás y qué tienes disponible a tu alrededor.
N° 17