50 Ejercicios Prácticos para Aprender Comandos Linux

Los comandos de Linux son la columna vertebral de este poderoso sistema operativo. La mejor manera de familiarizarse con ellos es practicando. A continuación, presentamos 50 ejercicios que te ayudarán a dominar algunos de los comandos más esenciales de Linux.

Índice

  1. Trabajando con directorios y archivos
  2. Gestión de usuarios y permisos
  3. Manipulación y búsqueda de contenido
  4. Gestión de paquetes y procesos
  5. Trabajando con redes

1. Trabajando con directorios y archivos

  1. Usa el comando pwd para mostrar tu directorio actual.
  2. Crea un nuevo directorio llamado ‘practica’ con el comando mkdir.
  3. Ingresa al directorio ‘practica’ utilizando cd.
  4. Crea un archivo llamado ‘ejemplo.txt’ usando el comando touch.
  5. Lista el contenido del directorio actual con ls.
  6. Usa cp para copiar ‘ejemplo.txt’ a ‘ejemplo_copia.txt’.
  7. Renombra ‘ejemplo_copia.txt’ a ‘ejemplo_renombrado.txt’ con mv.
  8. Elimina ‘ejemplo.txt’ usando el comando rm.
  9. Crea un subdirectorio llamado ‘subpractica’ con mkdir.
  10. Usa el comando rmdir para intentar eliminar ‘subpractica’ (nota por qué puede o no funcionar).

2. Gestión de usuarios y permisos

  1. Crea un nuevo usuario llamado ‘usuario_prueba’ con el comando useradd (necesitarás derechos de superusuario).
  2. Establece una contraseña para ‘usuario_prueba’ con passwd.
  3. Usa id para ver la información del UID y GID de ‘usuario_prueba’.
  4. Crea un grupo llamado ‘grupo_prueba’ con groupadd.
  5. Agrega ‘usuario_prueba’ al ‘grupo_prueba’ con usermod.
  6. Utiliza chmod para dar permisos de lectura, escritura y ejecución al propietario de ‘ejemplo_renombrado.txt’.
  7. Usa chown para cambiar el propietario de ‘ejemplo_renombrado.txt’ a ‘usuario_prueba’.
  8. Usa chgrp para cambiar el grupo de ‘ejemplo_renombrado.txt’ a ‘grupo_prueba’.
  9. Visualiza los permisos del archivo ‘ejemplo_renombrado.txt’ con ls -l.
  10. Elimina el usuario ‘usuario_prueba’ con el comando userdel.

3. Manipulación y búsqueda de contenido

  1. Escribe “Hola, Linux!” dentro de ‘ejemplo_renombrado.txt’ usando echo.
  2. Usa cat para ver el contenido de ‘ejemplo_renombrado.txt’.
  3. Con grep, busca la palabra “Linux” dentro de ‘ejemplo_renombrado.txt’.
  4. Utiliza find para buscar archivos con la extensión ‘.txt’ en tu directorio home.
  5. Agrega “Adiós, Linux!” a ‘ejemplo_renombrado.txt’ sin eliminar el contenido original usando >>.
  6. Usa tail para ver las últimas líneas de ‘ejemplo_renombrado.txt’.
  7. Utiliza head para ver las primeras líneas del mismo archivo.
  8. Combina los comandos sort y echo para escribir y ordenar alfabéticamente una lista de frutas.
  9. Usa wc para contar las palabras en ‘ejemplo_renombrado.txt’.
  10. Comprime ‘ejemplo_renombrado.txt’ usando gzip.

4. Gestión de paquetes y procesos

  1. Instala el paquete “htop” usando apt-get o el gestor de paquetes de tu distribución.
  2. Usa htop para visualizar los procesos en ejecución.
  3. Identifica el PID de algún proceso y deténlo con kill.
  4. Usa ps para ver los procesos que estás ejecutando.
  5. Con df, revisa el espacio utilizado y disponible en tus sistemas de archivos.
  6. Utiliza du para ver el espacio utilizado por el directorio ‘practica’.
  7. Actualiza la lista de paquetes de tu sistema con apt-get update o el comando correspondiente de tu gestor de paquetes.
  8. Actualiza todos los paquetes instalados con apt-get upgrade o el comando correspondiente.
  9. Revisa el estado de un servicio (por ejemplo, ssh) con systemctl.
  10. Instala y utiliza screen para iniciar una sesión persistente en el terminal.

5. Trabajando con redes

  1. Usa ping para comprobar la conectividad con google.com.
  2. Con el comando ifconfig o ip a, revisa la configuración de tu red.
  3. Usa netstat para visualizar las conexiones de red activas.
  4. Con ssh, intenta conectarte a algún servidor (si tienes uno disponible).
  5. Usa wget o curl para descargar un archivo desde internet.
  6. Si tienes permisos, reinicia la interfaz de red con ifdown y ifup o con systemctl restart networking.
  7. Usa dig o nslookup para consultar registros DNS de un dominio.
  8. Con traceroute, observa la ruta que toma un paquete hacia un destino.
  9. Utiliza ftp o sftp para conectar a un servidor FTP y transferir archivos.
  10. Con el comando host, resuelve un nombre de dominio a su dirección IP.

Estos ejercicios prácticos te ayudarán a familiarizarte con una amplia variedad de comandos de Linux y te proporcionarán una base sólida para continuar tu aprendizaje. Recuerda que la práctica hace al maestro, ¡así que ponte manos a la obra!

Respuestas a los 50 Ejercicios Prácticos de Comandos Linux

Si has trabajado en los 50 ejercicios prácticos de comandos Linux, aquí te traigo las soluciones. Veamos cómo se realizan estos comandos paso a paso:

1. Trabajando con directorios y archivos

  1. Para mostrar tu directorio actual: pwd
  2. Para crear un nuevo directorio llamado ‘practica’: mkdir practica
  3. Para ingresar al directorio ‘practica’: cd practica
  4. Para crear un archivo llamado ‘ejemplo.txt’: touch ejemplo.txt
  5. Para listar el contenido del directorio actual: ls
  6. Para copiar ‘ejemplo.txt’ a ‘ejemplo_copia.txt’: cp ejemplo.txt ejemplo_copia.txt
  7. Para renombrar ‘ejemplo_copia.txt’ a ‘ejemplo_renombrado.txt’: mv ejemplo_copia.txt ejemplo_renombrado.txt
  8. Para eliminar ‘ejemplo.txt’: rm ejemplo.txt
  9. Para crear un subdirectorio llamado ‘subpractica’: mkdir subpractica
  10. Para eliminar ‘subpractica’ (si está vacío): rmdir subpractica

2. Gestión de usuarios y permisos

  1. Para crear un nuevo usuario llamado ‘usuario_prueba’ (como superusuario): sudo useradd usuario_prueba
  2. Para establecer una contraseña para ‘usuario_prueba’: sudo passwd usuario_prueba
  3. Para ver la información del UID y GID de ‘usuario_prueba’: id usuario_prueba
  4. Para crear un grupo llamado ‘grupo_prueba’: sudo groupadd grupo_prueba
  5. Para agregar ‘usuario_prueba’ al ‘grupo_prueba’: sudo usermod -aG grupo_prueba usuario_prueba
  6. Para dar permisos de lectura, escritura y ejecución al propietario de ‘ejemplo_renombrado.txt’: chmod 700 ejemplo_renombrado.txt
  7. Para cambiar el propietario de ‘ejemplo_renombrado.txt’ a ‘usuario_prueba’: sudo chown usuario_prueba ejemplo_renombrado.txt
  8. Para cambiar el grupo de ‘ejemplo_renombrado.txt’ a ‘grupo_prueba’: sudo chgrp grupo_prueba ejemplo_renombrado.txt
  9. Para visualizar los permisos del archivo ‘ejemplo_renombrado.txt’: ls -l ejemplo_renombrado.txt
  10. Para eliminar el usuario ‘usuario_prueba’ (como superusuario y sin dejar rastro de su directorio hogar): sudo userdel -r usuario_prueba

3. Manipulación y búsqueda de contenido

  1. Para escribir “Hola, Linux!” dentro de ‘ejemplo_renombrado.txt’: echo "Hola, Linux!" > ejemplo_renombrado.txt
  2. Para ver el contenido de ‘ejemplo_renombrado.txt’: cat ejemplo_renombrado.txt
  3. Para buscar la palabra “Linux” dentro de ‘ejemplo_renombrado.txt’: grep "Linux" ejemplo_renombrado.txt
  4. Para buscar archivos con la extensión ‘.txt’ en tu directorio home: find ~/ -name "*.txt"
  5. Para agregar “Adiós, Linux!” a ‘ejemplo_renombrado.txt’ sin eliminar el contenido original: echo "Adiós, Linux!" >> ejemplo_renombrado.txt
  6. Para ver las últimas líneas de ‘ejemplo_renombrado.txt’: tail ejemplo_renombrado.txt
  7. Para ver las primeras líneas del mismo archivo: head ejemplo_renombrado.txt
  8. Para escribir y ordenar alfabéticamente una lista de frutas:

    echo -e "Manzana\nBanana\nCiruela\nDurazno" | sort
  9. Para contar las palabras en ‘ejemplo_renombrado.txt’: wc -w ejemplo_renombrado.txt
  10. Para comprimir ‘ejemplo_renombrado.txt’: gzip ejemplo_renombrado.txt

4. Gestión de paquetes y procesos

  1. Para instalar el paquete “htop” (como superusuario): sudo apt-get install htop
  2. Para visualizar los procesos en ejecución: htop
  3. Identifica el PID de algún proceso con htop y deténlo con: kill [PID]
  4. Para ver los procesos que estás ejecutando: ps aux
  5. Para revisar el espacio utilizado y disponible en tus sistemas de archivos: df -h
  6. Para ver el espacio utilizado por el directorio ‘practica’: du -sh practica
  7. Para actualizar la lista de paquetes de tu sistema: sudo apt-get update
  8. Para actualizar todos los paquetes instalados: sudo apt-get upgrade
  9. Para revisar el estado de un servicio (por ejemplo, ssh): sudo systemctl status ssh
  10. Para instalar “screen”: sudo apt-get install screen y para iniciar una sesión: screen

5. Trabajando con redes

  1. Para comprobar la conectividad con google.com: ping google.com
  2. Para revisar la configuración de tu red: ip a
  3. Para visualizar las conexiones de red activas: netstat -tuln
  4. Con ssh, intenta conectarte a algún servidor: ssh [usuario]@[dirección IP o dominio]
  5. Para descargar un archivo desde internet con wget: wget [URL del archivo]
  6. Para reiniciar la interfaz de red (dependiendo de tu sistema): sudo systemctl restart networking
  7. Para consultar registros DNS de un dominio con dig: dig [dominio]
  8. Para observar la ruta que toma un paquete hacia un destino: traceroute [dominio o IP]
  9. Con sftp, para conectar a un servidor FTP: sftp [usuario]@[dirección IP o dominio]
  10. Para resolver un nombre de dominio a su dirección IP: host [dominio]

Espero que hayas encontrado útil esta guía de soluciones y que te ayude en tu aprendizaje continuo de Linux. Recuerda siempre consultar las páginas de manual (man pages) para obtener información detallada de cada comando: man [nombre_del_comando].

Otros comandos básicos de Linux