`pwd`, `cd` y `ls`: navegación básica en el terminal

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.

17

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio