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 鈥淒ormir 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 鈥淒ormir 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 鈥渃onfigurar 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