Bases del sistema operativo

1

Aviso de renovación del curso

2

Lo que aprenderás sobre la administración de servidores linux

3

Distribuciones más utilizadas de Linux

4

Instalación de Ubuntu Server

5

Instrucciones para instalar CentOS

6

Gestión del árbol de directorios

7

Diferencias entre LESS, CAT, HEAD y TAIL para lectura de archivos

8

Interacción con archivos y permisos

9

Conociendo las terminales en linux

10

Manejo y monitoreo de procesos y recursos del sistema

11

Monitoreo de recursos del sistema

Instalación y manejo de software en Linux

12

Análisis de los parámetros de red

13

Administración de paquetes acorde a la distribución

14

Manejo de paquetes en sistemas basados en Debian

15

Administración de software con YUM y RPM para CentOS

16

Nagios: Desempaquetado, descompresión, compilación e instalación de paquetes

Administración de usuarios

17

Los usuarios, una tarea vital en el proceso de administración del sistema operativo

18

Creando y manejando cuentas de usuario en el sistema operativo

19

Entendiendo la membresía de los grupos

20

Usando PAM para el control de acceso de usuarios

Servicios en el sistema operativo

21

Autenticación de clientes y servidores sobre SSH

22

Configurando DNS con bind

23

Arranque, detención y recarga de servicios

24

NGINX y Apache en Ubuntu server

25

Instalación y configuración de NGINX

26

¿Qué es NGINX Amplify?

27

NGINX Amplify: Instalación y configuración de un servidor para producción

28

Monitoreo de MySQL con Nagios

29

Configuración de Nagios

30

Los logs, nuestros mejores amigos

31

Otros servicios de logs

Bash scripting

32

Las bases de bash

33

Las variables y su entorno de ejecución

34

Automatizando tareas desde la terminal

35

Automatizando la copia de seguridad

36

Crontab

Asegurando tu servidor

37

Entendiendo la gestión de vulnerabilidades

38

¿Qué es una superficie de ataque? Principio del menor privilegio

39

El firewall y sus reglas

40

Escaneo de puertos con NMAP y NIKTO desde Kali Linux

41

Lynis: Herramientas de auditoria de seguridad en Linux

Proyecto

42

Configuración de Node.js en un ambiente productivo

43

Configuración de NGINX para la aplicación de Node.js

Bonus: Linux en Azure

44

Aprende sobre Linux en Azure

45

Despliegue de una aplicación web MEAN

46

Crea una máquina virtual en la nube de Azure

Conclusiones

47

Lo que aprendiste sobre servidores linux

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Las variables y su entorno de ejecución

33/47
Recursos

Las variables de entorno son un conjunto de variables globales en nuestros sistemas que nos permiten acceder de forma más fácil a una ruta o un conjunto de comandos difíciles de recordar. Podemos usarlas en la terminal y en los archivos de bash.

El comando env nos permite ver todas las variables de entorno de nuestro sistema.

Aportes 33

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

RESUMEN DE LA CLASE
|
Las variables y su entorno de ejecución
|
|
Comandos
|
env: Muestra las variables del sistema operativo
|
|
Variables de entorno
|
$PATH: Guarda las rutas donde se ubican los archivos binarios que pueden ejecutarse directamente en la consola
|
|
Scripts útiles
|

  • Verificar la cantidad de espacio en el S.O
#!/bin/bash
# Verificar la cantidad de espacio en el S.O
# Desarrollado por Jhon Edison

CWD=$(pwd)
FECHA=$(date +"%F%T")
echo $FECHA

df -h | grep /dev > uso_disco_"$FECHA".txt
df -h | grep /dev/sda2 >> uso_disco_"$FECHA".txt

echo "Se ha generado un archivo en la ubicación $CWD"
do || !do

Algunos entenderán jajaj

Importante crear el script sin dejar espacios entre el nombre de la variable y el igual, me genero problemas al correr el script. También tener en cuenta en el formato de fecha el signo “+” debe estar pegado al formato “%F%T” también genera problemas si se dejan espacios

Algo curioso es que las variables creadas mueren al finalizar la ejecución del script

Entendido y funcionando.

env
pwd
echo $PATH

#!/bin/bash
# Verificar la cantidad de espacio
CWD=$(pwd)
FECHA=$(date +""%F%T"")
echo $FECHA

df -h | grep /dev > uso_disco_""$FECHA"".txt
df -h | grep /dev/sda2 >> uso_disco_""$FECHA"".txt

echo ""Se ha generado un archivo con nombre uso_disco$FECHA.txt en la ubicacion $CWD"

Esta clase de programación se siente como una bocanada de aire fresco después de todas las clases anteriores

Ejemplo de bash

#!/bin/sh
clear
SALIR=0
OPCION=0
while [ $SALIR -eq 0 ]; do
   echo "Menu:"
   echo "1) Opcion 1"
   echo "2) Opcion 2"
   echo "3) Salir"
   echo "Opcion seleccionada: "
   read OPCION
   case $OPCION in
       1)
           echo "Opcion 1 seleccionada" ;;
       2)
           echo "Opcion 2 seleccionada" ;;
       3)
           SALIR=1 ;;
       *)
         echo "Opcion erronea";;
   esac
done


Borre mi maquina virtual por error 🙃

pwd => print working directory
df -h => disk free -h (human)

De acuerdo a lo que investigué por curiosidad, el hecho de usar $([comando]) generará una subshell. El resultado puede almacenarse en una variable o desplegarse de inmediato en la salida, dependiendo de las necesidades. Así se crea un proceso aparte del que ya corre con el script. Por ejemplo:

#!/bin/bash
# Esta variable es global, o sea que se puede usar en todo el script
VAR="variable global"

function bash {
echo $VAR
# Esta variable es local, o sea que sólo se puede usar dentro de esta función
local LOC="variable local"
echo $LOC
}

#Esto no imprimirá nada, ya que la variable no existe fuera de la función
echo $LOC
#Imprimirá "variable global"
echo $VAR
#Correrá la función definida y por ende imprimirá "variable global" y "variable local"
bash

echo "Dormir durante 15 segundos" $(sleep 15s)

Ahora bien, cuando corremos el script de esta forma, podremos ver que hay un árbol de procesos. Usé el comando ps auxf

Lo interesante es cuando modificamos la última línea de la siguiente forma:

echo "Dormir durante 15 segundos"
sleep 15s

El resultado, en texto, es el mismo. En ejecución, la cosa es muy distinta, ya que de la primera forma en cuanto llega a la última línea, no se imprime “Dormir durante 15 segundos” sino hasta después de 15 segundos. En la segunda se imprime inmediatamente el mensaje y después ejecuta el sleep. Porque están en distintas líneas, claro. Lo interesante es: ¿por qué cuando hay un comando y una subshell que requiere un tiempo de procesamiento la subshell se antepone a la primera salida?
Por curioso cambié las últimas líneas a

echo "Dormir durante 15 segundos" $(echo "Esto va segundo")

y se desplegó en el orden debido, o sea “Dormir durante 15 segundos Esto va segundo”.

Opiniones?

No es por nada, el contenido de este curso me parece bueno e interesante, muy interesante. Pero no me gusta la manera en cómo se desenvuelve el Prof. Siento que conoce el tema pero no se sabe explicar, habla como si lo tuvieran agarrado del cuello, como si le faltara el aire, dice los comandos y las palabras por sepa-ra-dos (así tal cual) y eso a la hora de practicar es incómodo xq uno está ansioso por escribir, por aprender, por ver que pasa y prefiere mil veces retroceder el video 10 segundos a esperar que, el, Prof, termine, de, decir, el, comando, y/o parámetro.

aca aca aca… aca… aca… aca…

Esto de “configurar un servicio de correo el cual tome este archivo y se lo envié al administrador o que genere alertas especificas basada en la configuración que recolecte.” Con lo que voy de curso no lo puedo hacer no lo se hacer o si? ya tome el curso de terminal, hay algún otro curso que se puede hacer esto ?

¿Cómo se puede setar una variable de entorno para que esté disponible al inicio del sistema sin importar el shell que use? Básicamente lo quiero usar para definir puertos en servicios de systemd.

Creo que el título de la clase no es el más adecuado…

Interesante el tema del uso de bash

Cabe aclarar la diferencia entre las variables de entorno y variables de shell. Como dijimos, las variables de entorno son accesibles por cualquier parte del sistema. Por otro lado, las variables de shell únicamente pueden ser interpretadas por la propia shell, es decir, los procesos hijos no podrán acceder a estas variables.

El comando set nos permite ver todas las variables de shell definidas.

RESUMEN CLASE 32

Comando "env"
Nos permite ver todas las variables de entorno de nuestro sistema.

$ env

Se utiliza echo $ PATH para ver las rutas de las variables.

$ echo $PATH

Verificando el espacio en el S.O.

#!/bin/bash
#Verificar la cantidad de espacio en el S.O
#Desarrollado por Abidan Triguero

CWD=(pwd)
FECHA=$(date +"%F%T")
echo $FECHA

df -h | grep /dev > uso_disco_"$FECHA".txt
df -h | grep /dev/sda2 >> uso_disco_"$FECHA".txt

echo "Se ha generado un archivo en la ubicacion $CWD"

variables de entorno
genial script

no entendí la segunda linea. Porque se reescribiría si la fecha es diferente?

Buena base para bash… muy buena clase…

el capitulo mas esperado

esencial 👊

Excelente, vídeo para verificar el espacio en disco.

Excelente clase, que tiene muchas aplicaciones en el servidor. 😃

el uso de variables lo doy mas que nada para apuntar a archivos o configuraciones de aplicaicones y simplificar los alias

buen capitulo… gracias 😃

Ahora me quedan mas claro algunas cosas que no había entendido en otros cursos

Gracias

muy buenos ejemplos!

Buen aporte. Todo funcionando.

excelente explicación