AccesoInicial

Navegación del sistema de archivos (pwd, ls, cd)

Aprende a orientarte dentro de un sistema Linux: saber dónde estás, ver qué hay a tu alrededor y moverte entre directorios.

Principiantelinuxclifile-system

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
  • /bin y /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/user y quieres entrar a documentos, escribes solo documentos en lugar de la ruta completa.

Dos atajos importantes: - .: el directorio actual - ..: el directorio padre (un nivel arriba)

Empecemos con la pregunta más básica: ¿dónde estoy?

bash
1$ pwd
2/home/user
3

pwd (*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:

bash
1$ ls
2Descargas  Documentos  Escritorio  notas.txt
3

ls (*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*):

bash
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
7

La 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:

bash
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
8

Los 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:

bash
1$ cd Documentos
2$ pwd
3/home/user/Documentos
4

cd (*change directory*) cambia tu ubicación. Para volver al directorio anterior, usa cd ..:

bash
1$ cd ..
2$ pwd
3/home/user
4

Y para volver a tu directorio home desde cualquier lugar, usa cd sin argumentos o cd ~:

bash
1$ cd /etc
2$ pwd
3/etc
4$ cd ~
5$ pwd
6/home/user
7

Tres preguntas, tres comandos

La navegación se reduce a tres preguntas que vas a hacerte constantemente:

  1. ¿Dónde estoy?pwd
  2. ¿Qué hay aquí?ls (con -la para ver todo)
  3. ¿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.