En este post nos adentraremos en el mundo de Linux, ideal para quienes son nuevos en este sistema operativo. Aprenderemos a usar la terminal de manera segura y sin miedo a cometer errores con los comandos.
Vamos a practicar directamente en la terminal, paso a paso, explicando cada comando y su función. Utilizaremos una página especializada para practicar y aprender comandos básicos en Linux de manera efectiva.
La página ofrece desafíos de seguridad informática donde usaremos comandos en Linux para encontrar contraseñas en archivos .txt. A medida que progreses, los desafíos se vuelven más difíciles, requiriendo encontrar una “flag” para avanzar de nivel.
Espero que este artículo te sea útil y te anime a explorar más el fascinante mundo de Linux. ¡Empecemos!
File Commands(Guia Rapida)
Los comandos de archivos, los cuales nos sirven para poder navegar atravez de la terminal y de igual forma crear, mover, renombrar, listar, eliminar etc.
Esta primera parte son los comandos fundamentales para empezar con el uso de una terminal.
Comandos para archivos y directorios:
ls- Lista los directorios y archivos en la ubicacion que te encuentrasls -l- Lista los directorios y archivos con un formato mas amplio, informacion de los mismosls -a- Lista todos los archivos y directorios incluyendo los que esten ocultoscd /path/to/directory- Te permite entrar o salir de una carpetacd ..- Te permite salir del directorio actual en el que te encuentas.pwd- Muestra la ubicacion actual en la que te encuentras dentro de un directoriotouch file_name- Crea un archivomkdir dir_name- Crear un directorio en la ruta actual en la que te encuentrasrm- Eliminar un archivorm -r- Elimina una carpetamv old_name new_name- Renombra un archivo o directoriomv file_or_dir /path/to/move- Mueve un archivo o directorio a una carpetacat file_name- Muestra el contenido de un archivocp file_name /path/to/copy- Copia un archivo a una rutacp -r dir_name /path/to/copy- Copia un directorio a una ruta
File permisions
Los permisos de archivo se refieren a los derechos y restricciones que se asignan a archivos y directorios, estos permisos determinan quién puede leer, escribir y ejecutar un archivo o directorio. Hay tres tipos básicos de permisos lectura(r)(4), escritura(w)(2) y ejecucion(x)(1)
- Comandos:
chmod +x file_name- Asigna el permiso de ejecucion usando el identificador por letras.chmod 111 file_name- Asigna el permiso de ejecucion de acuerdo al sistema binario.chown user:group file_name- Cambia el propietario y grupo de un archivo o directorio
ssh commands
Los comandos de SSH son herramientas fundamentales para gestionar conexiones seguras entre computadoras a través de una red. Permiten iniciar sesiones remotas, transferir archivos de manera segura y configurar túneles para el acceso seguro a servicios de red.
Estos comandos son esenciales para administrar sistemas de forma remota de manera segura y eficiente, facilitando tareas como la gestión de archivos, la ejecución de comandos en máquinas remotas, y la configuración y mantenimiento de servicios a través de conexiones encriptadas.
- Comandos basicos para hacer una conexion por ssh:
ssh user@host- conectarnos a un host como usuariossh-keygen- Se usa para generar una clave privada y una clave publicassh -p port user@host- Conectarnos a un host como un usuario mediante un puerto en especificossh-copy-id user@host- Copia tu llave publica al servidor remoto para registrar tu login
Searching files or directories
Los comandos para buscar archivos o directorios como su nombre lo indica nos ayudar a encontrar mucho mas rapido el directorio o archivo desde nuestra terminal de una manera mas rapida sin tener que navegar hasta la ruta en la que se encuentra
- comandos de busqueda:
grep "word" file_name- Nos permite buscar palabras dentro de archivofind /path/to/find -name file_or_dir_name- Buscar archivos por nombres haciendo uso de la base de datos en nuestro sistema
Más adelante exploraremos otros usos del comando find para realizar búsquedas de manera aún más eficiente.
Process Managment and System information
La gestión de procesos se refiere al conjunto de técnicas y herramientas utilizadas para controlar y supervisar los procesos que se ejecutan en un sistema operativo. Esto incluye actividades como la creación, terminación, pausa, reanudación y monitoreo de procesos.
- Comandos:
ps- Muestra los procesos activos en tiempo realps aux | grep process_name- Busca procesos por el nombretop- Muestra todos los procesos activoskill pid- Cierra los procesos usando un pid(numero del proceso)killall process_name- Cierra todos los procesos que se llamen por el nombre especificadodate- Muestra la fecha y hora actual configurada en tu sistemauname -a- Muestra informacion del sistema y del kerneldf -h- Muestra el espacio en el disco duro del sistemadu -sh dir_name- Muestra espacio que consume un directorio
No te preocupes si no has entendido algunos de los comandos antes mencionados o incluso si no logras memorizarlos. Recuerda igual darte un descanso y luego seguir repasando. Más adelante estaré explicando cómo usar cada uno de los comandos mencionados y notarán que existen muchas formas de aplicar estos comandos. No te rindas, que viene lo interesante con los niveles de OverTheWire.
