Índice
Introducción
Bienvenidos a la tercera (y última) parte de este módulo de Fundamentos de Linux. En este Linux Fundamentals III de TryHackMe veremos nuevas características del sistema operativo Linux. Hasta el momento, en lo que llevamos visto, se han manejado algunos conceptos fundamentales y se han usado algunos comandos importantes. En esta ocasión veremos algunas utilidades y aplicaciones que usarás en tu día a día. También avanzarás en tus habilidades con Linux aprendiendo acerca de la automatización, la gestión de paquetes y registro de servicios y aplicaciones.
Desplegando tu máquina Linux
Desplegando tu máquina Linux
Para desplegar tu máquina Linux, has de hacer clic sobre el botón verde “Start Machine” en la parte superior derecha de este apartado y después ir a la parte superior de esta página para ver la información del despliegue:

La dirección IP mostrada es la dirección de tu máquina Linux, a la cual deberás acceder mediante SSH. Ten esto en cuenta por ahora.
Desplegando tu AttackBox de TryHackMe
En la parte superior de esta página puedes ver el botón azul “Start AttackBox”, mediante el cual podrás desplegar la máquina AttackBox de TryHackMe con la que podrás interactuar. Esta máquina tiene un sistema Linux Ubuntu que está alojado en la nube y con el que puedes interactuar a través de tu navegador web. Puedes usarlo para interactuar con la máquina que despliegues en este apartado.
Usa estas credenciales:
Dirección IP: La dirección IP facilitada por TryHackMe en la máquina desplegada
Username: tryhackme
Password: tryhackme
Editores de texto de la terminal
A lo largo de esta serie solo hemos almacenado texto en archivos gracias al comando echo y los operadores > y >>. Esa no es una forma eficiente de manejar datos cuando trabajas con archivos con múltiples líneas.
Introducción a los editores de texto de terminal
Hay distintas opciones que puedes utilizar, todas ellas con una gran variedad de utilidades y amigables. Este apartado te introducirá en nano, pero también te mostrará una alternativa llamada VIM
(sobre la cual TryHackMe tiene una sala dedicada a ella).
Nano
Es sencillo comenzar con Nano. Para crear o editar un archivo usando nano, simplemente usarás el comando nano nombre_del_archivo
, reemplazando “nombre_del_archivo” por el nombre del archivo que quieres editar.

Una vez que pulses Enter para ejecutar el comando, se lanzará nano. Ahí podremos comenzar a introducir o modificar nuestro texto. Puedes navegar por las distintas líneas usando las flechas de “arriba” y “abajo” o comenzar una nueva línea pulsando la tecla “Enter” en tu teclado.

Nano tiene algunas características que son fáciles de recordar y cubren las acciones más generales que querrás llevar a cabo en un editor de texto, incluyendo:
- Buscar texto
- Copiar y pegar
- Saltar a un número de línea
- Encontrar en qué número de línea estás
Puedes usar estas características de nano pulsando la tecla “Ctrl” (representada como ^ en Linux) y la tecla correspondiente. Por ejemplo, para salir, tendrías que pulsar “Ctrl” y “X” y saldrás de Nano.
VIM
VIM es mucho más que un editor de texto avanzado. Aunque no se espera que conozcas todas las características avanzadas, será de ayuda mencionarlo para potenciar tus habilidades con Linux.

Algunas de las ventajas de VIM, aunque requiere de más tiempo para familiarizarse con él, incluyen:
- Personalizable: puedes modificar los atajos de teclado a tu elección.
- Marcado de sintaxis: es útil si estás escribiendo o manteniendo código, haciéndolo una elección popular para los desarrolladores de software.
- VIM trabaja con todas las terminales en las que nano puede no estar instalado.
- Hay un montón de recursos como chuletas y tutoriales que puedes utilizar.
Utilidades Generales
Descargando archivos
Una característica fundamental de la informática es el poder transferir archivos. Por ejemplo, puedes querer descargar un programa, un script, o incluso una imagen. Afortunadamente, existen distintas formas en las que poder conseguir estos archivos.
Por ahora verás el uso de wget
. Este comando te permite descargar archivos de la web a través de HTTP tal y como si estuvieras accediendo al archivo desde tu navegador. Simplemente necesitas proporcionar la dirección del recurso que quieres descargar. Por ejemplo, si quieres descargar un archivo llamado “myfile.txt” a tu máquina, asumiendo que conoces la dirección web en la que está alojado, sería algo como esto:
wget https://assets.tryhackme.com/additional/linux-fundamentals/part3/myfile.txt
Transfiriendo archivos de tu alojamiento – SCP (SSH)
Copia segura, o SCP, es simplemente eso, una forma de copiar archivos de forma segura. A diferencia del comando cp
, este comando te permite transferir archivos entre dos ordenadores usando el protocolo SSH para proporcionar tanto autenticación como cifrado.
Trabajando en un modelo de FUENTE y DESTINO, SCP te permite:
- Copiar archivos y directorios desde tu sistema actual a un sistema remoto.
- Copiar archivos y directorios desde un sistema remoto a tu sistema actual.
Se supone que conoces el nombre de usuario y contraseña de un usuario en tu sistema actual y de un usuario en el sistema remoto. Por ejemplo, para copiar un archivo desde tu máquina a una máquina remota, que queda expuesto en la siguiente tabla:
Variable | Valor |
La dirección IP del sistema remoto | 192.168.1.30 |
Usuario en el sistema remoto | ubuntu |
Nombre del archivo en el sistema local | important.txt |
Nombre que queremos darle al archivo para almacenarlo en el sistema remoto | trasnferred.txt |
Con esta información, puedes formar tu comando scp
(recuerda que el formato de SCP es solo FUENTE y DESTINO):
scp important.txt ubuntu@192.168.1.30:/home/ubuntu/transferred.txt
Y ahora verás la acción inversa:
scp ubuntu@192.168.1.30:/home/ubuntu/documents.txt notes.txt
Sirviendo archivos desde tu alojamiento – WEB
Las máquinas Ubuntu vienen con python3 preinstalado. Python proporciona un módulo muy útil y sencillo de usar llamado “HTTPServer”. Este módulo convierte tu ordenador en un rápido y sencillo servidor web que puedes usar para servir tus propios archivos, los cuales pueden ser descargados por otro ordenador usando comandos como curl
y wget
.
El “HTTPServer” de Python 3 servirá los archivos en el directorio desde el que ejecutes el comando, pero esto se puede cambiar proporcionando las opciones que se pueden encontrar en su página de manual. Simplemente, todo lo que tenemos que hacer es ejecutar python3 -m http.server
para arrancar el módulo.
tryhackme@linux3:/tmp# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
Ahora es momento de usar wget para descargar el archivo usando la dirección IP del ordenador y el nombre del archivo. Un defecto de este módulo es que no hay forma de indexar, por lo que debes saber el nombre exacto y la ubicación del archivo que vas a utilizar. Es por eso que hay gente que prefiere usar Updog, un servidor web más ligero y avanzado. Pero, por ahora, toca aprender a usar el “HTTPServer” de Python.
tryhackme@linux3:/tmp# wget http://127.0.0.1:8000/file
2021-05-04 14:26:16 http://127.0.0.1:8000/file Connecting to http://127.0.0.1:8000... connected. HTTP request sent, awaiting response... 200 OK Length: 51095 (50K) [text] Saving to: ‘file’ file 100%[=================================================>] 49.90K --.-KB/s in 0.04s 2021-05-04 14:26:16 (1.31 MB/s) - ‘file’ saved [51095/51095]
A continuación, puedes ver que wget ha descargado con éxito el archivo llamado “file” a tu máquina. Esta petición queda registrada por SimpleHTTPServer así como lo haría en cualquier navegador web:
tryhackme@linux3:/tmp# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
127.0.0.1 - - [04/May/2021/14:26:09] "GET /file HTTP/1.1" 200 -
Y hasta aquí llega la primera mitad de este Linux Fundamentals 3. Dentro de muy poco os traeré la segunda parte, ya que el texto original es bastante largo y he preferido dividirlo en dos publicaciones.
Ya sabéis que para cualquier consulta, me podéis dejar aquí un comentario y os contestaré tan pronto como me sea posible.
Aquí podéis encontrar la sala original en inglés de TryHackMe en la que podéis practicar con las preguntas que vienen en cada apartado. Para cualquier duda sobre estas preguntas, no dudéis en dejar un comentario en este post.
Si queréis consultar las traducciones anteriores de Linux Fundamentals, solo tenéis que hacer clic aquí y os llevará al apartado del blog correspondiente.
1 comentario en «Fundamentos de Linux 3 – Parte 1»