TODOS deberían aprender BASH - Bash PARTE 1
Vložit
- čas přidán 11. 04. 2022
- Hoy aprendemos cómo usar Bash con un par de ejemplos simples y vemos también unos más complejos donde vemos el poder de este lenguaje.
Descarga VirtualBox: www.virtualbox.org/wiki/Downl...
Descarga Ubuntu Server: ubuntu.com/download/server
--
Repo con todos los archivos que uso: github.com/pablokbs/peladonerd
Merchandising Pelado Nerd: merch.peladonerd.com
Micrófono: Rode VideoMicro + Zoom H1N
Cámara: Sony A7 Mark III
Lente: Sony 28-70mm 3.5
Laptop: Macbook Pro 16'' 2019
Puedes encontrar todos mis links en peladonerd.com - Věda a technologie
Jefe: Necesitamos limpiar una carpeta que se llena de log... pero que antes de limpiarlos los copie a otra carpeta para tener el "historico" y que el nombre de la carpeta sea la fecha asi sirve de referencia... Ahhh esto es en Windows Server...
Yo: No se diga más...
(847 signos % despues)
Yo: Acá esta el BAT :S
@echo on
IF NOT EXIST "C:\Logs\%date:~6,4%%date:~3,2%%date:~0,2%%Time:~0,2%%Time:~3,2%" MD "C:\Logs\%date:~6,4%%date:~3,2%%date:~0,2%%Time:~0,2%%Time:~3,2%"
CD "C:\Logs\%date:~6,4%%date:~3,2%%date:~0,2%%Time:~0,2%%Time:~3,2%"
for /R C:\pewpewmadafakas %%A in (*.log) do copy "%%A" "%%~nxA"
CD "C:\pewpewmadafakas"
Del *.log
No es por llevarte la contraria, BATCH es especial por decirlo de alguna manera, y no lo recomiendo si puedes evitarlo pero... por si alguien lo necesita:
// usa variables...
SET "source=C:\pewpewmadafakas"
SET "dest=C:\Logs\%date:~6,4%%date:~3,2%%date:~0,2%"
IF NOT EXIST "%dest%" MKDIR "%dest%"
// mueve todo, en lugar de copiar y luego eliminar uno a uno
MV "%source%\*.log" "%dest%\"
// O usando forfiles para filtrar solo los logs antiguos, mas de una semana
FORFILES /P "%source%" /M "*.log" /D -7 /C "cmd /C mv @path %dest%\"
Y así puedes sacar la fecha y hora y tratarla luego como variables con mucha más facilidad. Uso guión como separador de fecha y punto para la hora. No podemos usar barra '/' o dos puntos ':' en nombres de ficheros. Las comillas alrededor en plan SET "nombre=valor" es un truquito para cuando los valores pueden contener espacios. No es necesario en este caso pero para trabajar con rutas es vital.
SET YYYY=%date:~6,4%
SET MM=%date:~3,2%
SET DD=%date:~0,2%
SET "today=%YYYY%-%MM%-%DD%"
SET hh=%time:~0,2%
SET mm=%time:~3,2%
SET "now=%hh%.%mm%"
Y como nota adicional, esto funciona según la región en la que estés. Los ingleses tienen la mala manía de poner el mes antes del día.
Si %date% te devuelve 31/12/2021 a la española, el %date:~6,4% lo que está haciendo es recortar los últimos 4 caracteres de esa variable, empezando desde la posición 6.
@@DavidCastillaGil Muy muy buenooooo....!!!!
jajajajaa, si hacer eso esta re facil con bashcript siendo que date recibe parametros de formateo de salida la cual se asigna a una variable y se usa para crear la carpeta.
"En los últimos tiempos veremos cosas horribles", dice la Biblia. La profecía se está cumpliendo D:
una buena practica, en vez de indicar el ejecutable en duro al inicio del archivo es usar "#!/usr/bin/env bash" (sin comillas), así el script invoca a bash (en este caso) independiente de la ruta donde esté, ya que en algunos OS suele cambiar las rutas de las apps base 👌
Al fin después de muchos años entiendo que es el #! al principio de los scripts! En aquel momento creí que estaba "importando perl" al script. Todos los días se aprende algo nuevo, gracias pelado!
Buenísimo el video! Tenes una habilidad increíble para explicar de manera clara y rápida cosas que otros necesitan 1 hora para poder transmitir. Ojalá sigas haciendo más videos de bash. Gracias!!!
Tenes toda la razón, este muchacho explica muy bien. Hace 1 año trabajo como desarrollador, claro esta que soy malisimo, pero veo que también soy malo por que, no encontré gente que explique bien
Nunca jamás jamacito olvidar:
#!/bin/bash -ex
El "-e" Garantiza que si una línea de tu script falla se cancele todo el script, esto ayuda muchísimo debido a que es común que falle 1 línea y que tu script continúe ignorando ese error y dejando la cagada. Y el "-x" muestra por pantalla el comando que ejecuta. Pelade salvemos vidas 🤣
No sabía esto, gracias.
Muchas gracias mi loco, esto vale millones
Mejor aún usaría, _Bash Strict Mode_ y lo de env lo hace un poco más portable:
#!/usr/bin/env bash
set -euo pipefail
buenisima gracias
Que buen aporte, gracias.
Me encanta como explicas las cosas con claridad, competencia y sin tantos rodeos.
Gracias por compartir tus conocimientos.
Saludos desde Medellín, Colombia.
Es bueno ver estos video ya que creo que explicas muy bien. Soy de España y me agrada ver como explicas con la sencillez que lo haces. Los comentarios del final de los videos son muy originales , sigue asi
Gracias.
me acaban de descartar desde una entrevista por no saber de scripting,
y me siento ..uff mal y avergonzado
aun siendo yo consciente de tener claro que no se y por decisión propia no haber aprendido, por enfocarme en otras cosas y dominarlas,
creo que es hora de empezar con estos videitos
:(
De los primeros en verlo. Hace más de 3 años que utilizo Linux cómo sistema principal, ya lo había utilizado antes, en mi trabajo actual todos tenemos Ubuntu. Muchas gracias Pablo por todos tus vídeos. Saludos desde Colombia
Excelente video!
Con muchas ganas de más partes, justo algunas cosas que quería conocer las encontré en tu video :D
Pelado, llevo décadas usando Bash, lo utilizo para automatizar copias de seguridad de bases de datos y la verdad que no hay nada mas fácil y efectivo, ya sabes “lo bueno y breve……dos veces bueno”. Gracias por reivindicar la programación de los sinclair🎉
Tu no has programado dos lineas en tu vida diciendo la mamarrachada que acabas de decir del uso de bash en bases de datos
Maximo respeto Pelado. Estoy viendo este video y ya tengo algo de experiencia en infra, y con tan solo unos minutos me despejaste varias dudas
Use mucho Bash scrip entre 2007- 2012 me creaba scripts para automatizar mi trabajo en telecomunicaciones. Mis compañeros no llegaban a entender como hacía 10 veces más trabajo en menos tiempo que ellos hasta que compartí mis scripts 😅
compártamelos XD
Que tipo de scrip generaste?
Excelente video brother y esa tematica al final quedó brutal.
Excelente! Esperamos la segunda parte pela!
Podría sonar obvio este tipo de videos, sin embargo, estas perlas son necesarias. Excelente Pelado.
Un abrazo.
Un crack pelao.. Siempre revisito tus tutoriales.
Pfff manera de explicar, hermano! Genial, gracias por tu contenido!
gracias, tenia años de no usar bash, pero ahora que estoy retomando, me fue muy útil tu video
super cool Pelado!!!
Estaba viendo un curso en linea de mas de 5 horas, el profe me aburrio, me vine a Pelado Nerd y hasta me siento con mas energia. Grande Pablo!
Pero que buen video bro,gracias, por eso es que te seguira yendo bien bro!
Esta explicado súper sencillo, enhorabuena
Muy buena explicación, gracias por compartir conocimiento.
Jaja buenísimo el video, sobretodo tu didáctica. Y al final lo de batch de D.O.S. Mortal !
muy bueno pelado, como siempre... falto el como agregarlo al cron, pero quedara para el " TODOS deberían aprender BASH 2" supongo. abrazooooo
cada contenido es muy validos, gracias
Sos un crack viejo, muchas gracias por compartir tu conocimiento y por cierto, en un momento pensé que ibas a escribir soy un dolapex, no me esperaba pelade jajaja
Excelente video Pelado sos un crack..
👍👊
Es mi lenguaje multiproposito favorito muchos trabajos exigen Python o Go lo cierto es que no me he enfrentado nunca a un problema donde bash no sea suficiente para mi automatización, sería bueno ver en qué casos usar los demás
yo personalmente prefiero python, en parte porque no conocía Bash, pero es más legible a primera vista. La diferencia que más me ha llamado la atención es que a la hora de usar el comando "echo" ("print" en python) hay que usar unos paréntesis rodeando lo que se quiere mostrar en pantalla y, en el caso de que se quiera poner literalmente, unas comillas. es decir, un "hello world" es: print ("hello world") Y pasar por pantalla una variable junto con una introducción sería: print ("tu variable vale" MiVariable) Donde al modificar la variable, cambia directamente el resultado en pantalla.
Que recuerdos de la carrera :). Un hurra por vim!
En The Odin Project hay una sección dedicada a la consola que tiene documentación excelente acerca de Bash y la consola en general, si están buscando algo al respecto les sería muy útil
muy bueno !!! lo miro para ver el remate !!!
como ha comentado alguien también , tienes mucha habilidad para explicar las cosas, sigue asi like siempre!!!!
Muy buen video, excelente explicación !
Gracias Pelado !
Excelente vídeo, gracias!
Buenísimo como siempre Pablo! Como sugerencia, podría estar interesante un vídeo de LXC, para que luego en vídeos cómo esté poder usar un container con Ubuntu por ej. en lugar de una VM. Ví el otro día un vídeo de K8s the hard way, y usaban LCX para ello, muy interesante :)
Muy buen video, necesito más vídeos de bash
Excelente Pelado como siempre!! Te hago una consulta, me recomendas alguna pagina para hacer cursos sobre bash scripting o algo parecido? Mil agradecido con la contribucion que haces a la comunidad IT!
Hola pelado, te agradezco el video, super util y sencillo de entender!!! Una consulta, que teclado usas?
Gracias por el aporte Pablo, estaría genial que dieras directos estar en la plataforma morada. Saludos
Sabes una bocha Pablo. Gran produccion
Espectacular este video lo muestro a mis alumnos de linux server!!! para arrancar la cursada de programacion
buen video tio pelao :D
Buena introducción a Bash :D
Hola, me encantan tus videos! super didácticos, podrías hacer alguno explicando el comando awk y/o sed?
ABZ!
Bien Pelado, me hiciste recordar mis scripts en SCO Open Server, RHEL.
buenisimo!!! jajja el viejo DOS de MS nos dio de morfar a muchos, el .bat era parte esencial...habia que montar una diskettera, decirle que utilice mas memoria, hacer varias tareas del arranque , poner el driver del mouse, de la placa de red, conectar a la novell y todo con el autoexec.bat
Amigo eres un genio!, te agradecería si pudieras realizar videos de lo básico para monitorear servidores con ansible o terraform, si pudieras también en centos, Saludos!
sabes que con esto estas despertando una curiosidad de todo lo que puedo hacer.....voy a romper todo
Muchas gracias !!!!
grande pelado!
Buen video, alguna bibliografía que puedas recomendar para bash?
muy básico, pero muy didáctico.
gracias !!
Pelado Nerd... como no me habia aparecido en mis videos ya? Suscripto ya mismo!
Hola, recomendarías algún libro en concreto para iniciarse en Bash de básico a medio o de básico a avanzado?
gracias pelado, por enseñarnos bash en este video
Gracias amigo! saludos!
me encantan los finales xd
Genial!!
Como siempre impecables tus videos, una sola observacion. El scripting de Windows es powershell, batch es de DOS y Windows aun lo soporta. Saludos
sos un genio
BashScript es una gran manera de automatizar procesos, yo hice un pequeño script que me permite formatear memorias usb desde la terminal con un menu intuitivo.
Hola, muy buen video. En el caso de windows se puede con el emulador (MobaXterm). Va genial para hacer los scripts.
Buenísimo video, no hay que tenerle miedo a los scripts
Después de bajar VirtualBox pueden bajar los SO que quieran desde OSBoxes. Después de bajadas las imágenes las copian al directorio de VirtualBox y el SO está presto para trabajar. También están las "imágenes" para VMware.
en windows podemos usar el wls2 para usar bash, o a unas malas git bash
NetworkChuck tambien subió un video de BASH D: coincidencia? no lo creo
hace rato que lo quiero hacer, pero si, vi su video para sacar un par de ideas :)
@@PeladoNerd seria excelente un ejemplo un poco mas complejo de donde se usa BASH :D
El pela subió antes! 4 hs después Chuck saco el bash ep2 ;)
jaja tanto tiempo haciendo cosas aprendidas desde google sin saber que eran o para que...gracias pelado xD
Excelente!! justo cuando quiero saber como hacer los scriptttt
Esta muy bueno para levantar minitas en las fiestas del trabajo. Si ves que se aburre aléjate de ahí!!!! jajajaja
Se puede hacer algo si uso windows pero quiero unsar bash?
A partir de Win 10 viene un Ubuntu instalado con el Windows con el que probé algunas cosas de este video y funcionan bien.
thumbs up por usar vim :-) Te recomiendo usar #!/usr/bin/env intérprete (donde intérprete puede ser bash, zsh, python, perl, whatever). La razón es que no hay seguridad que bash esté en /bin, y con Python en particular, podrías estar en un virtualenv y hardcodear el path del intérprete te rompería el script.
Muy buen video, estoy buscando videos sobre script de bash que sirvan para aplicar en el desarrollo web, pero hasta ahora no tuve éxito.
cuanto hacía que no escuchaba decir "signo pesos"
Según Wikipedia, sobre #! "The name shebang for the distinctive two characters may have come from an inexact contraction of SHArp bang or haSH bang, referring to the two typical Unix names for them."
Muy buen video y muchas gracias. Una pregunta, dentro del script yo podría ejecutar una función que notifique a un API? lo pregunto porque no sé si se necesite algún permiso extra o configuración especial para enviar datos a url externas.
Si claro. Sin problemas, podes hacer cualquier cosa que podes hacer desde la terminal
bash es de mis lenguuajes favoritos junto a python como sysadmin
Cuando, subiras tu curso de Bash en Platzi
Para Windows, no vale instalar Git Bash y ya?
como se hace para que su vim se vea así?
Realmente aunque Bash no sea un lenguaje sino que interpreta comandos y sentencias de shell, sí que tiene sintaxis extra que no tiene el propio 'sh' (dash por ejemplo), que suele ser un shell POSIX puro más minimalista y más rápido que Bash.
NO ENTIENDO. soy programador de hace mas de 35 años, y NUNCA NADIE ME PUDO EXPLICAR COMO HACER UN SCRIPT EN BASH. COMO HICISTE. TE ENTENDI PERFECTAMENTE. (tengo que perder el pelo???) MUCHAS GRACIAS Y MUY CLARO. MUY MERECIDO EL LIKE Y LA SUBSCRIPCION
¿bash que no es un lenguaje de control de sistemas solamente?
Cómo en termux utiliza Bash para el cambio del banner entre otras o estoy mal 😁🤘
Para usuarios de Windows pueden usar el subsistema Linux
el bang es por el "!", en ingles le llaman asi porque su nombre original es muy largo... lo aprendí de David Malan en CS50, -dato curioso;
Cuando manute dejó el LoL para enseñar Bash
Te voy a enviar un vídeo mio para que aprendas a tocar el saxofón en 15 minutos
Otros vídeos han sido de gran ayuda, esperaba un vídeo más denso pero no es así, esta vez no ha llegado a mis expectativas.
Gracias, la ultima vez que use eso , se llamaba c shell en unix 🤣
Uy este video es oro puro.... Lastima que estudie bash en la uní el año pasado...
God bless the dolape...
Hola, estuvo bueno pero Seria aún mejor si profundizaras en comandos y en algo aplicable a alguna automatizacion (basasos en tu experiencia)
mi apetito es bash
😊
buena dolape
como se copia la linea??? con que combinacionde tecla?
Mirate mí video de Vim
WSL rápido y fácil....antes de meterse con VBox y tener que hacer una instalación de SO
Para los users de Windows, con WLS (windows subsystem for linux) la experiencia es la misma que en el videos, yo lo recomiendo jaja