Domina la terminal de Linux: comandos básicos de la shell
What you'll learn
- Aprenderás los fundamentos básicos de las terminales e intérpretes de comandos en GNU/Linux
- Podrás montar tu sistema GNU/Linux virtualizado para poder realizar prácticas y experimentos.
- Aprenderás a interpretar un prompt y entender la línea de comandos
- Aprenderás la sintaxis de llamada de cualquier comando, con opciones cortas, largas y argumentos
- Entenderás los comandos de sistema de uso cotidiano en Linux, para administrar archivos, usuarios, manejo de texto, etc.
- GNU/Linux es un sistema autodocumentado, aprenderás también las diversas formas con las que puedes obtener ayuda sobre el uso de los comandos del sistema
- Aprenderás a utilizar comodines y expansores en la línea de comandos
- El curso NO incluye shell scripting, pero brinda los contenidos necesarios para tomar un curso de shell scripting avanzado.
Requirements
- Un sistema Linux (instalado o en modo live) para realizar experimentar con los comandos vistos en el curso.
- No se requieren conocimientos previos mas que el uso básico de un ordenador e Internet
- Muchas ganas de aprender :-)
Description
Bienvenidos al curso de comandos básicos de terminal de GNU/Linux! (Shell Bash)!!
¿Qué tienen en común TODOS los sistemas GNU/Linux? Sí, la terminal de comandos.
GNU/Linux es un sistema que puede administrarse completamente desde la línea de comandos, utilizando intérpretes como el conocido Bash, u otros compatibles con diferentes características, como Zsh, Csh, y tantos otros.
Si ya eres usuario de Linux y quieres perderle el miedo a la consola, y aprender a manejar la terminal de comandos de manera fluida y ágil, este curso seguramente colabore con tu formación.
Además, el curso te permitirá obtener los conocimientos y habilidades básicas para que puedas tomar otras capacitaciones más avanzadas, como Shell Scripting o administración de sistemas GNU/Linux.
¿Qué incluye este curso?
Este curso incluye una introducción básica a los intérpretes de comandos de GNU/Linux y su relación con el sistema operativo. Se analiza el prompt del sistema en detalle, y se introducen los conceptos de intérpretes de comandos, ejemplos comunes y características de los más utilizados.
Luego, el curso se organiza en secciones dependiendo del tipo de comandos, donde encontrarás:
Introducción y conceptos básicos: lo mencionado, junto con conceptos sobre la sintaxis de los comandos, diferentes tipos de opciones, y sus argumentos.
Sistema de archivos: comandos relacionados con los sistemas de archivos, tales como ls, cd, mkdir, rm, mv, du, df, touch, etc. Aquí encontrarás también conceptos sobre bloques e i-nodes, y prácticas sobre el uso de enlaces simbólicos y duros (soft y hard links respectivamente). Finalmente, también se analizará el uso de comodines ?, [] y *, y expansión de la línea de comandos con {}.
Manejo de texto: en esta sección encontrarás comandos relacionados con el uso de texto en terminal. Aquí encontrarás comandos como cat, more, less, head, tail, wc, grep, awk, y conceptos relacionados, como el uso de los pipes de línea de comandos, y las redirecciones de entrada, salida y error estándar.
Búsqueda de archivos: aquí encontrarás las principales formas de buscar archivos y elementos del sistema de archivos en general, mediante comandos como find.
Obtención de ayuda: GNU/Linux es un sistema autodocumentado, lo que significa que toda la ayuda que necesites sobre los comandos de terminal la podrás encontrar en la misma terminal! Aquí aprenderemos cómo hacerlo de diferentes maneras.
Otros comandos: en esta sección encontrarás otros comandos no incluidos en las categorías anteriores.
Importante: el curso se mantendrá constantemente actualizado con nuevos comandos, recursos externos, prácticas, cuestionarios y exámenes de prueba, por lo que las secciones podrán modificarse en el futuro, añadiendo nuevas clases. Desde ya, las sugerencias que quieras hacer serán consideradas para nuevas actualizaciones.
¿Qué NO incluye el curso?
El curso no incluye temas avanzados de administración de sistemas GNU/Linux, es un curso de comandos básicos de terminal que tiene por finalidad introducir al alumno en el manejo de la línea de comandos de GNU/Linux, pero no adentrarse en conceptos teóricos sobre el funcionamiento interno del sistema.
Por otro lado, el curso NO incluye Shell Scripting, o Bash Scripting. Este curso explica, con ejemplos simples, muchos comandos comunes de terminal, pero no se especifican parámetros sobre cómo organizar estos comandos en archivos de procesamiento por lotes, o scripts de la shell. Tampoco se incluyen estructuras de control ni variables, ni contenido relacionado a shell scripting.
La intención del curso es brindar los conocimientos básicos, y desarrollar las habilidades necesarias para luego continuar con capacitaciones más avanzadas, como es el caso de Shell Scripting, desarrollo, seguridad informática o administración de sistemas GNU/Linux.
El curso está en permanente evolución, por lo que, periódicamente, publicaré nuevo contenido que pueda ayudarte a mejorar tus habilidades, y lo notificaré mediante la mensajería de la plataforma.
Te invito a sumarte al grupo de alumnos para poder acompañarte en este camino de aprendizaje!
Who this course is for:
- Usuarios con conocimientos mínimos en sistemas operativos
- Programadores que quieran ampliar sus conocimientos sobre la línea de comandos de Linux para mejorar su rendimiento
- Administradores de sistemas que quieran tener un curso de referencia y consulta sobre comandos básicos, intermedios y avanzados
- Usuarios de GNU/Linux quieran obtener conocimientos básicos de comandos para poder aplicar a cursos más avanzados (shell scripting)
Instructors
Diego Córdoba es Ingeniero en Informática con amplia experiencia en administración de sistemas GNU/Linux, redes TCP/IP, programación paralela y concurrente, seguridad informática y criptografía aplicada. Su trayectoria combina sólidos conocimientos técnicos con una profunda pasión por la investigación y la implementación de soluciones basadas en software libre y de código abierto.
Se ha desempeñado como profesor universitario e investigador durante 15 años en la Facultad de Ingeniería de la Universidad de Mendoza, y su carrera ha estado ligada a la docencia, consultoría y servicios profesionales.
Su formación se complementa con una Maestría en Teleinformática, centrando su tesis en el campo emergente de la criptografía post-cuántica, estudiando implementaciones de código abierto de algoritmos criptográficos resistentes al criptoanálisis cuántico.
En la actualidad se desempeña como instructor online y presencial en JuncoTIC, academia donde es co-founder, ofreciendo cursos, capacitaciones, talleres, consultoría y servicios profesionales.
Andrea Navarro es Ingeniera en Informática con especialización en Auditoría y Seguridad Informática, y ha trabajado como desarrolladora web utilizando lenguajes PHP y Python.
Se ha desempeñado como docente universitaria, investigadora e instructora online en asignaturas de desarrollo web con PHP y Python, API REST, Inteligencia Artificial, Ciencia de datos y Diseño de base de datos.
En la actualidad se desempeña como instructora online y presencial en JuncoTIC, donde es co-founder, ofrece capacitaciones, talleres y genera contenido para su blog.