Curso de Linux N27. Preludio al nuevo Curso de Linux Intermedio

in Develop Spanish5 months ago (edited)

Cordiales Saludos


27_portada.png

Año nuevo, etapa nueva...

Sirva esta publicación como preámbulo a la nueva etapa que he diseñado para nuestro curso.

La que comienza es la tercera etapa de nuestro curso que he denominado: Curso de Linux Intermedio.

Las etapas anteriores eran:

  • Curso Terminal de Linux (Con 11 Publicaciones)
  • Curso Linux (Con 27 publicaciones, incluyendo ésta)

Siempre es necesario la revisión del material expuesto para estudiarlo a profundidad y determinar cuanto hemos avanzado; que hemos logrado; que nos falta por estudiar y hacia donde queremos llegar.

En esta etapa hemos visto sólo comandos básicos que nos muestran nuestro sistema; nuestro sistema de archivos, etc. Han sido comandos que no comprometen nuestro sistema, yo los llamo comandos de visualización, de operaciones básicas, de solicitud de datos y comandos que nos permiten gestionar de una forma básica operaciones matemáticas, búsqueda, listado de texto, entre otras opciones básicas que nos pueden ayudar a comprender y a trabajar mejor con nuestra terminal.

Estos son los comandos que hemos tratado en nuestro curso.

Curso Terminal de Linux

1.- date, 2.- cal, 3.- pwd, 4.- echo, 5.- whatis, 6.- which, 7.- history, 8.- ls, 9.- cat, 10.- head, 11.- tail, 12.- wc, 13.- help, 14.- touch, 15.- Nano, 16.- less, 17.- tac, 18.- man, 19.- info, 20.- bc, 21.- echo, 22.- arch, 23.- df, 24.- lscpu, 25.- uname, 26.- clear, 27.- mkdir, 28.- cd, 29.- rm, 30.- uptime, 31.- whoami, 32.- who, 33.- free, 34.- apt, 35.- Neofetch, 36.- moo, 37.- cp, 38.- mv, 39.- file, 40.- ping, 41.- hostname, 42.- shutdown, 43.- init, 44.- top, 45.- htop.

Curso Linux

46.- su, 47.- open, 48.- grep, 49.- sort, 50.- env, 51.- printenv, 52.- apropos, 53.- man -k, 54.- uniq, 55.- type, 56.- alias, 57.- unalias, 58.- PS1, 59.- wget, 60.- xdg-open, 61.- cpuinfo, 62.- dmidecode, 63.- md5sum, 64.- comm; 65.- ln; 66.- let, 67.- expr, 68.- calc 69.- tr, 70.- paste, 71.- ZIP, 72.- UNZIP.

Es importante para todos
Te animo a que me ayudes para completar una lista de 100 comandos Básicos de Linux. Ojo tienen que ser Básicos, nada que comprometa el sistema. Así como agregué Nano dentro de los comandos agregaré un especial de Vim, ya serán 73 comandos.

También hemos vistos algunos Especiales: '>', '>>' , '|', faltan otros...

Hemos tratado los siguientes Temas: Árbol de directorios; Autocompletado y Comodines; Vaciar contenido de un archivo; sudo apt update; sudo apt upgrade; Ruta Absoluta; Ruta Relativa; Archivos Ocultos; Tuberías (Pipelines); Instalación de Linux Mint; Git; Repositorio en GitLab; Programación en Bash; Instalación de WSL - Terminal de Ubuntu; Expansiones.

En bash se trabajó con los fundamentos básicos que abarcan: Variables, argumentos, shift, comentarios, palabras reservadas; Listas, Condicionales if, if-else, elif, case, and, or y negación; Condicionales: Pruebas de archivos y Comparación de cadenas de caracteres; for, for-in; Contadores, Acumuladores, Interruptores, continue, break; while; until; ciclos infinitos; continue y break con while y until; Entradas por teclado; Funciones en Bash.

Sin duda esta publicación me quedará como referencia para futuras publicaciones; determinar lo que hemos visto y que temas tratar a futuro.

Nueva etapa

De todo esto tendrás tus propias conclusiones, cuando después de las 37 publicaciones anteriores con sus 72 comandos básicos y los 73 ejercicios realizados en Bash, nunca modifiqué los permiso de ejecución de los script y de ningún otro archivo...

Como ejemplo:

  1 #!/bini/bash
  2 # script_73.sh Por: Rafael Aquino
  3 # Funciones - Ejercicios 
  4 # Realizar un script - teniendo determinado número de 
  5 # elementos se desea: sumar todos los elementos  
  6 
  7 # Declaración
  8 mi_funcion_ () {
  9   echo "El numero de elementos es: $1"
 10   fin=$1
 11   cont=0
 12   while [ $cont -lt $fin ];
 13   do
 14     read -p "Número? $i" numero
 15     (( SUM=SUM+$numero ))
 16     (( cont++ ))
 17   done
 18 
 19   echo "La suma de todos los elementos: $SUM"
 20 }
 21 
 22 read -p "Número de elementos? " elementos
 23 # LLamada de la función
 24 mi_funcion_ $elementos
 25 
 26 #.................................
$ bash script_73.sh 
Número de elementos? 5
El numero de elementos es: 5
Número? 6
Número? 7
Número? 4
Número? 1
Número? 2
La suma de todos los elementos: 20

El motivo? Porque a partir de ahora sí veremos los permisos de ejecución de un archivo, Trataremos el tema de las particiones, Procesos, Demonios, el protocolo SSH, creación de usuarios y un largo etc.

Esperemos que esta nueva etapa sea fructífera para todos de mucho aprendizaje. Nos vemos en la siguiente publicación con un tema muy interesante!

Salud y feliz 2024.


🚨 IMPORTANTE:: 🚨

Los comando vistos aquí y en próximas publicaciones están limitados para mostrarlos y conceptualizarlos para nuestro quehacer diario. Cada comando tiene muchas opciones que debemos investigar por nuestra propia cuenta cuando estemos trabajando con ellos. Aprovechemos el internet para conocer en profundidad el comando que estemos estudiando y en primer orden no olvidemos lo potente y todo lo que nos brinda el comando man o --help para conocer la sintaxis y todo lo relacionado con todos los comandos que tenemos en nuestro sistema sin recurrir a internet.


bannerfundamentos.png

Un script para esta publicación

Para determinar que comando había tratado en las publicaciones y no buscar uno por uno, por pesadez, problemas en la vista y lentes vencidos! creé un script que revisaba si el comando existía, para no repetirlo. Este script está realizado con lo que se ha visto hasta el momento, prometo mejorarlo con nuevos conceptos que veamos en esta nueva etapa.

  1 #!/bin/bash
  2 # Por: Rafael Aquino
  3 # Para buscar comando en la lista de comandos tratados en el curso
  4 
  5 #grep $1 lista_comandos.txt
  6 
  7 if grep $1 lista_comandos.txt
  8 then
  9   echo 'Si se encuentra ' $1 
 10 else
 11   echo "No existe en la lista de comandos"
 12 fi

Aquí unos ejemplos de la ejecución del script.


27_1.png


27_2.png

Git y Git Lab

Aquí el archivo, lista_comandos.txt donde están todos los comandos vistos


rafael@HP:~/ir_al_curso$ 
rafael@HP:~/ir_al_curso$ cat lista_comandos.txt 
1.- date, 2.- cal, 3.- pwd, 4.- echo, 5.- whatis, 6.- which, 7.- history, 8.- ls, 9.- cat, 10.- head, 11.- tail, 12.- wc, 13.- help, 14.- touch, 15.- Nano, 16.- less, 17.- tac, 18.- man, 19.- info, 20.- bc, 21.- echo, 22.- arch, 23.- df, 24.- lscpu, 25.- uname, 26.- clear, 27.- mkdir, 28.- cd, 29.- rm, 30.- uptime, 31.- whoami, 32.- who, 33.- free, 34.- apt, 35.- Neofetch, 36.- moo, 37.- cp, 38.- mv, 39.- file, 40.- ping, 41.- hostname, 42.- shutdown, 43.- init, 44.- top, 45.- htop.

46.- su, 47.- open, 48.- grep, 49.- sort, 50.- env, 51.- printenv, 52.- apropos, 53.- man -k, 54.- uniq, 55.- type, 56.- alias, 57.- unalias, 58.- PS1, 59.- wget, 60.- xdg-open, 61.- cpuinfo, 62.- dmidecode, 63.- md5sum, 64.-  comm; 65.- ln; 66.-  let, 67.- expr, 68.- calc 69.- tr, 70.- paste, 71.- ZIP, 72.- UNZIP.

rafael@HP:~/ir_al_curso$ 
rafael@HP:~/ir_al_curso$ 

Procedemos a subir el archivo a Git Lab para que esté a disposición para todos ustedes.

rafael@HP:~/ir_al_curso$ 
rafael@HP:~/ir_al_curso$ git add lista_comandos.txt 
rafael@HP:~/ir_al_curso$ 
rafael@HP:~/ir_al_curso$ git commit -m "add lista_comandos.txt"
[main bb5b51d] add lista_comandos.txt
 1 file changed, 4 insertions(+)
 create mode 100644 lista_comandos.txt
rafael@HP:~/ir_al_curso$ 
rafael@HP:~/ir_al_curso$ git push
Username for
Password for
Enumerando objetos: 4, listo.
Contando objetos: 100% (4/4), listo.
Compresión delta usando hasta 4 hilos
Comprimiendo objetos: 100% (3/3), listo.
Escribiendo objetos: 100% (3/3), 721 bytes | 721.00 KiB/s, listo.
Total 3 (delta 1), reusados 0 (delta 0), pack-reusados 0
To https://gitlab.com/btcsiraquino/linux_curso.git
   50ad7d4..bb5b51d  main -> main
rafael@HP:~/ir_al_curso$ 
rafael@HP:~/ir_al_curso$ 

Aquí el link del repositorio: https://gitlab.com/btcsiraquino/linux_curso


Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...


🚨 AVISO: 🚨
Es importante que nuestra información personal (documentos, imágenes, fotos, etc) estén respaldadas en otro medio físico o en la nube. No solamente porque estemos haciendo este curso sino como práctica diaria.


Para revisar las publicaciones anteriores de este curso: https://siraquino.github.io/pythoncumanes/linux.html


Aquí podrás revisar todos los 73 ejercicios en Bash que hemos realizado hasta ahora: https://gitlab.com/btcsiraquino/hp_bash_ejercicios


Mi Twitter

Sort:  

Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.