El archivo está en otra máquina
La aplicación funciona en un servidor de un centro de datos, y el archivo de configuración que necesitas está en él. No puedes sentarte delante de esa máquina. Entras por la red, miras, y copias el archivo a la tuya, todo desde un terminal.
Al terminar esta lección
Nota
Puedo cambiar de usuario y usar otra máquina desde el terminal.
Palabras clave
- Usuario: una cuenta de una máquina, con sus propios archivos.
- sudo: ejecutar un comando como administrador.
- ssh: entrar en otra máquina por la red.
- scp: copiar un archivo a otra máquina.
- Servicio: un programa que se ejecuta en segundo plano.
Para empezar: lo que ya sabes
Nota
Responde mentalmente. 1. ¿Qué muestra whoami? 2. ¿Por qué no debería poder borrar cualquiera todos los archivos? 3. ¿Qué es un proceso?
Antes de empezar
Nota
Pulsa Iniciar el laboratorio en la barra superior de esta lección. Este laboratorio es una máquina Ubuntu entera para ti, así que tarda un poco más en arrancar que un contenedor. Cada botón Ejecutar escribe su comando en el terminal de la máquina, uno detrás de otro, en la misma sesión. Si alguno dice que la máquina aún está arrancando, espera unos segundos y púlsalo otra vez. Donde la lección dice Escribe esto, el comando no termina solo o te pregunta algo: pulsa Abrir el terminal en la barra y escríbelo tú.
Escribe esto: cambiar de usuario
En el terminal, escribe su dev y después la contraseña DevLab2026. Al escribir una contraseña no se ve nada. Escribe whoami: dice dev. Escribe exit para volver. Para ser el administrador, root, escribe sudo su: en este laboratorio no pide contraseña, y el símbolo del terminal acaba en #. sudo también ejecuta un solo comando como administrador.
Otra máquina: ssh y scp
ssh ejecuta comandos en otra máquina y scp le copia un archivo. Aquí la otra máquina es devbox, que es esta misma Ubuntu con la cuenta dev, con una clave ya preparada para que no pida contraseña. La primera vez, ssh avisa de que ha añadido la máquina a su lista. Los comandos son los que usarías en un servidor de verdad.
cdSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
echo "email Sam" > notes.txtSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
ssh dev@devbox whoamiSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
scp notes.txt dev@devbox:/home/devSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
ssh dev@devbox ls /home/devSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Escribe esto: entrar, mirar y salir
En el terminal, escribe ssh dev@devbox. El símbolo cambia: ahora escribes en la otra máquina, como dev. Ejecuta pwd y ls, y verás el notes.txt que copiaste. Escribe exit para volver.
Comprueba
Consejo
¿Qué comando copia un archivo a otra máquina y cómo se indica el destino? Respuesta: scp, y el destino es usuario@máquina:carpeta.
Instalar un programa y cuidar un servicio
sudo apt install -y tree instala un programa del archivo de Ubuntu. systemctl cuida los servicios: status muestra uno y restart lo para y lo arranca otra vez. --no-pager muestra todo de una vez.
sudo apt install -y treeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
tree projectsSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
systemctl status lab-web --no-pagerSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
sudo systemctl restart lab-webSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Escribe esto: editar un archivo en vi
Algunos servidores solo tienen vi. En el terminal, escribe vi notes.txt. Todavía no puedes escribir. Pulsa a para empezar a añadir texto y escribe una línea. Pulsa Esc para dejar de añadir. Luego escribe :wq e Intro para guardar y salir. Para salir y tirar los cambios, escribe :q!. Comprueba con cat notes.txt.
Un error frecuente
Advertencia
Mucha gente cree que ser el administrador, root, es la forma normal de trabajar. No lo es: root puede borrar cualquier cosa sin avisar, así que un error al teclear hace mucho más daño. Trabaja como tú mismo y usa sudo para el único comando que lo necesita.
Comprobación final
Consejo
Responde sin mirar atrás. 1. ¿Qué comando ejecuta un solo comando como administrador? 2. ¿Cómo sales de una sesión ssh? 3. En vi, ¿cómo guardas y sales? Respuestas: sudo; exit; Esc y luego :wq.
La chuleta
Moverse: pwd, ls -la, cd, cd -, ~. Archivos: mkdir -p, touch, echo >, cat, rm, rm -rf (con cuidado), chmod +x. Leer: tail -n, tail -f, grep, |. Buscar: find / -name 'x' 2>/dev/null, which, ps -ef | grep x, kill, y después kill -9. Máquina: df -h, du -sh *, free -h. Paquetes: unzip, gzip, gunzip, tar -czf, tar -xzf. Web: wget, curl -s. Personas: whoami, su, sudo, ssh usuario@máquina, scp archivo usuario@máquina:carpeta. Programas: sudo apt install -y, systemctl status|restart. Editor: vi (a, Esc, :wq, :q!).
Para el profesorado
Consejo
Esta lección se practica en un laboratorio de máquina virtual: cada alumno tiene su propia máquina Ubuntu, y Ejecutar escribe en su terminal y muestra lo que salió. Ideas clave: 1. su y sudo cambian quién eres por un momento. 2. ssh y scp llegan a otra máquina. 3. apt y systemctl instalan y cuidan programas. Error frecuente: trabajar siempre como root. Material: el laboratorio y un navegador. Consejo: pida a la clase que diga cuáles de los treinta comandos escribiría ahora en una nota adhesiva. El laboratorio no tiene comprobación y no califica nada; si quiere una entrega, ponga una usted.