Introducción
En la lección anterior abriste una terminal y ejecutaste tus primeros comandos. El prompt te dijo quién eres y en qué directorio estás. Pero ¿qué es un directorio? ¿Cómo te mueves a otro? ¿Cómo ves qué contiene?
En esta lección vas a aprender los tres comandos fundamentales de navegación: pwd, ls y cd. Con estos tres comandos puedes moverte por cualquier sistema Linux, sea tu máquina de práctica o un servidor al que acabas de acceder durante un pentest.
¿Por qué necesitas saber navegar?
Todo en Linux es un archivo o un directorio. Las configuraciones del sistema, las contraseñas, los scripts, los logs: todo vive en algún lugar del sistema de archivos. Si no sabes navegar, no puedes encontrar nada. Y en seguridad ofensiva, encontrar cosas es literalmente el trabajo: archivos de configuración con credenciales, scripts ejecutados por root, claves SSH en directorios inesperados.
Navegar el sistema de archivos es la segunda habilidad más básica después de abrir la terminal. Sin ella, cada comando que aprendas después pierde contexto.
Cómo está organizado el sistema de archivos
El sistema de archivos de Linux tiene forma de árbol invertido. En la raíz está / (llamado *root directory*, no confundir con el usuario root). De ahí se ramifican los directorios principales:
/home: directorios personales de los usuarios/etc: archivos de configuración del sistema/tmp: archivos temporales (cualquiera puede escribir aquí)/var: logs, datos variables/biny/usr/bin: programas ejecutables
Cuando abres una terminal, empiezas en tu directorio home, generalmente /home/tu-usuario. El símbolo ~ en el prompt es un atajo para esa ruta.
Rutas absolutas y relativas
Hay dos formas de referirse a una ubicación:
- Ruta absoluta: empieza desde la raíz
/. Ejemplo:/home/user/documentos. Siempre funciona, estés donde estés. - Ruta relativa: empieza desde tu ubicación actual. Si estás en
/home/usery quieres entrar adocumentos, escribes solodocumentosen lugar de la ruta completa.
Dos atajos importantes:
- .: el directorio actual
- ..: el directorio padre (un nivel arriba)
Navegación en la práctica: pwd, ls y cd
Empecemos con la pregunta más básica: ¿dónde estoy?
1$ pwd
2/home/user
3pwd (*print working directory*) muestra la ruta absoluta del directorio en el que te encuentras. Siempre que te sientas perdido, pwd es tu brújula.
Ahora veamos qué hay en este directorio:
1$ ls
2Descargas Documentos Escritorio notas.txt
3ls (*list*) muestra el contenido del directorio actual. Pero la salida básica no muestra todo. Para ver más detalles, usa ls -l (*long format*):
1$ ls -l
2total 4
3drwxr-xr-x 2 user user 4096 mar 15 10:00 Descargas
4drwxr-xr-x 2 user user 4096 mar 15 10:00 Documentos
5drwxr-xr-x 2 user user 4096 mar 15 10:00 Escritorio
6-rw-r--r-- 1 user user 42 mar 15 10:30 notas.txt
7La primera letra indica el tipo: d es un directorio, - es un archivo normal. Los demás caracteres son permisos (los veremos en una lección futura). Lo importante ahora es distinguir directorios de archivos.
Para ver archivos ocultos (los que empiezan con .), usa ls -la:
1$ ls -la
2drwxr-xr-x 5 user user 4096 mar 15 10:30 .
3drwxr-xr-x 3 root root 4096 mar 10 08:00 ..
4-rw------- 1 user user 220 mar 10 08:00 .bash_history
5-rw-r--r-- 1 user user 3526 mar 10 08:00 .bashrc
6drwxr-xr-x 2 user user 4096 mar 15 10:00 Descargas
7-rw-r--r-- 1 user user 42 mar 15 10:30 notas.txt
8Los archivos que empiezan con . están ocultos por defecto. .bash_history contiene el historial de comandos; .bashrc contiene la configuración del shell. Ambos son relevantes en seguridad: el historial puede contener contraseñas escritas accidentalmente.
Ahora vamos a movernos a otro directorio:
1$ cd Documentos
2$ pwd
3/home/user/Documentos
4cd (*change directory*) cambia tu ubicación. Para volver al directorio anterior, usa cd ..:
1$ cd ..
2$ pwd
3/home/user
4Y para volver a tu directorio home desde cualquier lugar, usa cd sin argumentos o cd ~:
1$ cd /etc
2$ pwd
3/etc
4$ cd ~
5$ pwd
6/home/user
7Tres preguntas, tres comandos
La navegación se reduce a tres preguntas que vas a hacerte constantemente:
- ¿Dónde estoy? →
pwd - ¿Qué hay aquí? →
ls(con-lapara ver todo) - ¿Cómo llego a otro lugar? →
cd
Este ciclo (orientarte, explorar, moverte) es el mismo que usarás cuando enumeres un sistema durante un pentest. La diferencia es que en un pentest buscas archivos sensibles en lugar de tus propios documentos, pero la mecánica es idéntica.
Errores comunes
Advertencia
Olvidar dónde estás. Es fácil hacer varios cd seguidos y perder la orientación. Si no sabes dónde estás, pwd siempre te responde. Usarlo frecuentemente no es señal de inexperiencia, es buena práctica.
Advertencia
Confundir rutas absolutas y relativas. Si escribes cd etc (relativa) y no existe un directorio llamado etc dentro de tu ubicación actual, recibirás un error. Lo que querías probablemente era cd /etc (absoluta). Cuando un cd falla, verifica si necesitas una / al principio.
Consejo
Usa la tecla Tab para autocompletar. Si escribes cd Doc y presionas Tab, el shell completa automáticamente a cd Documentos/. Esto ahorra tiempo y evita errores de escritura.
Conclusión
Con pwd, ls y cd puedes orientarte y moverte por cualquier sistema Linux. La navegación es la base de todo lo que sigue: no puedes manipular archivos si no sabes dónde están. En la siguiente lección aprenderás a crear, copiar, mover y eliminar archivos y directorios, las operaciones que te permiten construir y organizar tu espacio de trabajo.