Upload 52 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .gitattributes +26 -0
- terminal/1-Ventajas de dominar la terminal de comandos para profesionales.mp4 +3 -0
- terminal/1-Ventajas de dominar la terminal de comandos para profesionales.sub.vtt +44 -0
- terminal/10-Tipos de comandos en Linux y cómo identificarlos.mp4 +3 -0
- terminal/10-Tipos de comandos en Linux y cómo identificarlos.sub.vtt +113 -0
- terminal/11-Redirecciones de terminal en Linux con operadores básicos.mp4 +3 -0
- terminal/11-Redirecciones de terminal en Linux con operadores básicos.sub.vtt +209 -0
- terminal/12-Operadores de control para encadenar comandos en Linux.mp4 +3 -0
- terminal/12-Operadores de control para encadenar comandos en Linux.sub.vtt +140 -0
- terminal/13-Configuración de alias permanentes en terminal Linux.mp4 +3 -0
- terminal/13-Configuración de alias permanentes en terminal Linux.sub.vtt +146 -0
- terminal/14-Gestión de permisos en archivos y directorios de Linux.mp4 +3 -0
- terminal/14-Gestión de permisos en archivos y directorios de Linux.sub.vtt +251 -0
- terminal/15-Variables de entorno en Linux creación y configuración global08 27 minutos.mp4 +3 -0
- terminal/15-Variables de entorno en Linux creación y configuración global08 27 minutos.sub.vtt +155 -0
- terminal/16-Uso de APT para gestionar paquetes en Linux07 37 minutos.mp4 +3 -0
- terminal/16-Uso de APT para gestionar paquetes en Linux07 37 minutos.sub.vtt +140 -0
- terminal/17-Instalación y uso básico de Homebrew en macOS.mp4 +3 -0
- terminal/17-Instalación y uso básico de Homebrew en macOS.sub.vtt +137 -0
- terminal/18-Procesos en foreground y background en la terminal.mp4 +3 -0
- terminal/18-Procesos en foreground y background en la terminal.sub.vtt +125 -0
- terminal/19-Administración de procesos en Linux con PS, Top y Kill.mp4 +3 -0
- terminal/19-Administración de procesos en Linux con PS, Top y Kill.sub.vtt +248 -0
- terminal/2-Qué es una terminal y cómo funciona con comandos básicos.mp4 +3 -0
- terminal/2-Qué es una terminal y cómo funciona con comandos básicos.sub.vtt +80 -0
- terminal/20-Empaquetado y compresión de archivos con TAR y GZIP en Linux.mp4 +3 -0
- terminal/20-Empaquetado y compresión de archivos con TAR y GZIP en Linux.sub.vtt +140 -0
- terminal/21-Editores de texto Vim y Nano en la terminal.mp4 +3 -0
- terminal/21-Editores de texto Vim y Nano en la terminal.sub.vtt +194 -0
- terminal/22-Tmux para gestionar múltiples terminales y paneles.mp4 +3 -0
- terminal/22-Tmux para gestionar múltiples terminales y paneles.sub.vtt +158 -0
- terminal/23-Comandos de red en la terminal para verificar conectividad.mp4 +3 -0
- terminal/23-Comandos de red en la terminal para verificar conectividad.sub.vtt +245 -0
- terminal/24-Personalización de terminal con ZSH y temas avanzados.mp4 +3 -0
- terminal/24-Personalización de terminal con ZSH y temas avanzados.sub.vtt +203 -0
- terminal/25-Instalación y uso de Warp, terminal con inteligencia artificial.mp4 +3 -0
- terminal/25-Instalación y uso de Warp, terminal con inteligencia artificial.sub.vtt +146 -0
- terminal/26-Recursos complementarios para dominio avanzado de terminal Linux.mp4 +3 -0
- terminal/26-Recursos complementarios para dominio avanzado de terminal Linux.sub.vtt +53 -0
- terminal/3-Instalación de terminal Bash en Windows usando WSL.mp4 +3 -0
- terminal/3-Instalación de terminal Bash en Windows usando WSL.sub.vtt +134 -0
- terminal/4-Comandos básicos de terminal para principiantes.mp4 +3 -0
- terminal/4-Comandos básicos de terminal para principiantes.sub.vtt +173 -0
- terminal/5-Navegación entre directorios en Linux con comandos de terminal.mp4 +3 -0
- terminal/5-Navegación entre directorios en Linux con comandos de terminal.sub.vtt +206 -0
- terminal/6-Comandos Linux para crear, mover, copiar y eliminar archivos.mp4 +3 -0
- terminal/6-Comandos Linux para crear, mover, copiar y eliminar archivos.sub.vtt +221 -0
- terminal/7-Comandos para explorar y manipular archivos de texto en terminal.mp4 +3 -0
- terminal/7-Comandos para explorar y manipular archivos de texto en terminal.sub.vtt +221 -0
- terminal/8-Uso de wildcards para búsquedas masivas en la terminal09 46 minutos.mp4 +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,29 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
terminal/1-Ventajas[[:space:]]de[[:space:]]dominar[[:space:]]la[[:space:]]terminal[[:space:]]de[[:space:]]comandos[[:space:]]para[[:space:]]profesionales.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
terminal/10-Tipos[[:space:]]de[[:space:]]comandos[[:space:]]en[[:space:]]Linux[[:space:]]y[[:space:]]cómo[[:space:]]identificarlos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
terminal/11-Redirecciones[[:space:]]de[[:space:]]terminal[[:space:]]en[[:space:]]Linux[[:space:]]con[[:space:]]operadores[[:space:]]básicos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
terminal/12-Operadores[[:space:]]de[[:space:]]control[[:space:]]para[[:space:]]encadenar[[:space:]]comandos[[:space:]]en[[:space:]]Linux.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
terminal/13-Configuración[[:space:]]de[[:space:]]alias[[:space:]]permanentes[[:space:]]en[[:space:]]terminal[[:space:]]Linux.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
terminal/14-Gestión[[:space:]]de[[:space:]]permisos[[:space:]]en[[:space:]]archivos[[:space:]]y[[:space:]]directorios[[:space:]]de[[:space:]]Linux.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
terminal/15-Variables[[:space:]]de[[:space:]]entorno[[:space:]]en[[:space:]]Linux[[:space:]]creación[[:space:]]y[[:space:]]configuración[[:space:]]global08[[:space:]]27[[:space:]]minutos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
terminal/16-Uso[[:space:]]de[[:space:]]APT[[:space:]]para[[:space:]]gestionar[[:space:]]paquetes[[:space:]]en[[:space:]]Linux07[[:space:]]37[[:space:]]minutos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
terminal/17-Instalación[[:space:]]y[[:space:]]uso[[:space:]]básico[[:space:]]de[[:space:]]Homebrew[[:space:]]en[[:space:]]macOS.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
terminal/18-Procesos[[:space:]]en[[:space:]]foreground[[:space:]]y[[:space:]]background[[:space:]]en[[:space:]]la[[:space:]]terminal.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
terminal/19-Administración[[:space:]]de[[:space:]]procesos[[:space:]]en[[:space:]]Linux[[:space:]]con[[:space:]]PS,[[:space:]]Top[[:space:]]y[[:space:]]Kill.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
terminal/2-Qué[[:space:]]es[[:space:]]una[[:space:]]terminal[[:space:]]y[[:space:]]cómo[[:space:]]funciona[[:space:]]con[[:space:]]comandos[[:space:]]básicos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
terminal/20-Empaquetado[[:space:]]y[[:space:]]compresión[[:space:]]de[[:space:]]archivos[[:space:]]con[[:space:]]TAR[[:space:]]y[[:space:]]GZIP[[:space:]]en[[:space:]]Linux.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
terminal/21-Editores[[:space:]]de[[:space:]]texto[[:space:]]Vim[[:space:]]y[[:space:]]Nano[[:space:]]en[[:space:]]la[[:space:]]terminal.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
terminal/22-Tmux[[:space:]]para[[:space:]]gestionar[[:space:]]múltiples[[:space:]]terminales[[:space:]]y[[:space:]]paneles.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
terminal/23-Comandos[[:space:]]de[[:space:]]red[[:space:]]en[[:space:]]la[[:space:]]terminal[[:space:]]para[[:space:]]verificar[[:space:]]conectividad.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
terminal/24-Personalización[[:space:]]de[[:space:]]terminal[[:space:]]con[[:space:]]ZSH[[:space:]]y[[:space:]]temas[[:space:]]avanzados.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
terminal/25-Instalación[[:space:]]y[[:space:]]uso[[:space:]]de[[:space:]]Warp,[[:space:]]terminal[[:space:]]con[[:space:]]inteligencia[[:space:]]artificial.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
terminal/26-Recursos[[:space:]]complementarios[[:space:]]para[[:space:]]dominio[[:space:]]avanzado[[:space:]]de[[:space:]]terminal[[:space:]]Linux.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
terminal/3-Instalación[[:space:]]de[[:space:]]terminal[[:space:]]Bash[[:space:]]en[[:space:]]Windows[[:space:]]usando[[:space:]]WSL.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
terminal/4-Comandos[[:space:]]básicos[[:space:]]de[[:space:]]terminal[[:space:]]para[[:space:]]principiantes.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
terminal/5-Navegación[[:space:]]entre[[:space:]]directorios[[:space:]]en[[:space:]]Linux[[:space:]]con[[:space:]]comandos[[:space:]]de[[:space:]]terminal.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 58 |
+
terminal/6-Comandos[[:space:]]Linux[[:space:]]para[[:space:]]crear,[[:space:]]mover,[[:space:]]copiar[[:space:]]y[[:space:]]eliminar[[:space:]]archivos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 59 |
+
terminal/7-Comandos[[:space:]]para[[:space:]]explorar[[:space:]]y[[:space:]]manipular[[:space:]]archivos[[:space:]]de[[:space:]]texto[[:space:]]en[[:space:]]terminal.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 60 |
+
terminal/8-Uso[[:space:]]de[[:space:]]wildcards[[:space:]]para[[:space:]]búsquedas[[:space:]]masivas[[:space:]]en[[:space:]]la[[:space:]]terminal09[[:space:]]46[[:space:]]minutos.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 61 |
+
terminal/9-Comandos[[:space:]]GREP[[:space:]]y[[:space:]]FIND[[:space:]]para[[:space:]]búsquedas[[:space:]]avanzadas[[:space:]]en[[:space:]]Linux.mp4 filter=lfs diff=lfs merge=lfs -text
|
terminal/1-Ventajas de dominar la terminal de comandos para profesionales.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4d690f04ab665cb633dd1ce3e006b95bbd3560f42a4dd60fec6fd4c9dc2264b2
|
| 3 |
+
size 45798175
|
terminal/1-Ventajas de dominar la terminal de comandos para profesionales.sub.vtt
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.720 --> 00:00:08.240
|
| 4 |
+
¿Sabías que Toy Story dos pudo nunca haber sucedido por un mal manejo de la terminal? En mil novecientos noventa y ocho, animadores de esta
|
| 5 |
+
|
| 6 |
+
00:00:08.240 --> 00:00:15.840
|
| 7 |
+
película usaban un sistema de archivos compartido, y en tan solo unos segundos, por error de uno de los administradores del sistema, se empezaron a
|
| 8 |
+
|
| 9 |
+
00:00:15.840 --> 00:00:26.125
|
| 10 |
+
borrar todos los archivos en cadena simplemente por ejecutar mal un comando. Menos mal había un respaldo y pudimos conocer esta película. Los verdaderos profesionales,
|
| 11 |
+
|
| 12 |
+
00:00:26.125 --> 00:00:33.100
|
| 13 |
+
los que dominan su entorno, entienden qué es lo que sucede bajo el capó y para ello usan la línea de comandos dentro de la
|
| 14 |
+
|
| 15 |
+
00:00:33.100 --> 00:00:41.340
|
| 16 |
+
terminal. ¿Por qué? Porque te da control, precisión y fiabilidad acerca de lo que está pasando en tu sistema. Cuando usas la terminal, no haces
|
| 17 |
+
|
| 18 |
+
00:00:41.340 --> 00:00:50.715
|
| 19 |
+
clics, das órdenes. Y aquí está el mensaje clave. La terminal no es una reliquia del pasado, es la herramienta por excelencia de los profesionales
|
| 20 |
+
|
| 21 |
+
00:00:50.715 --> 00:01:02.690
|
| 22 |
+
técnicos del presente. ¿Qué ganas al aprenderlo? Uno, velocidad y precisión. Automatizarás en tan solo unos segundos lo que con clics te tomaría horas. Dos,
|
| 23 |
+
|
| 24 |
+
00:01:02.690 --> 00:01:14.850
|
| 25 |
+
conocimiento profundo. Conocerás cómo funciona tu sistema operativo y cómo se mueve la información dentro de él. Tres, tendrás acceso a herramientas avanzadas. Git, Docker,
|
| 26 |
+
|
| 27 |
+
00:01:15.010 --> 00:01:25.575
|
| 28 |
+
Htop, Nmap, todo este tipo de herramientas utilizadas por profesionales de la industria solo existen en la terminal. Cuatro, personalización extrema. Vas a poder crear
|
| 29 |
+
|
| 30 |
+
00:01:25.575 --> 00:01:35.230
|
| 31 |
+
tus propios scrapes, flujos de medida trabajo y convertirte en el arquitecto o arquitecta de tu entorno digital. La terminal es para todos, Windows, Linux,
|
| 32 |
+
|
| 33 |
+
00:01:35.230 --> 00:01:44.030
|
| 34 |
+
Mac, incluso tu celular tiene una terminal y tal vez no lo sabías. Si quieres destacar en las mejores empresas como Google, Amazon, Facebook, Corey
|
| 35 |
+
|
| 36 |
+
00:01:44.030 --> 00:01:51.305
|
| 37 |
+
Cold o Red Hat, saber usar la terminal debe ser casi como respirar. Este no es un video más, es una advertencia. Y es que
|
| 38 |
+
|
| 39 |
+
00:01:51.305 --> 00:02:00.043
|
| 40 |
+
si decides no aprender el uso de la terminal, seguirás dependiendo de herramientas que te limitan, pero si decides aprenderla, darás un salto enorme hacia
|
| 41 |
+
|
| 42 |
+
00:02:00.043 --> 00:02:07.803
|
| 43 |
+
el dominio técnico. La terminal es tu superpoder y tú puedes convertirte en el desarrollador o desarrolladora que todo el mundo quiere contratar.
|
| 44 |
+
|
terminal/10-Tipos de comandos en Linux y cómo identificarlos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2c51f5041300d3e721676409a6b12b0675cdf871f20019efd82078d63856caef
|
| 3 |
+
size 41813246
|
terminal/10-Tipos de comandos en Linux y cómo identificarlos.sub.vtt
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:10.320
|
| 4 |
+
Este punto del curso ya has ejecutado muchísimos comandos, desde el listado de directorios, comandos de búsqueda, manejos de archivos, pero cuando ejecutas un comando,
|
| 5 |
+
|
| 6 |
+
00:00:10.560 --> 00:00:19.735
|
| 7 |
+
¿qué realmente es un comando? Y es que cuando nosotros ejecutamos un comando pueden ser múltiples cosas, Puede ser un script de bashell, puede ser
|
| 8 |
+
|
| 9 |
+
00:00:19.735 --> 00:00:28.695
|
| 10 |
+
una utilidad del sistema, puede ser un archivo binario compilado en un lenguaje como lo puede ser C más más y nosotros lo ejecutamos, o
|
| 11 |
+
|
| 12 |
+
00:00:28.695 --> 00:00:38.180
|
| 13 |
+
incluso puede ser un alias del sistema. Si tienes dudas acerca de qué se refiere cada uno de estos conceptos, existen afortunadamente para nosotros comandos
|
| 14 |
+
|
| 15 |
+
00:00:38.180 --> 00:00:45.025
|
| 16 |
+
que nos explican qué es uno de cada uno de estos conceptos. Así que vamos a la terminal y veamos qué es un alias, es
|
| 17 |
+
|
| 18 |
+
00:00:45.025 --> 00:00:53.345
|
| 19 |
+
un script de Shell y para qué nos sirven dentro de nuestra terminal, así que acompáñenme. Me encuentro en mi terminal y cuando yo ejecuto
|
| 20 |
+
|
| 21 |
+
00:00:53.345 --> 00:01:03.450
|
| 22 |
+
el comando ls, ¿cómo yo sé qué es ls o dónde se encuentra incluso esta utilidad, archivo binario, script de shell que está en el
|
| 23 |
+
|
| 24 |
+
00:01:03.450 --> 00:01:13.595
|
| 25 |
+
sistema? Bueno, lo el primero de los comandos que nosotros podemos utilizar para saber información acerca de nuestros comandos es el comando type. El comando
|
| 26 |
+
|
| 27 |
+
00:01:13.595 --> 00:01:23.275
|
| 28 |
+
type lo que nos está diciendo aquí es que l s, en nuestro caso, es un alias. Un alias dentro de los sistemas Linux es
|
| 29 |
+
|
| 30 |
+
00:01:23.275 --> 00:01:32.740
|
| 31 |
+
una especie de apodo, si lo quieres ver así. Nosotros lo que hacemos es darle propiedades extras o hacer operaciones extra a un comando base,
|
| 32 |
+
|
| 33 |
+
00:01:32.740 --> 00:01:38.915
|
| 34 |
+
pues para que se vea todavía más bonito. Si tú lo has visto a lo largo del curso cada vez que yo hago l s,
|
| 35 |
+
|
| 36 |
+
00:01:38.915 --> 00:01:47.555
|
| 37 |
+
y esto lo hace de forma nativa Linux, pues me muestra los colores dentro de la terminal, pero eso no es un comportamiento normal dentro
|
| 38 |
+
|
| 39 |
+
00:01:47.555 --> 00:01:55.280
|
| 40 |
+
de la del comando l s, y es por eso que si nosotros nos fijamos aquí en la terminal, nos dice l s es un
|
| 41 |
+
|
| 42 |
+
00:01:55.280 --> 00:02:06.000
|
| 43 |
+
alias, y cada vez que ejecutas l s, lo que realmente estás ejecutando es l s color auto. Entonces, ¿dónde se encuentra el l s
|
| 44 |
+
|
| 45 |
+
00:02:06.000 --> 00:02:16.715
|
| 46 |
+
original? ¿Dónde está el comando l s original? Y para eso existe el comando El comando lo que nos va decir es dónde está el
|
| 47 |
+
|
| 48 |
+
00:02:16.715 --> 00:02:28.950
|
| 49 |
+
comando l s original, y el comando l s original se encuentra en user bin ls. Por ejemplo, si nosotros ejecutamos ls así normal, nos
|
| 50 |
+
|
| 51 |
+
00:02:28.950 --> 00:02:38.585
|
| 52 |
+
muestra esto con colores. Ahora, yo voy a copiar esto, voy a hacer un control c, un control v, y lo voy a ejecutar, y
|
| 53 |
+
|
| 54 |
+
00:02:38.585 --> 00:02:48.185
|
| 55 |
+
ya dado que yo estoy ejecutando el comando original, pues ya no me muestra que nuestros, bueno, archivos y directorios, pues ya no me los
|
| 56 |
+
|
| 57 |
+
00:02:48.185 --> 00:03:00.080
|
| 58 |
+
está mostrando con colores. Otro comando que nos puede servir para poder saber información acerca de un comando es el comando is. Comando where is
|
| 59 |
+
|
| 60 |
+
00:03:00.080 --> 00:03:08.125
|
| 61 |
+
nos va a decir todo lo que tiene que ver relacionado a las rutas de un comando. En este caso, nos dice que todo lo
|
| 62 |
+
|
| 63 |
+
00:03:08.125 --> 00:03:17.805
|
| 64 |
+
relacionado con ls se encuentra en user bin ls, de hecho, ruta en específico de user bin es muy muy importante porque aquí se encuentran
|
| 65 |
+
|
| 66 |
+
00:03:17.805 --> 00:03:24.590
|
| 67 |
+
alojados la mayoría de nuestros comandos. Ahorita le hacemos un l s a esto para que veamos qué es lo que tiene, y aquí en
|
| 68 |
+
|
| 69 |
+
00:03:24.590 --> 00:03:34.830
|
| 70 |
+
user share man todo esto, simplemente este es un archivo comprimido de l s, ¿vale? Otro comando que también nos puede servir para saber información
|
| 71 |
+
|
| 72 |
+
00:03:34.990 --> 00:03:44.405
|
| 73 |
+
acerca de cualquier otro comando, como por ejemplo lo puede hacer grep, es el comando what is. Comando what is nos va otorgar información rápida
|
| 74 |
+
|
| 75 |
+
00:03:44.565 --> 00:03:54.070
|
| 76 |
+
acerca de lo que hace un comando, que en este caso, pues dice encuentra líneas por patrón directamente. Ahora, yo ya te había mencionado que
|
| 77 |
+
|
| 78 |
+
00:03:54.070 --> 00:04:03.695
|
| 79 |
+
todo lo que tenemos en Linux específicamente o en una Shell, pues pueden ser binarios. Estos binarios, usualmente los del sistema, los puedes encontrar en
|
| 80 |
+
|
| 81 |
+
00:04:03.695 --> 00:04:15.535
|
| 82 |
+
ls user bin. Y aquí podemos ver, por ejemplo, todas los binarios con los cuales viene, pues, nuestro sistema. De hecho, pues, aquí vienen algunos
|
| 83 |
+
|
| 84 |
+
00:04:15.535 --> 00:04:23.720
|
| 85 |
+
que ya hemos estado utilizando y te invito a que les explores y les des como una pequeña vista. Algo que quiero que tengas muy
|
| 86 |
+
|
| 87 |
+
00:04:23.720 --> 00:04:33.455
|
| 88 |
+
presente es que todos los binarios que vayas a tener en tu sistema o comandos que vayas a estar ejecutando, usualmente pueden venir de múltiples
|
| 89 |
+
|
| 90 |
+
00:04:33.455 --> 00:04:42.335
|
| 91 |
+
fuentes. Por ejemplo, si tú estás usando un manejador de paquetes como NPM de JavaScript, pues tú puedes ejecutar scripts de manera global que te
|
| 92 |
+
|
| 93 |
+
00:04:42.335 --> 00:04:52.480
|
| 94 |
+
pueden servir de comandos. Lo mismo sucede con Python, con Java o con lenguajes compilados que te otorguen binarios. Lo más importante que quiero que
|
| 95 |
+
|
| 96 |
+
00:04:52.480 --> 00:05:01.225
|
| 97 |
+
sepas con esta clase de qué es un comando, es que realmente un comando puede ser un binario, es decir, archivo compilado, puede ser un
|
| 98 |
+
|
| 99 |
+
00:05:01.225 --> 00:05:10.920
|
| 100 |
+
script de cualquier tipo de lenguaje, puede ser una utilidad del sistema, y estos son binarios específicos que el sistema usa para su funcionamiento, o
|
| 101 |
+
|
| 102 |
+
00:05:10.920 --> 00:05:22.360
|
| 103 |
+
incluso pueden ser scripts automatizados que nosotros estamos ejecutando con Shell. Dado que ya sabes esto, te invito a que con estos comandos explores el
|
| 104 |
+
|
| 105 |
+
00:05:22.360 --> 00:05:28.775
|
| 106 |
+
sistema, por ejemplo, la carpeta de user bin y trates de ver qué es lo que hace cada uno de estos binarios para que te
|
| 107 |
+
|
| 108 |
+
00:05:28.775 --> 00:05:36.271
|
| 109 |
+
dé información, por ejemplo, de qué hace el comando unique, qué hace el comando save, qué hace el comando date, o incluso qué hace el
|
| 110 |
+
|
| 111 |
+
00:05:36.271 --> 00:05:42.431
|
| 112 |
+
comando uname. Déjalo aquí en los comentarios y dime qué información encontraste acerca de estos comandos.
|
| 113 |
+
|
terminal/11-Redirecciones de terminal en Linux con operadores básicos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5f597b6bfbf3f31c33f9e8c56c9776db8aa0d431c7d4538f047e4a6e33afb276
|
| 3 |
+
size 66122485
|
terminal/11-Redirecciones de terminal en Linux con operadores básicos.sub.vtt
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:09.200
|
| 4 |
+
Esta clase te voy a enseñar cómo usar las redirecciones del sistema o los operadores tanto de mayor que, menor que, o el que tenemos
|
| 5 |
+
|
| 6 |
+
00:00:09.200 --> 00:00:18.515
|
| 7 |
+
en la terminal. ¿Para qué sirven las redirecciones del sistema? Como has visto, nuestros comandos sueltan una serie de información directamente en la terminal, pero
|
| 8 |
+
|
| 9 |
+
00:00:18.515 --> 00:00:27.140
|
| 10 |
+
¿qué pasa si, por ejemplo, la información de un l s al momento de listar nuestros archivos o la información de un find que nosotros
|
| 11 |
+
|
| 12 |
+
00:00:27.140 --> 00:00:36.500
|
| 13 |
+
ejecutamos, la quisiéramos guardar en un archivo de texto. ¿Se puede hacer de alguna forma? La respuesta sí, y es usando estas redirecciones. Para ello,
|
| 14 |
+
|
| 15 |
+
00:00:36.580 --> 00:00:43.845
|
| 16 |
+
acompáñame a la terminal para que hagamos un pequeño ejercicio que a mí me fascina. Para ello, que instalar una serie de comandos a través
|
| 17 |
+
|
| 18 |
+
00:00:43.845 --> 00:00:52.245
|
| 19 |
+
del manejador de paquetes que tiene llamado APT. Antes de continuar con la clase, quiero dar una pequeña recomendación, y es que APT, que es
|
| 20 |
+
|
| 21 |
+
00:00:52.245 --> 00:01:01.440
|
| 22 |
+
el manejador de paquete para Ubuntu, solo funciona para distribuciones basadas en Debian, en este caso como Ubuntu. Si estás usando cualquier otro tipo de
|
| 23 |
+
|
| 24 |
+
00:01:01.440 --> 00:01:09.440
|
| 25 |
+
distribución Linux, como lo puede ser Fedora, pues tu manejador de paquetes se va llamar diferente. En ese caso va ser el manejador de paquetes
|
| 26 |
+
|
| 27 |
+
00:01:09.440 --> 00:01:19.175
|
| 28 |
+
llamado DNF. Si estás usando Arch Linux, vas a tener que usar el manejador de paquetes llamado Pacman. Y en el caso particular de macOS,
|
| 29 |
+
|
| 30 |
+
00:01:19.175 --> 00:01:28.760
|
| 31 |
+
no existe un manejador de paquetes como tal, pero puedes instalar uno. El manejador de paquetes se llama te voy a dejar el enlace de
|
| 32 |
+
|
| 33 |
+
00:01:28.760 --> 00:01:37.565
|
| 34 |
+
para que lo puedas instalar, es de hecho muy muy sencillo, simplemente es una línea de comandos y lo corres directamente en tu terminal, y
|
| 35 |
+
|
| 36 |
+
00:01:37.565 --> 00:01:46.285
|
| 37 |
+
con eso ya vas tener un manejador de paquetes completamente funcional que puedes usar como APT. En esta clase vamos a necesitar instalar una serie
|
| 38 |
+
|
| 39 |
+
00:01:46.285 --> 00:01:58.050
|
| 40 |
+
de comandos para poder ejecutar nuestro ejercicio. Para ello, lo vamos a hacer a través de el comando APT. APT es el manejador de paquetes
|
| 41 |
+
|
| 42 |
+
00:01:58.050 --> 00:02:05.970
|
| 43 |
+
del sistema operativo que estamos utilizando, en este caso es Ubuntu. Para ello, lo vamos a ejecutar con el comando sudo, es decir, le vamos
|
| 44 |
+
|
| 45 |
+
00:02:05.970 --> 00:02:17.935
|
| 46 |
+
a decir córrelo como super administrador, el comando APT del manejador de paquetes, instala y vamos instalar una serie de paquetes. El primero que vamos
|
| 47 |
+
|
| 48 |
+
00:02:17.775 --> 00:02:27.050
|
| 49 |
+
instalar va ser LOLCAT, aquí nos va a pedir nuestra contraseña, esto es normal, le vamos a dar que sí lo queremos instalar, simplemente cuando
|
| 50 |
+
|
| 51 |
+
00:02:27.050 --> 00:02:37.785
|
| 52 |
+
te aparezca esto le das que sí, se va a empezar a instalar, y el siguiente comando que vamos instalar va ser cosay, y ahorita
|
| 53 |
+
|
| 54 |
+
00:02:37.785 --> 00:02:44.905
|
| 55 |
+
vas a ver por qué. Estos dos comandos, la realidad es que son muy divertidos y son muy didácticos porque te voy enseñar con ellos
|
| 56 |
+
|
| 57 |
+
00:02:44.905 --> 00:02:54.240
|
| 58 |
+
cómo hacer las redirecciones. La primer redirección que vamos a hacer va ser con LOLCAT, y para ello voy a borrar mi terminal y voy
|
| 59 |
+
|
| 60 |
+
00:02:54.240 --> 00:03:09.005
|
| 61 |
+
a hacer un eco que diga hola Esto que tenemos aquí es nuestro comando hola mundo, y esto que tenemos justo en la parte de
|
| 62 |
+
|
| 63 |
+
00:03:09.005 --> 00:03:19.730
|
| 64 |
+
abajo es lo que nosotros tenemos de salida de este comando. A esta salida comúnmente se le llama como el estándar output. Cuando un comando
|
| 65 |
+
|
| 66 |
+
00:03:19.810 --> 00:03:30.370
|
| 67 |
+
recibe información, a eso se le llama standard input, pero existe un tercer estado cuando nosotros estamos haciendo comandos en la terminal llamado standard error,
|
| 68 |
+
|
| 69 |
+
00:03:30.370 --> 00:03:38.785
|
| 70 |
+
y es que cuando sucede un error, pues la terminal nos lo va avisar. Por ejemplo, si yo tengo aquí un l s de un
|
| 71 |
+
|
| 72 |
+
00:03:38.785 --> 00:03:49.870
|
| 73 |
+
archivo que no existe, esto que dice l s cannot access a, pues, archivo que no existe, esto que tenemos aquí es el estándar error,
|
| 74 |
+
|
| 75 |
+
00:03:49.870 --> 00:04:01.995
|
| 76 |
+
y vamos a aprender cómo usarlos. Primero de ellos, que va ser nuestro estándar output, que lo tenemos aquí con hola mundo, lo vamos a
|
| 77 |
+
|
| 78 |
+
00:04:01.995 --> 00:04:11.435
|
| 79 |
+
redireccionar a un archivo de texto, y esto ya lo habíamos visto y se hace simplemente con el operador mayor que el operador mayor que
|
| 80 |
+
|
| 81 |
+
00:04:11.435 --> 00:04:18.990
|
| 82 |
+
es que nos va a permitir va ser redirigirlo a un archivo o incluso a un nuevo comando, ¿no? Que nosotros queramos utilizar, pero normalmente
|
| 83 |
+
|
| 84 |
+
00:04:18.990 --> 00:04:29.150
|
| 85 |
+
se usa para crear archivos, y aquí vamos a ponerle archivo hola punto TXT, ¿vale? Aquí lo vamos a listar, y si nosotros le hacemos
|
| 86 |
+
|
| 87 |
+
00:04:29.150 --> 00:04:46.020
|
| 88 |
+
un cat a nuestro archivo hola punto TXT, pues ya tenemos aquí este contenido que dice hola mundo. Ahora, si nosotros, por ejemplo, quisiéramos agregar
|
| 89 |
+
|
| 90 |
+
00:04:46.020 --> 00:04:56.555
|
| 91 |
+
una nueva línea a este archivo, lo podemos hacer. Simplemente vamos subir y en vez de decir hola mundo, vamos decir hola personas, ¿no? Va
|
| 92 |
+
|
| 93 |
+
00:04:56.555 --> 00:05:06.395
|
| 94 |
+
ser una nuevo un nuevo saludo, y lo siguiente que vamos a hacer es ponerle mayor mayor que. Esto significa concatenar, concatenar es que si
|
| 95 |
+
|
| 96 |
+
00:05:06.395 --> 00:05:15.250
|
| 97 |
+
ya existe contenido, pues simplemente lo va a agregar hasta el final, Y para ello, le vamos a dar enter, vamos a ejecutar nuestro comando,
|
| 98 |
+
|
| 99 |
+
00:05:15.330 --> 00:05:24.370
|
| 100 |
+
vamos a hacer cat de nuestro archivo hola punto txt, y aquí vemos cómo se muestra nuestro primer mensaje es hola mundo, y el segundo
|
| 101 |
+
|
| 102 |
+
00:05:24.370 --> 00:05:35.585
|
| 103 |
+
que es hola personas. Hasta este momento hemos estado trabajando solamente con el estándar output, pero ¿cómo yo puedo, por ejemplo, manejar que el estándar
|
| 104 |
+
|
| 105 |
+
00:05:35.585 --> 00:05:44.250
|
| 106 |
+
output de un comando sea el estándar input de otro comando, para eso existe el pipe operator, y te voy a enseñar cómo funciona. Por
|
| 107 |
+
|
| 108 |
+
00:05:44.250 --> 00:05:56.515
|
| 109 |
+
ejemplo, el comando que instalamos, LOLCAT, voy a borrar mi pantalla y aquí voy poner LOLCAT y voy a ponerle hola. Aquí me dice, no
|
| 110 |
+
|
| 111 |
+
00:05:56.515 --> 00:06:05.235
|
| 112 |
+
hay directorio o algo que se llame como LOLCAT, esto no va a funcionar así, y es porque LOLCAT recibe un estándar input, es decir,
|
| 113 |
+
|
| 114 |
+
00:06:05.235 --> 00:06:17.780
|
| 115 |
+
necesita recibir información, y esto lo podemos obtener, por ejemplo, de un comando que esté sacando información, de un estándar output. Para ello, aquí voy
|
| 116 |
+
|
| 117 |
+
00:06:17.780 --> 00:06:33.425
|
| 118 |
+
a poner saludo colorido, y el operador que nos va a permitir redirigir la salida, es decir, este saludo colorido a otro comando, pues es
|
| 119 |
+
|
| 120 |
+
00:06:33.425 --> 00:06:42.260
|
| 121 |
+
este símbolo de aquí, ¿no? Que tú lo tú lo puedes poner directamente en tu teclado, es el símbolo de OR, normalmente lógico en programación,
|
| 122 |
+
|
| 123 |
+
00:06:42.340 --> 00:06:51.185
|
| 124 |
+
y conocido también en la terminal como el pipe operator, y lo que nosotros tenemos que ponerle aquí es el comando que queremos que reciba
|
| 125 |
+
|
| 126 |
+
00:06:51.185 --> 00:06:59.905
|
| 127 |
+
esa información, el estándar output. En nuestro caso, queremos que el comando LOLCAT lo reciba, aquí lo vamos a poner y aquí nos pone un
|
| 128 |
+
|
| 129 |
+
00:06:59.905 --> 00:07:09.600
|
| 130 |
+
saludo colorido. Nosotros quisiéramos pasar la información más compleja, como por ejemplo, la de nuestro archivo, aquí le podemos poner cat, vamos a ver cómo
|
| 131 |
+
|
| 132 |
+
00:07:09.600 --> 00:07:26.425
|
| 133 |
+
se llamaba nuestro archivo, cat archivo hola punto txt, y le vamos a pasar el LOLCAT. Y aquí vemos como, pues, nuestro teclado, bueno, más
|
| 134 |
+
|
| 135 |
+
00:07:26.425 --> 00:07:37.630
|
| 136 |
+
bien nuestro nuestro texto se empieza poner de colores. Vamos a continuar con nuestra clase y voy borrar aquí mi terminal. Ahora, el comando que
|
| 137 |
+
|
| 138 |
+
00:07:37.630 --> 00:07:48.995
|
| 139 |
+
habíamos instalado anteriormente es y es un comando bastante divertido porque simplemente es pasarle un mensaje, por ejemplo, hola mundo, y nos va a mostrar
|
| 140 |
+
|
| 141 |
+
00:07:48.995 --> 00:07:58.595
|
| 142 |
+
una vaquita, lo cual con lo cual nosotros ya hemos aprendido, aquí nosotros podemos usar el comando LOLCAT y nos va a mostrar nuestra vaquita
|
| 143 |
+
|
| 144 |
+
00:07:58.595 --> 00:08:08.430
|
| 145 |
+
de diferentes colores. También le podemos pasar algunos argumentos, como lo puede hacer la f de format, simplemente es ponerle la palabra de los formatos
|
| 146 |
+
|
| 147 |
+
00:08:08.430 --> 00:08:15.310
|
| 148 |
+
que nosotros queremos e incluso nos puede dibujar un dragón. Esto es algo bastante memorable y a mí me gusta usarlo mucho de ejemplo porque,
|
| 149 |
+
|
| 150 |
+
00:08:15.465 --> 00:08:25.145
|
| 151 |
+
pues con esto siempre se nos queda que cualquier comando que nos arroje alguna salida, nosotros lo podemos encadenar, ¿no? A cualquier otro comando que
|
| 152 |
+
|
| 153 |
+
00:08:25.145 --> 00:08:35.910
|
| 154 |
+
reciba alguna entrada, como es el caso del altcat. Vamos a borrar nuestra pantalla y vamos a continuar con un ejemplo un poquito más avanzado,
|
| 155 |
+
|
| 156 |
+
00:08:35.990 --> 00:08:43.935
|
| 157 |
+
y es que, como yo te había dicho, si yo pongo un comando erróneo, aquí me va a soltar un error, Pero, ¿hay acaso alguna
|
| 158 |
+
|
| 159 |
+
00:08:43.935 --> 00:08:51.855
|
| 160 |
+
forma en la cual yo pueda capturar esos errores? La respuesta es sí, y es que en la terminal todo lo que nosotros pongamos como
|
| 161 |
+
|
| 162 |
+
00:08:51.855 --> 00:09:02.240
|
| 163 |
+
un error, en este caso, nosotros podemos capturarlo igual con el mayor que, pero indicando que solo queremos los errores. Por ejemplo, todo lo que
|
| 164 |
+
|
| 165 |
+
00:09:02.240 --> 00:09:12.665
|
| 166 |
+
sea un error en los sistemas Linux siempre se va hacer referencia con el número dos. Para ello vamos poner el dos aquí enfrente y
|
| 167 |
+
|
| 168 |
+
00:09:12.665 --> 00:09:21.945
|
| 169 |
+
vamos a decir que solamente capture los errores, y aquí le vamos a poner, por ejemplo, errors punto Aquí nosotros sabemos que esto ya era
|
| 170 |
+
|
| 171 |
+
00:09:21.945 --> 00:09:31.040
|
| 172 |
+
error, de hecho ya nos sale en la terminal, y si nosotros hacemos un cat errors punto logs, pues nos muestra el error que tenemos
|
| 173 |
+
|
| 174 |
+
00:09:31.040 --> 00:09:42.355
|
| 175 |
+
aquí. Incluso nosotros podemos concatenar estos errores si nosotros hacemos un mayor mayor que, y aquí nos los está concatenando. Esto es increíblemente útil cuando
|
| 176 |
+
|
| 177 |
+
00:09:42.355 --> 00:09:54.195
|
| 178 |
+
nosotros estamos ejecutando comandos y, pues, queremos ver una salida. Una combinación muy muy útil que se suele usar en Linux es la encadenación de
|
| 179 |
+
|
| 180 |
+
00:09:54.195 --> 00:10:11.185
|
| 181 |
+
lo que sería cuando nosotros ejecutamos un comando, por decirte algo, apt install. Digamos, sudo apt install algún paquete, ¿no? Por ejemplo, pongamos NeoBeam, ¿no?
|
| 182 |
+
|
| 183 |
+
00:10:11.185 --> 00:10:18.465
|
| 184 |
+
Es un paquete de edición de texto, y lo que yo le voy a decir aquí ahorita es que todo lo que sea al momento
|
| 185 |
+
|
| 186 |
+
00:10:18.465 --> 00:10:28.120
|
| 187 |
+
de instalar el paquete NeoBeam, que ojo, muy importante, este manejador de paquetes es exclusivo de Ubuntu, si tú estás usando algún otro sistema operativo
|
| 188 |
+
|
| 189 |
+
00:10:28.120 --> 00:10:35.160
|
| 190 |
+
como lo puede ser Mac, pues tu manejador de paquetes tiene que ser uno llamado Vru, si estás usando un sistema operativo basado en una
|
| 191 |
+
|
| 192 |
+
00:10:35.160 --> 00:10:45.085
|
| 193 |
+
distribución rel, pues tienes que usar DNF y si usas Arch Linux, usando Pacman, Esto varía de sistema en sistema. Ahora, si estás instalando esto,
|
| 194 |
+
|
| 195 |
+
00:10:45.085 --> 00:10:58.420
|
| 196 |
+
pues nosotros queremos ponerle en un archivo, por ejemplo, que diga info install punto log. Lo que yo le estoy diciendo aquí a mi sistema
|
| 197 |
+
|
| 198 |
+
00:10:58.580 --> 00:11:11.505
|
| 199 |
+
es que capture tanto los errores como las cosas que salgan bien, o sea, los estándar outputs de manera correcta en mi info install punto
|
| 200 |
+
|
| 201 |
+
00:11:11.505 --> 00:11:21.825
|
| 202 |
+
log, porque lo que suele hacer Linux es separar normalmente tanto los estándar outputs como los estándar errors, pues en diferentes secciones, así que para
|
| 203 |
+
|
| 204 |
+
00:11:21.825 --> 00:11:31.340
|
| 205 |
+
capturarlos todos de la misma forma, nosotros tenemos que indicarle a Linux que lo haga de esta forma. Le estamos diciendo que todos los errores
|
| 206 |
+
|
| 207 |
+
00:11:31.340 --> 00:11:41.511
|
| 208 |
+
y inputs nosotros, o sea, unir la salida y el error directamente en un mismo archivo llamado info install punto log.
|
| 209 |
+
|
terminal/12-Operadores de control para encadenar comandos en Linux.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2cc119437e044f2a9da3dfc314a73c76bb9aad6a9a51dc4c3b7b06a594f74c42
|
| 3 |
+
size 52315806
|
terminal/12-Operadores de control para encadenar comandos en Linux.sub.vtt
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.640 --> 00:00:09.840
|
| 4 |
+
En esta clase vamos a ver los operadores de control, que son una de las utilidades más fuertes que tiene la terminal para poder encadenar
|
| 5 |
+
|
| 6 |
+
00:00:09.840 --> 00:00:21.405
|
| 7 |
+
comandos. ¿Qué significa esto? Si nosotros, por ejemplo, queremos correr un comando primero, luego otro, y de así de forma secuencial, existen ciertas puntuaciones o
|
| 8 |
+
|
| 9 |
+
00:00:21.405 --> 00:00:31.325
|
| 10 |
+
símbolos que nos permiten hacerlo. Hay símbolos que nos permiten correrlos de forma paralelo, otros mandarlos como a background, es decir, que nos otorgan el
|
| 11 |
+
|
| 12 |
+
00:00:30.560 --> 00:00:40.880
|
| 13 |
+
proceso de la terminal o, bueno, ejecutar la terminal de manera inmediata, entonces vamos explorar cómo podemos usar esos comandos e incluso cómo hacer operaciones
|
| 14 |
+
|
| 15 |
+
00:00:40.880 --> 00:00:49.545
|
| 16 |
+
lógicas casi como si fuera un lenguaje de programación con nuestros comandos. Así que acompáñenme en la terminal para que hagamos este tipo de ejercicios.
|
| 17 |
+
|
| 18 |
+
00:00:49.545 --> 00:00:57.625
|
| 19 |
+
Existen múltiples símbolos para los operadores de control en la terminal. El primero que vamos a explorar de ellos es el operador secuencial, que se
|
| 20 |
+
|
| 21 |
+
00:00:57.625 --> 00:01:08.460
|
| 22 |
+
representa con un punto y coma. Por ejemplo, si yo hago un eco que diga primero y luego hago un l s menos LAY luego
|
| 23 |
+
|
| 24 |
+
00:01:08.460 --> 00:01:21.555
|
| 25 |
+
hago aquí otro eco, digamos, que diga tercero, y le pongo un punto y coma, estos comandos se va ejecutar primero, luego va ser el
|
| 26 |
+
|
| 27 |
+
00:01:21.555 --> 00:01:30.720
|
| 28 |
+
LSY luego se va a hacer el comando tercero. Esto es muy útil cuando nosotros queremos ejecutar comandos a la vez, pero algo que sí
|
| 29 |
+
|
| 30 |
+
00:01:30.720 --> 00:01:38.160
|
| 31 |
+
no sucede es, por ejemplo, ¿qué pasa si yo tiro un error en alguno de mis comandos? Por ejemplo, hagamos un l s de algo
|
| 32 |
+
|
| 33 |
+
00:01:38.160 --> 00:01:47.015
|
| 34 |
+
que no está sucediendo. Pues bueno, algo que no nos garantiza este comando o este operador secuencial es que si este se ejecuta primero y
|
| 35 |
+
|
| 36 |
+
00:01:47.015 --> 00:01:57.010
|
| 37 |
+
sale algo mal en este por alguna razón, pues el tercero ya no se ejecute. Entonces, vamos a usar otro tipo operador. El otro tipo
|
| 38 |
+
|
| 39 |
+
00:01:57.010 --> 00:02:07.330
|
| 40 |
+
de operador que nosotros vamos a estar utilizando va a ser el condicional y este se usa simplemente usando dos ampersands, es decir, si se
|
| 41 |
+
|
| 42 |
+
00:02:07.330 --> 00:02:20.445
|
| 43 |
+
ejecuta el comando el primero, vamos a ejecutar el segundo. Para ello, por ejemplo, podemos hacer un LSLA, nuestro operador de control, que este es
|
| 44 |
+
|
| 45 |
+
00:02:20.445 --> 00:02:36.220
|
| 46 |
+
condicional directamente, y aquí vamos a hacer un eco de se mostró el listado de archivos. ¿Listo? ¿Y esto qué es lo que nos indica?
|
| 47 |
+
|
| 48 |
+
00:02:36.220 --> 00:02:45.825
|
| 49 |
+
Que hasta que este no termine, y esto es lo más importante, manera exitosa, por cierto, este no se va a ejecutar. Vamos a correrlo
|
| 50 |
+
|
| 51 |
+
00:02:46.465 --> 00:02:56.760
|
| 52 |
+
y aquí vemos cómo este se ejecuta y luego cuando se termina de ejecutar este, se ejecuta este. Vamos a ejecutar es el mismo comando,
|
| 53 |
+
|
| 54 |
+
00:02:56.760 --> 00:03:06.920
|
| 55 |
+
pero ahora de forma, pues, errónea, y vamos ejecutarlo, por ejemplo, así. Y, pues, lo que nos está pasando aquí es que, dado que este
|
| 56 |
+
|
| 57 |
+
00:03:06.920 --> 00:03:15.795
|
| 58 |
+
no se ejecutó de manera exitosa, porque aquí hay un estándar error, pues este comando de aquí ya no se ejecutó. Esta es la magia
|
| 59 |
+
|
| 60 |
+
00:03:15.795 --> 00:03:25.960
|
| 61 |
+
de este operador de control que nos permite delimitar o incluso hacer comparaciones lógicas con nuestros comandos, pues, para hacer una secuencia. Por ejemplo, yo
|
| 62 |
+
|
| 63 |
+
00:03:25.960 --> 00:03:32.840
|
| 64 |
+
podría decir primero que se instale un paquete y se se instaló, pues me cree a lo mejor un log en una base de datos
|
| 65 |
+
|
| 66 |
+
00:03:32.840 --> 00:03:43.255
|
| 67 |
+
o me cree alguna especie de archivo, eso es bastante bastante útil con este operador. El otro operador que nosotros podemos hacer es el operador
|
| 68 |
+
|
| 69 |
+
00:03:43.255 --> 00:03:51.815
|
| 70 |
+
OR, ¿no? Y es este de aquí es que se va ejecutar solo si el primero falla. Esto, pues, es muy útil para hacer logs
|
| 71 |
+
|
| 72 |
+
00:03:51.815 --> 00:04:01.330
|
| 73 |
+
de errores, por ejemplo, si nosotros hacemos un l s de cualquier archivo que no exista, esto nos va dar error, y si ponemos el
|
| 74 |
+
|
| 75 |
+
00:04:01.330 --> 00:04:20.105
|
| 76 |
+
operador de que solamente si este falla, lo que vamos a hacer es crear, digamos, archivo llamado error punto log directamente. Lo vamos a así,
|
| 77 |
+
|
| 78 |
+
00:04:20.105 --> 00:04:29.990
|
| 79 |
+
no va tener el contenido del error, pero lo va a crear en nuestro caso. Ahora vamos a hacerlo, aquí dice lscannox access, o sea,
|
| 80 |
+
|
| 81 |
+
00:04:29.990 --> 00:04:39.145
|
| 82 |
+
lo cual está bien porque está surgiendo este error, pero si yo veo a mis archivos, aquí yo veo mi archivo error punto log que
|
| 83 |
+
|
| 84 |
+
00:04:39.145 --> 00:04:46.745
|
| 85 |
+
ha sido creado, si yo le hago un cat, pues no va tener absolutamente nada, pero fue creado. Ahora, vamos a volverlo a ejecutar, pero
|
| 86 |
+
|
| 87 |
+
00:04:46.745 --> 00:05:06.255
|
| 88 |
+
ahora de forma exitosa. Y aquí vamos a crear, solamente para que estemos seguros ha ocurrido un error. Es un archivo bastante largo, pero solamente
|
| 89 |
+
|
| 90 |
+
00:05:06.255 --> 00:05:15.935
|
| 91 |
+
es con fines demostrativos. Vamos a ejecutarlo, se ejecutó de manera exitosa, ¿no? Y, pues, si nosotros hacemos l s, pues nos damos cuenta de
|
| 92 |
+
|
| 93 |
+
00:05:15.935 --> 00:05:24.550
|
| 94 |
+
que no se ha ejecutado. Una de las combinaciones más famosas que existen en Linux con estos operadores de control es que, si yo ejecuto
|
| 95 |
+
|
| 96 |
+
00:05:24.550 --> 00:05:39.775
|
| 97 |
+
el comando, digamos, uno, y ejecuto el comando dos, pues, por ejemplo, ejecute un comando tres. ¿Esto para qué me va servir? Y esto lo
|
| 98 |
+
|
| 99 |
+
00:05:39.775 --> 00:05:50.570
|
| 100 |
+
que le voy a estar diciendo es, si se ejecuta el comando uno de manera exitosa, ejecuta el comando dos, pero si no ejecuta el
|
| 101 |
+
|
| 102 |
+
00:05:50.570 --> 00:05:59.370
|
| 103 |
+
comando tres, es decir, si ha habido algún error, ejecuta el comando tres. Entonces, a ver esto cómo funciona. Por ejemplo, yo los puedo combinar
|
| 104 |
+
|
| 105 |
+
00:05:59.370 --> 00:06:13.385
|
| 106 |
+
l s, vamos a hacerlo, vamos a hacerlo ya simplemente con ecos, éxito, y aquí vamos a ponerle un eco que diga fracasso. Vamos a
|
| 107 |
+
|
| 108 |
+
00:06:13.385 --> 00:06:25.950
|
| 109 |
+
ejecutarlos, y aquí tenemos éxito, y si nosotros ejecutamos algo de manera incorrecta, pues vamos a tener nuestra salida y vamos a tener nuestro fracaso.
|
| 110 |
+
|
| 111 |
+
00:06:25.950 --> 00:06:36.075
|
| 112 |
+
Los operadores de control es necesario que los tengas muy muy claros porque son los principios de la automatización en la terminal. Cuando nosotros empezamos
|
| 113 |
+
|
| 114 |
+
00:06:36.075 --> 00:06:43.770
|
| 115 |
+
a correr comandos muy largos o complejos, que recuerda un comando, puede ser un script, por ejemplo, si un colega de trabajo otorga un script
|
| 116 |
+
|
| 117 |
+
00:06:43.770 --> 00:06:50.090
|
| 118 |
+
que a mejor va, se conecta a una base de datos, le hace un respaldo, envía un correo electrónico y ese script es muy largo
|
| 119 |
+
|
| 120 |
+
00:06:50.090 --> 00:06:59.015
|
| 121 |
+
y hace muchos procesos y en un punto puede fallar, pues tú necesitas hacer un respaldo directamente de qué es lo que está sucediendo, crear
|
| 122 |
+
|
| 123 |
+
00:06:59.015 --> 00:07:06.215
|
| 124 |
+
archivos de logs, y para esto puedes hacer combinación de ya todas las cosas que has aprendido a lo largo del curso. ¿Qué podrías hacer?
|
| 125 |
+
|
| 126 |
+
00:07:06.215 --> 00:07:16.070
|
| 127 |
+
Por ejemplo, usar los operadores de control para hacer el manejo de errores, también podrás utilizar las redirecciones para crear múltiples archivos e incluso estarlos
|
| 128 |
+
|
| 129 |
+
00:07:16.070 --> 00:07:24.390
|
| 130 |
+
concatenando en cada uno de los procesos, y así cuando termine, pues este tipo de procesos, ver en un historial, un archivo, qué fue lo
|
| 131 |
+
|
| 132 |
+
00:07:24.390 --> 00:07:32.445
|
| 133 |
+
que sucedió paso a paso. Te invito a que explores un poco con estos comandos, seas curioso o curiosa respecto a qué puedes hacer con
|
| 134 |
+
|
| 135 |
+
00:07:32.445 --> 00:07:41.554
|
| 136 |
+
los manejadores de paquetes de tu sistema de archivos y de tu sistema operativo, y sobre todo explorar diferentes funcionalidades que puedes realizar con comandos
|
| 137 |
+
|
| 138 |
+
00:07:41.554 --> 00:07:42.674
|
| 139 |
+
mucho más avanzados.
|
| 140 |
+
|
terminal/13-Configuración de alias permanentes en terminal Linux.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cc3775645311c473558b6e56b72ff2bda94ec0d9de3236f53c0a016bf4a5a1f1
|
| 3 |
+
size 56278777
|
terminal/13-Configuración de alias permanentes en terminal Linux.sub.vtt
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:09.920
|
| 4 |
+
En esta clase aprenderemos a utilizar una de mis cosas favoritas de la terminal, los Los alias es como ponerle apodos a tus comandos favoritos.
|
| 5 |
+
|
| 6 |
+
00:00:09.920 --> 00:00:19.535
|
| 7 |
+
Tú puedes crear un alias para resumir comandos, todavía aún más, o incluso puedes crear alias para encadenar una serie de comandos muchísimo más grande.
|
| 8 |
+
|
| 9 |
+
00:00:19.535 --> 00:00:26.895
|
| 10 |
+
Así que vamos a ver cómo se utilizan en la terminal. Los alias, como te mencionaba, son apodos de comandos, y como puedes ver todos
|
| 11 |
+
|
| 12 |
+
00:00:26.895 --> 00:00:36.210
|
| 13 |
+
los alias que tú tienes en tu sistema, simplemente utilizas el comando alias. Con esto te va mostrar todos los alias que nosotros tenemos. En
|
| 14 |
+
|
| 15 |
+
00:00:36.210 --> 00:00:46.225
|
| 16 |
+
este caso, por ejemplo, si tienes el alias l s, este l s es igual ALS color auto. E incluso aquí hay un alias para
|
| 17 |
+
|
| 18 |
+
00:00:46.225 --> 00:00:55.520
|
| 19 |
+
LSY mostrar todo como una lista de manera, pues, más rápida. De hecho, solamente es LLY nos muestra todo de manera rápida. No todos estos
|
| 20 |
+
|
| 21 |
+
00:00:55.440 --> 00:01:10.095
|
| 22 |
+
siempre están configurados igual, depende el sistema. Ahora, ¿cómo nosotros creamos nuestros alias? Pues simplemente es ponerle el nombre alias, el comando, el nombre del
|
| 23 |
+
|
| 24 |
+
00:01:10.095 --> 00:01:18.815
|
| 25 |
+
alias que nosotros queremos crear, este es el nombre del comando, entre comillas, nuevo, que nosotros queremos ejecutar, y en mi caso yo voy crear
|
| 26 |
+
|
| 27 |
+
00:01:18.815 --> 00:01:27.960
|
| 28 |
+
un alias para el comando clear, ya que clear me parece muy largo y simplemente quiero usar CLS de clear screen. Lo voy a crear
|
| 29 |
+
|
| 30 |
+
00:01:27.960 --> 00:01:43.415
|
| 31 |
+
y lo voy ejecutar. Ahora, si yo ejecuto CLS, me va a limpiar mi pantalla. Por ejemplo, podríamos crear un alias que dijera Dragón, ¿no?
|
| 32 |
+
|
| 33 |
+
00:01:43.975 --> 00:01:58.640
|
| 34 |
+
Y este va ser igual a el que ya habíamos ejecutado alguna vez, menos f, dragón y no sé, vamos a ponerle aquí hola. Vamos
|
| 35 |
+
|
| 36 |
+
00:01:59.920 --> 00:02:13.135
|
| 37 |
+
a ejecutar, alias dragón, ah, ya, perfecto. Y es que aquí tenemos un pequeño error, y es que nosotros para poder ejecutar este alias, lo
|
| 38 |
+
|
| 39 |
+
00:02:13.135 --> 00:02:26.990
|
| 40 |
+
vamos a poner justo así. El problema de que estoy teniendo ahorita principalmente es por las comillas dobles, por ejemplo, aquí yo puedo estar utilizando
|
| 41 |
+
|
| 42 |
+
00:02:27.550 --> 00:02:37.625
|
| 43 |
+
nuestras comillas simples para marcar el alias, ¿listo? Ahí yo la marqué y ahora voy a usar dragón y tenemos nuestro alias que, pues, ya
|
| 44 |
+
|
| 45 |
+
00:02:37.625 --> 00:02:46.345
|
| 46 |
+
está ejecutando nuestra serie de comandos que incluso pueden ser aún más complejos. Sin embargo, algo que yo te quiero mostrar es que los alias
|
| 47 |
+
|
| 48 |
+
00:02:46.200 --> 00:02:57.640
|
| 49 |
+
son temporales. Por ejemplo, si yo abriera una nueva terminal, vamos a decirle aquí que sea una terminal Ubuntu, que es, de hecho, con Code
|
| 50 |
+
|
| 51 |
+
00:02:57.640 --> 00:03:08.305
|
| 52 |
+
Bars, vamos a hacerla un poquito más grande. Esta es la misma terminal que estoy ejecutando acá, solamente con otros colorcitos, y si yo ejecuto,
|
| 53 |
+
|
| 54 |
+
00:03:08.305 --> 00:03:18.340
|
| 55 |
+
por ejemplo, el alias dragón, pues no me lo va a ejecutar. Y es porque los alias, aunque no lo parezca, se están ejecutando de
|
| 56 |
+
|
| 57 |
+
00:03:18.340 --> 00:03:28.145
|
| 58 |
+
manera temporal, y es que todas las terminales en sí tienen una sesión. Esta sesión es como cada vez que tú ingresas a tu página
|
| 59 |
+
|
| 60 |
+
00:03:28.145 --> 00:03:35.585
|
| 61 |
+
de Google o a tu cuenta de Facebook o de Instagram, es como una sesión, como un login. Cada vez que nosotros abrimos una nueva
|
| 62 |
+
|
| 63 |
+
00:03:35.585 --> 00:03:44.870
|
| 64 |
+
terminal, lo que hace Linux es considerarla como una nueva sesión, y cada vez que tú abres una nueva sesión, nuestros alias se pierden. Para
|
| 65 |
+
|
| 66 |
+
00:03:44.870 --> 00:03:53.510
|
| 67 |
+
mantener esos alias, los tenemos que agregar a un archivo de configuración de Shell, que dado tu sistema operativo puede estar variando la Shell que
|
| 68 |
+
|
| 69 |
+
00:03:53.510 --> 00:04:02.465
|
| 70 |
+
estés utilizando, así que vamos a configurar nuestros de forma permanente. Para configurar nuestros alias de forma permanente, me voy a regresar aquí a la
|
| 71 |
+
|
| 72 |
+
00:04:02.465 --> 00:04:11.750
|
| 73 |
+
terminal, de hecho te voy enseñar a cómo resetear la sesión y para ello vamos a usar el comando source, es recargar, específicamente un script,
|
| 74 |
+
|
| 75 |
+
00:04:11.830 --> 00:04:21.110
|
| 76 |
+
y le vamos a decir que recargue, en nuestro caso, source punto, y el archivo de configuración de la terminal, que en este caso sería
|
| 77 |
+
|
| 78 |
+
00:04:21.110 --> 00:04:32.065
|
| 79 |
+
bash RC. Aquí lo hace y si yo intento usar cualquiera de mis alias directamente, aquí me los va estar mostrando, por ejemplo, el clear
|
| 80 |
+
|
| 81 |
+
00:04:32.065 --> 00:04:43.880
|
| 82 |
+
screen siguen funcionando. Ahora, ¿cómo yo los agrego en mi terminal? Pues bueno, voy a hacer un LSLA, y si yo veo aquí hay un
|
| 83 |
+
|
| 84 |
+
00:04:43.880 --> 00:04:55.165
|
| 85 |
+
archivo llamado punto bash r c. Este archivo bash r c, vamos a hacerle un les, por ejemplo, vamos a hacer un cat punto bash
|
| 86 |
+
|
| 87 |
+
00:04:55.165 --> 00:05:10.200
|
| 88 |
+
RCY vamos a hacerle un a esto. Tiene aquí, pues, cuestiones de configuración, y si nos vamos, por ejemplo, aquí están algunos alias ya configurados,
|
| 89 |
+
|
| 90 |
+
00:05:10.200 --> 00:05:17.935
|
| 91 |
+
y si nosotros los queremos configurar, pues nosotros los podemos hacer con una redirección. Para ello, por ejemplo, solo voy a agregar el de clear
|
| 92 |
+
|
| 93 |
+
00:05:17.935 --> 00:05:37.240
|
| 94 |
+
screen, echo, por aquí lo teníamos, vamos a buscarlo, nuestro alias, listo. Voy a hacer un eco, texto, perfecto, y lo voy a agregar a
|
| 95 |
+
|
| 96 |
+
00:05:37.240 --> 00:05:51.745
|
| 97 |
+
mi archivo de configuración, Bash RC, ¿listo? Ahora vamos a hacer, por ejemplo, un tail del punto Bash RC, Bash RC, y aquí tenemos nuestro
|
| 98 |
+
|
| 99 |
+
00:05:51.745 --> 00:06:05.860
|
| 100 |
+
configurado, ah, pero ahí tenemos un pequeño problema, y es que configuramos mal ese alias. ¿Por qué? Porque hay que ponerle aquí la palabra alias,
|
| 101 |
+
|
| 102 |
+
00:06:06.260 --> 00:06:17.455
|
| 103 |
+
porque es lo que nosotros queremos insertar. Y, de hecho, voy a borrarlo así, lo voy a configurar de esta forma. Vamos a agregarlo y
|
| 104 |
+
|
| 105 |
+
00:06:17.455 --> 00:06:30.760
|
| 106 |
+
vamos a volverlo a mostrar con tail, y ahora sí ya creamos el alias CLC clear, ¿listo? Vamos, por ejemplo, aquí, a una nueva parte,
|
| 107 |
+
|
| 108 |
+
00:06:31.160 --> 00:06:45.915
|
| 109 |
+
a una nueva shell, por ejemplo, aquí está, vamos a irnos. Vamos a ejecutar el comando, por ejemplo, ls, ls guion LAY vamos a ejecutar
|
| 110 |
+
|
| 111 |
+
00:06:45.995 --> 00:06:55.800
|
| 112 |
+
el comando cls, que era nuestro y como vimos, nos estuvo limpiando la pantalla de manera automático porque nuestro alias ya está configurado en nuestro
|
| 113 |
+
|
| 114 |
+
00:06:55.800 --> 00:07:04.520
|
| 115 |
+
archivo de configuración Algo muy importante es que si tú no encuentras este archivo punto bash c es porque tal vez tu terminal esté usando
|
| 116 |
+
|
| 117 |
+
00:07:04.520 --> 00:07:15.375
|
| 118 |
+
otro tipo de shell. ¿Cómo sabemos eso? Pues haciendo un eco de Shell. Aquí vamos a hacer esto, Eco Shell, y en mi caso estoy
|
| 119 |
+
|
| 120 |
+
00:07:15.375 --> 00:07:23.295
|
| 121 |
+
usando Bash. Si la tuya, por ejemplo, dice punto ZSH, que es en el caso de algunas Mac, mi recomendación es que busques un archivo
|
| 122 |
+
|
| 123 |
+
00:07:23.295 --> 00:07:35.390
|
| 124 |
+
llamado punto ZSHRCY simplemente agregas el alias como lo hiciste en el archivo bash RCA lo largo de este módulo hemos visto cómo hay cierto
|
| 125 |
+
|
| 126 |
+
00:07:35.390 --> 00:07:45.725
|
| 127 |
+
tipo de mecanismos que nos ayudan a encadenar todos nuestros comandos y a controlar a un mayor nivel cómo estos interactúan y funcionan entre sí.
|
| 128 |
+
|
| 129 |
+
00:07:45.725 --> 00:07:54.685
|
| 130 |
+
Tenemos lo que son las redirecciones, los operadores de control, la creación de alias que son muy importantes por lo que nos permiten resumir una
|
| 131 |
+
|
| 132 |
+
00:07:54.685 --> 00:08:04.080
|
| 133 |
+
serie de comandos en una palabra o en un keyword bastante, bastante pequeño. Te invito a que sigas experimentando con ellos, los utilices, hagas algún
|
| 134 |
+
|
| 135 |
+
00:08:04.080 --> 00:08:12.655
|
| 136 |
+
proyectito pequeño, como por ejemplo, crear archivos de forma masiva o buscar un archivo de manera muy específica, por ejemplo, podrías crear un alias que
|
| 137 |
+
|
| 138 |
+
00:08:12.655 --> 00:08:22.335
|
| 139 |
+
solo te busque imágenes en tu carpeta de images y después te cree un archivo con todos los directorios que encontró directamente de esa búsqueda.
|
| 140 |
+
|
| 141 |
+
00:08:22.990 --> 00:08:30.110
|
| 142 |
+
Hay muchas cosas que puedes realizar, estoy ansioso de ver todos los proyectos que vas a realizar con estos comandos en la sección de comentarios.
|
| 143 |
+
|
| 144 |
+
00:08:30.110 --> 00:08:31.710
|
| 145 |
+
Te veo en el siguiente módulo.
|
| 146 |
+
|
terminal/14-Gestión de permisos en archivos y directorios de Linux.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:673e0826f9c6a5f65c98898288ac35948eccadd3cd7d75eacb492593d9f919a6
|
| 3 |
+
size 102302143
|
terminal/14-Gestión de permisos en archivos y directorios de Linux.sub.vtt
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:10.160
|
| 4 |
+
Los sistemas operativos basados en Linux e incluso los sistemas Unix, como lo puede ser Mac, existe algo llamado los permisos. Los permisos nos permiten
|
| 5 |
+
|
| 6 |
+
00:00:10.160 --> 00:00:19.975
|
| 7 |
+
indicar a un usuario, a un grupo de usuarios o incluso a un tipo de de recursos ¿qué cosas tienen permitido hacer con nuestros archivos?
|
| 8 |
+
|
| 9 |
+
00:00:20.055 --> 00:00:30.120
|
| 10 |
+
Por ejemplo, nosotros podemos indicar que solamente tienen permisos de lectura, de escritura o incluso hasta de ejecución. Para ello, vamos a ir a la
|
| 11 |
+
|
| 12 |
+
00:00:30.120 --> 00:00:39.560
|
| 13 |
+
terminal y vamos a descubrir cómo asignar estos permisos y primero saber cómo leerlos, así que vamos a ello. Para poder ver los permisos que
|
| 14 |
+
|
| 15 |
+
00:00:39.560 --> 00:00:52.255
|
| 16 |
+
tienen nuestros archivos, voy a hacer un ls guion LAY aquí nos vamos a dar cuenta cuáles son los permisos que nosotros tenemos. Por ejemplo,
|
| 17 |
+
|
| 18 |
+
00:00:52.255 --> 00:01:01.890
|
| 19 |
+
en el archivo que nosotros creamos llamado error logs, vamos a ver que aquí tenemos un guion, que esto indica que esto es un archivo,
|
| 20 |
+
|
| 21 |
+
00:01:01.890 --> 00:01:11.650
|
| 22 |
+
luego tenemos una r, una w, un guion, una r, un guion, una r, un guion, guion. ¿Esto qué es lo que nos está indicando?
|
| 23 |
+
|
| 24 |
+
00:01:11.650 --> 00:01:23.355
|
| 25 |
+
Lo que nos indica es que los primeros tres espacios que nosotros veamos aquí en la terminal para cualquier archivo o directorio, nos indica que
|
| 26 |
+
|
| 27 |
+
00:01:23.515 --> 00:01:31.230
|
| 28 |
+
son los permisos a nivel de usuario, es decir, a qué usuario se le está asignando o qué usuario tiene ese permiso. En nuestro caso,
|
| 29 |
+
|
| 30 |
+
00:01:31.230 --> 00:01:41.310
|
| 31 |
+
por ejemplo, aquí lo podemos ver y es el usuario de codebars. Los siguientes tres letras o grupos que nosotros vamos a tener, por ejemplo,
|
| 32 |
+
|
| 33 |
+
00:01:41.310 --> 00:01:50.345
|
| 34 |
+
aquí es son los permisos que tenemos para los grupos. Los grupos es algo mucho más avanzado que no abarca dentro de este curso, pero
|
| 35 |
+
|
| 36 |
+
00:01:50.345 --> 00:02:00.020
|
| 37 |
+
lo podemos ver como la forma que tiene Linux de poder asignar permisos de manera global a una serie de recursos. Si quieres saber más
|
| 38 |
+
|
| 39 |
+
00:02:00.020 --> 00:02:08.180
|
| 40 |
+
acerca de los permisos y de los grupos, voy a dejar unas clases que tenemos aquí en Platzi para que puedas investigar un poco más.
|
| 41 |
+
|
| 42 |
+
00:02:08.340 --> 00:02:17.965
|
| 43 |
+
Y por último, los últimos tres espacios que nos indican aquí, nos lo indica para otro tipo de recursos, normalmente se les conoce como other
|
| 44 |
+
|
| 45 |
+
00:02:17.965 --> 00:02:27.340
|
| 46 |
+
o se les conoce como word o el mundo. Estos recursos normalmente suelen ser para procesos, servicios, por ejemplo, si nosotros tenemos un sistema de
|
| 47 |
+
|
| 48 |
+
00:02:27.340 --> 00:02:35.980
|
| 49 |
+
bases de datos que a lo mejor quiere acceder a un archivo, pues bueno, eso lo vamos a indicar directamente aquí en estos permisos, ¿vale?
|
| 50 |
+
|
| 51 |
+
00:02:35.980 --> 00:02:48.085
|
| 52 |
+
Ahora que sabemos cómo funcionan los permisos, te voy a enseñar cómo modificarlos. El caso de uso más sencillo que nosotros tenemos para poder ver
|
| 53 |
+
|
| 54 |
+
00:02:48.085 --> 00:02:55.845
|
| 55 |
+
cómo funcionan los permisos es la creación de un script de Shell. Un de es un pequeño comando que nosotros vamos a estar ejecutando, por
|
| 56 |
+
|
| 57 |
+
00:02:55.845 --> 00:03:07.480
|
| 58 |
+
ejemplo, nosotros podemos crear un script de que simplemente diga hola mundo. Le vamos a crear este script de Shell y lo vamos poner como
|
| 59 |
+
|
| 60 |
+
00:03:07.480 --> 00:03:17.495
|
| 61 |
+
script punto s h. La extensión punto h siempre nos va a indicar que es un script de Shell o de Bash Shell. Aquí lo
|
| 62 |
+
|
| 63 |
+
00:03:17.495 --> 00:03:28.950
|
| 64 |
+
voy a ejecutar y voy a limpiar pantalla y vamos a listarlo. Aquí tenemos nuestro script y nos vamos a dar cuenta que tiene el
|
| 65 |
+
|
| 66 |
+
00:03:28.950 --> 00:03:42.085
|
| 67 |
+
permiso de de read y de write para nuestro usuario. Y si yo intento ejecutar este script, vamos a hacerlo con script punto s h,
|
| 68 |
+
|
| 69 |
+
00:03:42.085 --> 00:03:51.490
|
| 70 |
+
esta es la forma en la cual nosotros podemos ejecutar cualquier script, incluyendo ya sea un binario o simplemente una extensión de archivo, pues le
|
| 71 |
+
|
| 72 |
+
00:03:51.490 --> 00:04:00.530
|
| 73 |
+
voy a dar enter y aquí me dice permisos denegados, y es porque cualquier script que nosotros creemos de esta forma o en general solamente
|
| 74 |
+
|
| 75 |
+
00:04:00.530 --> 00:04:10.865
|
| 76 |
+
guardando un archivo de texto nunca va tener los permisos de ejecución, y esto es muy importante, nosotros podemos tener tres permisos. R de read,
|
| 77 |
+
|
| 78 |
+
00:04:10.865 --> 00:04:18.730
|
| 79 |
+
que es de lectura, vamos a tener w de write, que es para escribir, vamos a tener la x de execute, es decir, de ejecutar.
|
| 80 |
+
|
| 81 |
+
00:04:19.050 --> 00:04:28.010
|
| 82 |
+
Así que si nosotros queremos ejecutar este script y ver qué es lo que hace, tenemos que darle estos permisos. Para ello simplemente le decimos
|
| 83 |
+
|
| 84 |
+
00:04:28.490 --> 00:04:38.925
|
| 85 |
+
c h mod, o sea, cambia cambia el modo o agrega los permisos, y le vamos a decir agrega permisos de ejecución al archivo script
|
| 86 |
+
|
| 87 |
+
00:04:38.925 --> 00:04:48.760
|
| 88 |
+
punto s h. Perfecto, voy a limpiar pantalla, voy a hacer con mi alias CLS, y ahora voy a volver a listar nuestros archivos. Cuando
|
| 89 |
+
|
| 90 |
+
00:04:48.760 --> 00:04:58.920
|
| 91 |
+
un script tenga permiso de ejecución y estemos usando la opción de colors, normalmente nos lo va mostrar en verde, y esto es muy importante.
|
| 92 |
+
|
| 93 |
+
00:04:58.575 --> 00:05:06.255
|
| 94 |
+
Importante. Cuando nosotros ponemos el más x, y esto es algo que debes de tener en cuenta, lo que yo hice con el comando chmod,
|
| 95 |
+
|
| 96 |
+
00:05:06.255 --> 00:05:16.360
|
| 97 |
+
que podemos ver aquí, es que yo le dije simplemente con el más x agrégale tanto a los usuarios, a los grupos como a otros
|
| 98 |
+
|
| 99 |
+
00:05:16.360 --> 00:05:26.680
|
| 100 |
+
el permiso de ejecución, y aunque esto nos puede servir por el momento para ejecutar, puede ser un poco peligroso si nosotros únicamente queremos que
|
| 101 |
+
|
| 102 |
+
00:05:26.680 --> 00:05:39.945
|
| 103 |
+
nuestro usuario ejecute este permiso. Vamos a ver si logramos ejecutar nuestro script, y en este caso, pues nos dice command, hola, not phone, está
|
| 104 |
+
|
| 105 |
+
00:05:39.945 --> 00:05:47.590
|
| 106 |
+
bien, digo, no importa, de todas maneras esto solamente es para ver qué estaba haciendo este script, en este caso lo está ejecutando, digo, no
|
| 107 |
+
|
| 108 |
+
00:05:47.590 --> 00:05:55.375
|
| 109 |
+
tiene una sintaxis bien hecha porque no es un script de de Shell bien hecho, pero no sirve de ejemplo en este caso. Ahora, si
|
| 110 |
+
|
| 111 |
+
00:05:55.375 --> 00:06:06.735
|
| 112 |
+
nosotros queremos remediar ese como pequeño error de que tanto los grupos ahora tienen permiso de ejecución sobre este archivo, como también lo tienen otros,
|
| 113 |
+
|
| 114 |
+
00:06:06.860 --> 00:06:18.620
|
| 115 |
+
¿no? Otro tipo de recursos, cómo lo podemos cambiar. Y es que el comando chmod nos permite también pasarle números para poder modificar los permisos,
|
| 116 |
+
|
| 117 |
+
00:06:18.620 --> 00:06:27.115
|
| 118 |
+
¿y cómo se leen estos números? Pues bueno, lo que yo te quiero enseñar aquí es que, por ejemplo, la letra r siempre va valer
|
| 119 |
+
|
| 120 |
+
00:06:27.115 --> 00:06:38.880
|
| 121 |
+
cuatro, la letra w siempre va valer dos, y la letra de x, que sería la de execute, siempre va valer uno. ¿Por qué tienen
|
| 122 |
+
|
| 123 |
+
00:06:38.880 --> 00:06:46.400
|
| 124 |
+
estos valores? Porque si tú te fijas en una cadena, por ejemplo, de bits, si juntas tres bits, ¿no? Lo que vas a tener, pues
|
| 125 |
+
|
| 126 |
+
00:06:46.400 --> 00:06:52.875
|
| 127 |
+
va ser dos a la tres, más bien, vas a tener dos a la dos, dos a la uno y dos a la cero. Dos
|
| 128 |
+
|
| 129 |
+
00:06:52.875 --> 00:06:58.955
|
| 130 |
+
a la cero es uno, que en este caso sería la letra x, vas a tener dos a la dos a la uno, que sería
|
| 131 |
+
|
| 132 |
+
00:06:58.955 --> 00:07:07.380
|
| 133 |
+
dos, y vas a tener dos a la dos, que sería cuatro. Lo máximo que puedes sumar una asignación de permisos es siete y sus
|
| 134 |
+
|
| 135 |
+
00:07:07.380 --> 00:07:18.945
|
| 136 |
+
posibles combinaciones. Por ejemplo, si yo quiero asignar siempre RWYX, voy a poner un siete. Si voy a decir que los demás, por ejemplo, no
|
| 137 |
+
|
| 138 |
+
00:07:18.945 --> 00:07:28.465
|
| 139 |
+
tengan permisos de absolutamente nada ni de lectura ni nada, pues simplemente les voy poner un cero. Si les vuelvo poner, por ejemplo, otro cero,
|
| 140 |
+
|
| 141 |
+
00:07:28.465 --> 00:07:36.960
|
| 142 |
+
aquí lo que estoy diciendo es que a los usuarios siempre van a tener todos los permisos, en este caso, mi usuario Codebars siempre va
|
| 143 |
+
|
| 144 |
+
00:07:36.960 --> 00:07:46.545
|
| 145 |
+
tener todos los permisos, y los demás, tanto grupos como otros, no van a tener ningún tipo permiso, y simplemente debo decir a qué recurso
|
| 146 |
+
|
| 147 |
+
00:07:46.545 --> 00:07:55.745
|
| 148 |
+
se los voy a asignar. Vamos a limpiar pantalla y vamos a ver ahora qué nos está dando en los permisos. Si yo me voy
|
| 149 |
+
|
| 150 |
+
00:07:55.745 --> 00:08:04.680
|
| 151 |
+
aquí en mi script punto s h, me doy cuenta que RWX son es lo que yo asigné, o sea, asigné aquí cuatro más dos,
|
| 152 |
+
|
| 153 |
+
00:08:04.680 --> 00:08:12.920
|
| 154 |
+
me daría seis más uno, pues ya me da siete, y los demás los asignen en cero. Es, de hecho, si yo quisiera asignar la
|
| 155 |
+
|
| 156 |
+
00:08:12.920 --> 00:08:21.785
|
| 157 |
+
combinación más peligrosa de permisos que existe, que es la siete siete siete, esto le va decir que, pues básicamente cualquier cosa, cualquier recurso puede
|
| 158 |
+
|
| 159 |
+
00:08:21.785 --> 00:08:29.660
|
| 160 |
+
asignar a, puede puede llegar hacia este archivo, esto es bastante peligroso, yo nunca te recomiendo que lo hagas, aunque pues algunas veces lo he
|
| 161 |
+
|
| 162 |
+
00:08:29.660 --> 00:08:39.820
|
| 163 |
+
visto en producción, entonces esto lo que le está diciendo es que tanto usuarios, como grupos, como otro tipos de recursos puedan acceder a nuestro
|
| 164 |
+
|
| 165 |
+
00:08:39.820 --> 00:08:49.145
|
| 166 |
+
archivo script punto s h. Lo que yo siempre te recomiendo es que los archivos siempre los dejes al mínimo de permisos, en este caso
|
| 167 |
+
|
| 168 |
+
00:08:49.225 --> 00:08:57.700
|
| 169 |
+
la la configuración que siempre, pues es bastante buena, es siete cuatro cuatro o incluso, de hecho, la siete siete cinco, ¿no? Es como las
|
| 170 |
+
|
| 171 |
+
00:08:57.700 --> 00:09:05.060
|
| 172 |
+
más usuales, ¿no? Que nosotros podemos ver, y si hacemos un l s menos l a, que de hecho lo podemos hacer con el alias
|
| 173 |
+
|
| 174 |
+
00:09:05.140 --> 00:09:15.115
|
| 175 |
+
l l, pues aquí podemos ver cómo tiene ya configurados solo el permiso de lectura de Read y el permiso de ejecución, pero no tienen
|
| 176 |
+
|
| 177 |
+
00:09:15.115 --> 00:09:24.795
|
| 178 |
+
los permisos de write. Hace un segundo en la clase lo mencioné que la configuración correcta es siete cinco cinco, por si de repente escuchaste
|
| 179 |
+
|
| 180 |
+
00:09:24.795 --> 00:09:32.780
|
| 181 |
+
siete siete cinco fue un pequeño error, pero la configuración es siete cinco cinco. Lo que nosotros hacemos con esta configuración de permisos, es decir,
|
| 182 |
+
|
| 183 |
+
00:09:32.780 --> 00:09:43.145
|
| 184 |
+
que nuestro usuario puede hacer básicamente de todo con ese script y ya sea el grupo de usuarios o otros tipo de recursos, simplemente leer
|
| 185 |
+
|
| 186 |
+
00:09:43.145 --> 00:09:53.385
|
| 187 |
+
y ejecutar ese script. Esta es una configuración bastante común cuando nosotros tenemos scripts compartidos que queremos usar a lo largo de nuestro sistema Linux.
|
| 188 |
+
|
| 189 |
+
00:09:53.660 --> 00:10:05.500
|
| 190 |
+
Por último, para seguir explorando acerca de nuestros comandos, a limpiar nuestra pantalla y voy a hacer un LLA nuestra querida carpeta de textos. Vamos
|
| 191 |
+
|
| 192 |
+
00:10:05.500 --> 00:10:14.175
|
| 193 |
+
a ver todos su contenido, en este caso, pues son nuestros dos archivos de texto, y ahora te voy a hacer la siguiente pregunta, ¿qué
|
| 194 |
+
|
| 195 |
+
00:10:14.175 --> 00:10:23.370
|
| 196 |
+
pasaría si a esta carpeta, a la de textos, yo le quiero cambiar sus permisos y también a todos los archivos que estén dentro? Para
|
| 197 |
+
|
| 198 |
+
00:10:23.370 --> 00:10:33.130
|
| 199 |
+
fines demostrativos, lo voy a con el comando chmode, y aquí lo voy a hacer de manera recursiva. Esta es la opción r de manera
|
| 200 |
+
|
| 201 |
+
00:10:33.130 --> 00:10:40.245
|
| 202 |
+
recursiva y le voy a indicar qué permisos le voy a estar asignando. En este caso, voy a asignar todos los permisos de golpe, para
|
| 203 |
+
|
| 204 |
+
00:10:40.245 --> 00:10:48.965
|
| 205 |
+
ver que se encienda aquí todos nuestros permisos, y le voy a decir que sea a la carpeta textos, y esto lo que va hacer
|
| 206 |
+
|
| 207 |
+
00:10:48.965 --> 00:11:00.030
|
| 208 |
+
es que va modificar todos los permisos con la configuración siete siete siete, es decir, lectura y ejecución a todos los niveles, y también a
|
| 209 |
+
|
| 210 |
+
00:11:00.030 --> 00:11:10.115
|
| 211 |
+
todos los archivos dentro de esta carpeta. Así que lo vamos a realizar y también nos lo nos dijo chmood, chain y permission of textos,
|
| 212 |
+
|
| 213 |
+
00:11:10.435 --> 00:11:16.835
|
| 214 |
+
nos dice que la operación no es permitida, ahorita vamos a ver qué es lo que sucedió. Si nosotros hacemos un l s, de hecho
|
| 215 |
+
|
| 216 |
+
00:11:16.835 --> 00:11:25.130
|
| 217 |
+
vamos a hacer un l l, cuando un archivo o una carpeta tiene todos los permisos puestos, se ilumina de esta forma, ¿no? Entonces lo
|
| 218 |
+
|
| 219 |
+
00:11:25.130 --> 00:11:35.505
|
| 220 |
+
podemos visualizar, nos podemos ir aquí a C de textos y vamos a hacer LL, y vemos aquí cómo estos permisos no se han cambiado,
|
| 221 |
+
|
| 222 |
+
00:11:35.505 --> 00:11:45.345
|
| 223 |
+
y esto es porque cambiar permisos de forma recursiva normalmente no es algo que nosotros queramos realizar. Si nosotros queremos cambiar a un directorio, pues
|
| 224 |
+
|
| 225 |
+
00:11:45.345 --> 00:11:52.060
|
| 226 |
+
lo podemos hacer de manera directa, pero normalmente lo que hacen la mayoría de sistemas Linux dependiendo de la versión de Bash que estés utilizando
|
| 227 |
+
|
| 228 |
+
00:11:52.060 --> 00:12:01.100
|
| 229 |
+
es proteger este tipo de operaciones, ¿por qué? Porque si tú cambias permisos de forma recursiva directamente, pues lo que vas causar va ser pues
|
| 230 |
+
|
| 231 |
+
00:12:01.100 --> 00:12:09.835
|
| 232 |
+
un conflicto también en, por ejemplo, si tienes scripts, si tienes archivos de texto, entonces normalmente lo que hace es frenar ese tipo procesos. Lo
|
| 233 |
+
|
| 234 |
+
00:12:09.835 --> 00:12:19.170
|
| 235 |
+
que yo te recomiendo es que una generes, por ejemplo, puede ser un patrón de búsqueda confined y una vez encuentres los archivos que quieres
|
| 236 |
+
|
| 237 |
+
00:12:19.170 --> 00:12:26.690
|
| 238 |
+
cambiar, a eso sí les apliques el ch mode, también otra cosa es cambiarlos uno por uno, puedes generar un script, por ejemplo, con Bashell,
|
| 239 |
+
|
| 240 |
+
00:12:26.690 --> 00:12:32.945
|
| 241 |
+
el cual te haga la modificación de cada uno de los permisos, pero lo que quiero que tengas en claro es que la modificación de
|
| 242 |
+
|
| 243 |
+
00:12:32.945 --> 00:12:43.360
|
| 244 |
+
permisos es algo fundamental para el uso y manejo de scripts en Linux. Sobre todo también si estás manejando directorios, si tú quieres moverte a
|
| 245 |
+
|
| 246 |
+
00:12:43.360 --> 00:12:52.240
|
| 247 |
+
un directorio a hacer un CD, a necesitar el permiso de ejecución. Entonces son pequeños constraints o pequeñas cosas que tienes que tener en cuenta
|
| 248 |
+
|
| 249 |
+
00:12:52.240 --> 00:12:54.400
|
| 250 |
+
al momento de estar asignando permisos.
|
| 251 |
+
|
terminal/15-Variables de entorno en Linux creación y configuración global08 27 minutos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9b187244543b7bc8b43accf870d735df18f5f2d5eef45f1fb59ba87c831cc38e
|
| 3 |
+
size 57062506
|
terminal/15-Variables de entorno en Linux creación y configuración global08 27 minutos.sub.vtt
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:09.040
|
| 4 |
+
Como te has dado cuenta, tal vez para este punto del curso, es que la terminal y la shell es más que solamente ejecutar comandos.
|
| 5 |
+
|
| 6 |
+
00:00:09.120 --> 00:00:22.565
|
| 7 |
+
Es todo un ecosistema que tiene tanto sesiones como variables de entorno, como sus permisos, como incluso redirecciones, es un sistema bastante complejo, y lo
|
| 8 |
+
|
| 9 |
+
00:00:22.565 --> 00:00:31.070
|
| 10 |
+
que estaremos explorando en esta clase son las variables de entorno. ¿Y qué es una variable de entorno? Una variable de entorno nosotros lo podemos
|
| 11 |
+
|
| 12 |
+
00:00:31.070 --> 00:00:41.070
|
| 13 |
+
ver como una variable es algo que almacena información que nos va a permitir ejecutar un valor a lo largo de diferentes procesos. Vamos a
|
| 14 |
+
|
| 15 |
+
00:00:41.070 --> 00:00:52.425
|
| 16 |
+
ver cómo funciona esto directamente en la terminal. Las variables de entorno son aquellas variables que, por ejemplo, cuando nosotros hacemos referencia a nuestra Shell,
|
| 17 |
+
|
| 18 |
+
00:00:53.385 --> 00:01:02.970
|
| 19 |
+
esto que ves aquí es una variable de entorno y para poderla invocar simplemente hacemos uso del signo de dólar. Esto es algo específico del
|
| 20 |
+
|
| 21 |
+
00:01:02.970 --> 00:01:13.210
|
| 22 |
+
lenguaje de Shell, pero si nosotros lo ejecutamos, variable de entorno Shell en este caso, lo que almacena es la dirección de dónde está nuestra
|
| 23 |
+
|
| 24 |
+
00:01:13.210 --> 00:01:27.815
|
| 25 |
+
bin bash. Por ejemplo, también existe otra variable de entorno llamada print working directory o PWD, que nos dice dónde está nuestro directorio actual. Por
|
| 26 |
+
|
| 27 |
+
00:01:27.815 --> 00:01:38.080
|
| 28 |
+
ejemplo, si nosotros nos movemos a textos y ejecutamos esta variable a entorno, lo que hace el sistema es estar actualizando esta variable de entorno.
|
| 29 |
+
|
| 30 |
+
00:01:38.240 --> 00:01:48.735
|
| 31 |
+
Existen otro tipo de variables de entorno que nosotros podemos ver, por ejemplo, existe la variable de entorno PAT. Esta es una de las variables
|
| 32 |
+
|
| 33 |
+
00:01:48.735 --> 00:01:58.180
|
| 34 |
+
de entorno más conocidas y más utilizadas por muchísimos programas y utilizadas tanto de Linux como en general de toda la tecnología, porque lo que
|
| 35 |
+
|
| 36 |
+
00:01:58.180 --> 00:02:08.340
|
| 37 |
+
hace es darnos una lista de dónde se encuentran todos nuestros binarios a lo largo del sistema. ¿Qué es un binario? Pues básicamente los comandos.
|
| 38 |
+
|
| 39 |
+
00:02:08.340 --> 00:02:17.685
|
| 40 |
+
Por ejemplo, aquí nos dice que un comando lo puede estar buscando en SVIN, en VIN, incluso por aquí lo puede andar buscando en algunas
|
| 41 |
+
|
| 42 |
+
00:02:17.685 --> 00:02:25.765
|
| 43 |
+
partes de Java, en nuestro caso como es un sistema WSL, lo puede andar buscando algunas partes de de Windows. La verdad es un path
|
| 44 |
+
|
| 45 |
+
00:02:25.765 --> 00:02:36.320
|
| 46 |
+
bastante bastante grande, y aquí lo que hace esta variable es indicar dónde va estar buscando un programa. Nosotros también podemos hacer un print de
|
| 47 |
+
|
| 48 |
+
00:02:36.400 --> 00:02:45.885
|
| 49 |
+
la variable entorno language, que en este caso, pues nos dice la configuración de cómo tenemos nuestro teclado, en en mi caso yo tengo la
|
| 50 |
+
|
| 51 |
+
00:02:45.885 --> 00:02:55.420
|
| 52 |
+
codificación UTF ocho. Ahora, estas son todas las variables de entorno que existen en el sistema, ¿cómo yo descubro cuáles son? Pues existen comandos que
|
| 53 |
+
|
| 54 |
+
00:02:55.420 --> 00:03:05.900
|
| 55 |
+
ya nos muestran qué variables de entorno tenemos configuradas en nuestro sistema. La primera de ellas es el comando emp, y para ver toda esta
|
| 56 |
+
|
| 57 |
+
00:03:05.900 --> 00:03:13.065
|
| 58 |
+
salida de forma ordenada, vamos a usar el comando les, es decir, todo lo que suelte el comando env lo vamos a estar redireccionando con
|
| 59 |
+
|
| 60 |
+
00:03:13.065 --> 00:03:21.385
|
| 61 |
+
nuestro amigo el pipe operator a el comando les. Aquí lo vamos a hacer para poder explorar, y aquí vemos todas las variables de entorno
|
| 62 |
+
|
| 63 |
+
00:03:21.385 --> 00:03:31.390
|
| 64 |
+
que nosotros tenemos. Por ejemplo, algunas son variables de referencia, como lo puede ser Styleshell, algunas tienen como algunos valores. Usualmente, cuando nosotros queremos configurar
|
| 65 |
+
|
| 66 |
+
00:03:31.390 --> 00:03:42.785
|
| 67 |
+
cosas globales del sistema operativo, solemos cambiar las variables de entorno. Entonces, con esto podemos estar viendo todas las variables de entorno que nosotros tenemos
|
| 68 |
+
|
| 69 |
+
00:03:42.785 --> 00:03:54.290
|
| 70 |
+
en nuestro sistema operativo. Ahora, ¿yo puedo crear variables de entorno? Sí, la respuesta es sí, ¿cómo las creamos? Por ejemplo, yo puedo crear una
|
| 71 |
+
|
| 72 |
+
00:03:54.290 --> 00:04:15.055
|
| 73 |
+
llamada mybar, igual, digamos, diga un saludo, este va ser su valor, y ahora voy a hacer echo mybar, y aquí me imprime saludo. Algo
|
| 74 |
+
|
| 75 |
+
00:04:15.055 --> 00:04:24.860
|
| 76 |
+
que se suele hacer mucho también es hacer un export de las variables que nosotros vamos a estar utilizando. ¿Para qué es la sentencia export?
|
| 77 |
+
|
| 78 |
+
00:04:24.860 --> 00:04:34.940
|
| 79 |
+
Y es que muchas veces scripts de terceros, imagínate un script de Bash o de Python, JavaScript, que necesite recurrir a esta variable de entorno,
|
| 80 |
+
|
| 81 |
+
00:04:35.020 --> 00:04:42.245
|
| 82 |
+
myBar, por ejemplo, no va a poder ingresar a ella porque, pues, la forma en la cual yo la declaré aquí en la terminal es
|
| 83 |
+
|
| 84 |
+
00:04:42.245 --> 00:04:52.410
|
| 85 |
+
en un contexto local. Imagínate que vive solamente en mi terminal. Si yo quiero pasarla a otros programas o a otros contextos, necesito declararla con
|
| 86 |
+
|
| 87 |
+
00:04:52.410 --> 00:05:00.330
|
| 88 |
+
esto que dice aquí, export. Es algo ya un poquito más técnico, pero, por ejemplo, si tú necesitas una variable de entorno global y no
|
| 89 |
+
|
| 90 |
+
00:05:00.330 --> 00:05:09.265
|
| 91 |
+
te está funcionando, tal vez necesitas hacerle un export. Esto va a funcionar de manera igual, simplemente voy a hacer aquí un echo my bar
|
| 92 |
+
|
| 93 |
+
00:05:09.265 --> 00:05:22.750
|
| 94 |
+
y aquí está saludo. Ahora, ¿qué pasa si, por ejemplo, yo cierro mi WSL y lo vuelvo abrir. Pues bueno, lo que va a estar
|
| 95 |
+
|
| 96 |
+
00:05:22.750 --> 00:05:31.870
|
| 97 |
+
sucediendo es que si yo vuelvo a hacer un echo my bar, mi variable ya no existe, y es porque las variables de entorno, recuerda,
|
| 98 |
+
|
| 99 |
+
00:05:31.870 --> 00:05:41.195
|
| 100 |
+
al igual que los alias, solo viven de manera temporal en la sesión, es decir, cada vez que nosotros abrimos una terminal. Si nosotros queremos
|
| 101 |
+
|
| 102 |
+
00:05:41.195 --> 00:05:51.190
|
| 103 |
+
que vivan para toda la vida, pues simplemente, por ejemplo, podríamos hacer un export mybar saludo y agregarlo a nuestro archivo de configuración de shell.
|
| 104 |
+
|
| 105 |
+
00:05:51.350 --> 00:06:01.030
|
| 106 |
+
En nuestro caso, como estamos usando la bash shell, vamos a agregarlo al bash punto r c. Si estás usando ZSH, pues agregarlo al punto
|
| 107 |
+
|
| 108 |
+
00:06:01.030 --> 00:06:12.485
|
| 109 |
+
ZSHRC. Vamos a agregarlo aquí, y si yo hago echo my bar, aquí ya me lo muestra, y ahora, si yo cierro mi terminal, vamos
|
| 110 |
+
|
| 111 |
+
00:06:12.485 --> 00:06:23.100
|
| 112 |
+
a cerrarla y vamos a volver a ver WSL, vamos a hacerla un poquito más grande, ahí está, y vuelvo a hacer echo my bar,
|
| 113 |
+
|
| 114 |
+
00:06:24.380 --> 00:06:33.865
|
| 115 |
+
vamos a ver qué nos está mostrando, vamos a ver qué puede estar sucediendo en nuestro archivo bash punto r c. Vamos a ver, bash
|
| 116 |
+
|
| 117 |
+
00:06:33.865 --> 00:06:44.920
|
| 118 |
+
RCY vemos que no se agregó justo a nuestro archivo bash r c porque algo debió de haber pasado en el proceso. ¿Por qué no
|
| 119 |
+
|
| 120 |
+
00:06:44.920 --> 00:06:53.880
|
| 121 |
+
se agregó nuestra variable entorno? Y es porque, pues, yo hice mal esta este comando y es que hice el export así nada más, pero
|
| 122 |
+
|
| 123 |
+
00:06:53.880 --> 00:07:02.905
|
| 124 |
+
no generé ningún tipo de estándar output, y esto es algo muy común. Aquí voy a hacer un export, un eco de export directamente de
|
| 125 |
+
|
| 126 |
+
00:07:02.905 --> 00:07:11.385
|
| 127 |
+
esto. Recuerda siempre ponerlo entre comillas. Aquí ya lo voy a poner, ahora vamos a hacer un cat para ver que sí se haya añadido.
|
| 128 |
+
|
| 129 |
+
00:07:11.465 --> 00:07:22.740
|
| 130 |
+
En este caso, se añadió, voy a cerrar la terminal, voy a volverla abrir, vamos a maximizarla y vamos a hacer esto un poco más
|
| 131 |
+
|
| 132 |
+
00:07:22.740 --> 00:07:33.485
|
| 133 |
+
grande. Vamos a hacer un un eco de mi variable y ahora vemos cómo la variable saludo ya agregó siempre de manera global, sin importar
|
| 134 |
+
|
| 135 |
+
00:07:33.485 --> 00:07:41.805
|
| 136 |
+
cuántas veces yo inicie sesión en la terminal. Como ves, las variables de entorno son clave en el sistema, y esto aplica para cualquier sistema,
|
| 137 |
+
|
| 138 |
+
00:07:41.805 --> 00:07:49.370
|
| 139 |
+
tanto para Mac, como para Windows, como para Linux. Lo más importante que debes de tener en cuenta es que las variables de entorno se
|
| 140 |
+
|
| 141 |
+
00:07:49.370 --> 00:07:57.210
|
| 142 |
+
ejecutan de forma global. Velos como valores de referencia los cuales siempre vas a tener acceso. Esto es muy útil si tú quieres saber, por
|
| 143 |
+
|
| 144 |
+
00:07:57.210 --> 00:08:06.195
|
| 145 |
+
ejemplo, valores del sistema operativo, como puede ser el print working directory, el path, la shell que se está ejecutando, o incluso tú podrás poner
|
| 146 |
+
|
| 147 |
+
00:08:06.195 --> 00:08:15.090
|
| 148 |
+
tu nombre de usuario en una variable entorno que ya existe llamada user. Te invito a que con el env veas todas las variables de
|
| 149 |
+
|
| 150 |
+
00:08:15.090 --> 00:08:23.810
|
| 151 |
+
entorno y en la sección de comentarios me pongan cuál es la que más te interesa y qué descubriste leyendo cada una de estas variables.
|
| 152 |
+
|
| 153 |
+
00:08:23.810 --> 00:08:27.810
|
| 154 |
+
Nos vemos en la siguiente clase donde veremos lo que son los manejadores de paquetes.
|
| 155 |
+
|
terminal/16-Uso de APT para gestionar paquetes en Linux07 37 minutos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4ebbf96184d707327711da028f257e38ad33bf9882c1e9634e416074a14b5d37
|
| 3 |
+
size 61142867
|
terminal/16-Uso de APT para gestionar paquetes en Linux07 37 minutos.sub.vtt
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:08.400
|
| 4 |
+
En esta clase veremos lo que es un manejador de paquetes. ¿Qué dirías si te dijera que tu terminal tiene básicamente un App Store con
|
| 5 |
+
|
| 6 |
+
00:00:08.400 --> 00:00:16.815
|
| 7 |
+
un comando? Eso es lo que hacen la mayoría de manejadores de paquetes y suelen variar de sistema operativo. Por ejemplo, en todas las distribuciones
|
| 8 |
+
|
| 9 |
+
00:00:16.815 --> 00:00:24.975
|
| 10 |
+
basadas en Debian tenemos lo que es APT, en todas las basadas en Red Hat o Fedora tenemos lo que es DNF o Yum, en
|
| 11 |
+
|
| 12 |
+
00:00:24.975 --> 00:00:33.230
|
| 13 |
+
todas las basadas en Arch Linux tenemos lo que es Pacman y en todas las basadas en Mac OS, nativamente no existe un manejador de
|
| 14 |
+
|
| 15 |
+
00:00:33.230 --> 00:00:42.510
|
| 16 |
+
paquetes, pero la comunidad se ha encargado de desarrollar uno llamado En esta clase estaremos usando AEPT, pero posteriormente en el curso, si tienes Mac,
|
| 17 |
+
|
| 18 |
+
00:00:42.815 --> 00:00:50.415
|
| 19 |
+
podrás ver cómo instalar Vroom y cómo utilizarlo de una manera más profunda. Así que vamos a esta clase a ver qué opciones nos otorga
|
| 20 |
+
|
| 21 |
+
00:00:50.415 --> 00:00:59.300
|
| 22 |
+
un manejador de paquetes, y lo que quiero que te quede claro es que normalmente nos sirve para instalar, actualizar, remover o incluso saber si
|
| 23 |
+
|
| 24 |
+
00:00:59.300 --> 00:01:08.740
|
| 25 |
+
un paquete está disponible. Nos encontramos en nuestra terminal y el comando que es nuestro manejador de paquetes de nuestro sistema operativo es el comando
|
| 26 |
+
|
| 27 |
+
00:01:09.220 --> 00:01:18.725
|
| 28 |
+
a t, que es advanced package Tool. Lo que nos permite este comando es administrar todos nuestros paquetes o incluso nuevos comandos que vamos a
|
| 29 |
+
|
| 30 |
+
00:01:18.725 --> 00:01:28.930
|
| 31 |
+
estar instalando en el sistema operativo. Para ello, podemos hacerlo con a t, install y el nombre del paquete que nosotros queremos. Por ejemplo, para
|
| 32 |
+
|
| 33 |
+
00:01:28.930 --> 00:01:40.235
|
| 34 |
+
ver qué comando o qué paquete queremos instalar, podemos buscarlo simplemente con APT, show, y vamos a buscar, por ejemplo, un paquete que vamos a
|
| 35 |
+
|
| 36 |
+
00:01:40.235 --> 00:01:51.035
|
| 37 |
+
estar instalando en esta clase llamada que esto nos va a otorgar información de nuestro sistema operativo, aquí podemos ver que está NeoFetch. Incluso, si
|
| 38 |
+
|
| 39 |
+
00:01:51.035 --> 00:02:01.570
|
| 40 |
+
nosotros queremos saber más información acerca de APT, podemos hacerlo con la configuración de, bueno, más bien con el comando demand, y aquí nos puede
|
| 41 |
+
|
| 42 |
+
00:02:01.570 --> 00:02:11.705
|
| 43 |
+
estar mostrando todo lo que nosotros tenemos a disposición para hacer con APT. Una de las opciones, pues, comunes que se hace en cualquier sistema
|
| 44 |
+
|
| 45 |
+
00:02:11.705 --> 00:02:20.825
|
| 46 |
+
operativo es actualizarlo, para ello podemos usar AEPT update. Sin embargo, algo que yo te recomiendo es que todo lo que tenga que ver con
|
| 47 |
+
|
| 48 |
+
00:02:20.825 --> 00:02:30.340
|
| 49 |
+
administración de paquetes siempre lo hagas en la forma de un súper usuario. Y es que en todos los sistemas Linux usualmente tenemos un usuario
|
| 50 |
+
|
| 51 |
+
00:02:30.340 --> 00:02:39.775
|
| 52 |
+
llamado root o súper administrador. Este es el encargado de hacer operaciones de manera transversal a lo largo del sistema, esto lo hacemos simplemente con
|
| 53 |
+
|
| 54 |
+
00:02:39.775 --> 00:02:51.960
|
| 55 |
+
el comando sudo. Para ello, simplemente ejecutamos sudo, apt, update. Vamos hacerlo, nos va a pedir nuestra contraseña, esto es algo muy normal, y aquí
|
| 56 |
+
|
| 57 |
+
00:02:51.960 --> 00:02:59.240
|
| 58 |
+
se va a poner actualizar todos los repositorios. Lo que hace un manejador de paquetes, para que entiendas lo que es un repositorio, es que
|
| 59 |
+
|
| 60 |
+
00:02:59.240 --> 00:03:09.015
|
| 61 |
+
va, consulta a una serie de base de datos y actualiza la información acerca de qué paquetes tiene disponibles. Por ejemplo, aquí, si nosotros queremos
|
| 62 |
+
|
| 63 |
+
00:03:09.015 --> 00:03:23.510
|
| 64 |
+
ver la lista de paquetes que tenemos para hacerles upgrade, simplemente lo podemos hacer con APT list, y le pasamos la flag upgradeable. Listo, y
|
| 65 |
+
|
| 66 |
+
00:03:23.510 --> 00:03:35.375
|
| 67 |
+
aquí nos muestra todos los paquetes que nosotros podemos actualizar. Muy bien. Sin embargo, update únicamente nos hace el la actualización de la información de
|
| 68 |
+
|
| 69 |
+
00:03:35.375 --> 00:03:43.295
|
| 70 |
+
los paquetes que nosotros podemos actualizar, pero no los actualiza, o sea, solo nos dice, ok, estos ya son nuevos, pero no ejecuta la actualización.
|
| 71 |
+
|
| 72 |
+
00:03:43.680 --> 00:03:56.560
|
| 73 |
+
Para ello, vamos a hacer un comando llamado upgrade, entonces para esto es sudo apt upgrade, y aquí podemos ejecutar la actualización de este sistema.
|
| 74 |
+
|
| 75 |
+
00:03:56.955 --> 00:04:10.475
|
| 76 |
+
Una combinación muy habitual para actualizar el sistema, sobre todo en Debian, es hacer sudo apt update, y una vez termine el update, hacer el
|
| 77 |
+
|
| 78 |
+
00:04:10.475 --> 00:04:21.850
|
| 79 |
+
upgrade. Vamos a hacerlo, y aquí nos dice, ok, hay setenta y nueve paquetes para hacerles upgrade, ¿quieres hacerlo? Y aquí nos está preguntando si
|
| 80 |
+
|
| 81 |
+
00:04:21.850 --> 00:04:33.065
|
| 82 |
+
queremos continuar y le vamos a dar que sí. Esto puede tardar un rato, así que no te preocupes. Perfecto, ya se ha actualizado todo
|
| 83 |
+
|
| 84 |
+
00:04:33.065 --> 00:04:44.900
|
| 85 |
+
mi sistema operativo. Ahora puedo instalar cualquier paquete que yo quiera, en este caso vamos a instalar con sudo apt install el paquete de Neo
|
| 86 |
+
|
| 87 |
+
00:04:44.900 --> 00:04:55.325
|
| 88 |
+
Fetch. Vamos a hacer esto, vamos a decirle que sí, que queremos instalarlo, y se va a empezar instalar. Una vez se termina de instalar,
|
| 89 |
+
|
| 90 |
+
00:04:55.325 --> 00:05:05.965
|
| 91 |
+
voy a limpiar pantalla y ahora voy a usar mi nuevo comando NeoFetch, que me muestra la información de mi sistema operativo, y algo que
|
| 92 |
+
|
| 93 |
+
00:05:05.965 --> 00:05:15.700
|
| 94 |
+
nosotros también podemos hacer es que si ya nos cansamos de ese paquete, también lo podemos eliminar. Para ello vamos a usar sudo apt remove
|
| 95 |
+
|
| 96 |
+
00:05:15.700 --> 00:05:23.060
|
| 97 |
+
y el nombre de nuestro paquete, new fetch en este caso. Vamos hacerlo, nos va a decir que esto va a eliminar ese paquete y
|
| 98 |
+
|
| 99 |
+
00:05:23.060 --> 00:05:32.605
|
| 100 |
+
todas sus dependencias, no, y aquí lo tenemos, y si yo vuelvo a ejecutar, por ejemplo, NeoFetch, nos dice que ya no existe. Si nosotros
|
| 101 |
+
|
| 102 |
+
00:05:32.605 --> 00:05:43.260
|
| 103 |
+
queremos eliminar de manera profunda un paquete, lo podemos hacer en el caso específico de APT, que es el manejador de paquetes, yo diría más
|
| 104 |
+
|
| 105 |
+
00:05:43.260 --> 00:05:53.820
|
| 106 |
+
usado en toda la comunidad en tecnología, podemos hacerlo con porch. Simplemente aquí hacemos porch y digamos que, pues, nuestro caso queremos eliminar a cosay,
|
| 107 |
+
|
| 108 |
+
00:05:54.780 --> 00:06:03.075
|
| 109 |
+
y vamos a hacer sudo apt purge, cosay, nos va decir que esto va ser removido y además cualquier archivo, dependencia, de configuración que se
|
| 110 |
+
|
| 111 |
+
00:06:03.075 --> 00:06:13.400
|
| 112 |
+
haya instalado para, pues, esto, incluso nos va decir que va eliminar algunos paquetes, le vamos a decir que sí. En mi caso, si por
|
| 113 |
+
|
| 114 |
+
00:06:13.400 --> 00:06:21.880
|
| 115 |
+
ejemplo yo hago Kousei, o incluso mi alias de dragón, que me parece que lo tenía configurado, pues nos dice que, pues aquí ya no
|
| 116 |
+
|
| 117 |
+
00:06:21.880 --> 00:06:33.675
|
| 118 |
+
existe, ¿no? Absolutamente. Si hago el hola, por ejemplo, nos dice que ya no ha sido encontrado y simplemente ha sido eliminado del sistema. En
|
| 119 |
+
|
| 120 |
+
00:06:33.675 --> 00:06:43.170
|
| 121 |
+
esta clase aprendiste cómo usar un manejador de paquetes, específicamente el de Ubuntu, o de las distribuciones basadas en Debian, que es el de APT.
|
| 122 |
+
|
| 123 |
+
00:06:43.170 --> 00:06:54.325
|
| 124 |
+
Recuerda, un manejador de paquetes realmente es una App Store directamente desde la terminal, con ella podemos instalar nuevos paquetes, podemos eliminarlos, administrarlos, actualizarlos, todo
|
| 125 |
+
|
| 126 |
+
00:06:54.325 --> 00:07:02.885
|
| 127 |
+
lo que haríamos básicamente en una tienda de aplicaciones. El manejador de paquetes varía de sistema operativo, no te desesperes, de hecho las opciones no
|
| 128 |
+
|
| 129 |
+
00:07:02.885 --> 00:07:13.370
|
| 130 |
+
son iguales en todos los manejadores de paquetes, aquí lo hicimos directamente pues, con palabras como install, upgrade, update, en sistemas, por ejemplo, como es
|
| 131 |
+
|
| 132 |
+
00:07:13.370 --> 00:07:22.695
|
| 133 |
+
el manejador de paquetes de Arch Linux, pues Pacman no lo hace con palabras, lo hace con flags, lo hace con opciones, entonces esto varía
|
| 134 |
+
|
| 135 |
+
00:07:22.695 --> 00:07:31.175
|
| 136 |
+
un poco dependiendo tu manejador, pero al final del día terminan haciendo lo mismo. No te desesperes si de repente las cosas son diferentes, investiga,
|
| 137 |
+
|
| 138 |
+
00:07:31.175 --> 00:07:37.175
|
| 139 |
+
lee la documentación y si tienes cualquier duda, estoy pendiente aquí en los comentarios. Nos vemos en la siguiente clase.
|
| 140 |
+
|
terminal/17-Instalación y uso básico de Homebrew en macOS.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f0e4bc4cfbcd6096ab934c3f42505cd39cf8e8d61f57e5a30982c4c83ffce1ef
|
| 3 |
+
size 61435843
|
terminal/17-Instalación y uso básico de Homebrew en macOS.sub.vtt
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:08.320
|
| 4 |
+
A lo largo del curso has estado utilizando el sistema operativo Mac, esta clase está hecha especialmente para ti. Y es que en esta clase
|
| 5 |
+
|
| 6 |
+
00:00:08.320 --> 00:00:16.135
|
| 7 |
+
te enseñaré a cómo instalar el manejador de paquetes que la comunidad ha hecho para Este manejador de paquetes se llama Homebrew y es realmente
|
| 8 |
+
|
| 9 |
+
00:00:16.135 --> 00:00:23.415
|
| 10 |
+
útil y se parece muchísimo a Paytm. Vamos a la computadora para ver cómo lo podemos instalar. En los recursos de la clase te voy
|
| 11 |
+
|
| 12 |
+
00:00:23.415 --> 00:00:31.790
|
| 13 |
+
a dejar esta página, la cual es brew punto s h. El manejador de paquetes, como te comentaba, se llama homebrew y ellos se declaran
|
| 14 |
+
|
| 15 |
+
00:00:31.790 --> 00:00:42.245
|
| 16 |
+
como el manejador de paquetes perdido para macOS. Es bastante sencillo instalar, simplemente vamos a copiar este comando o tú lo puedes copiar desde aquí.
|
| 17 |
+
|
| 18 |
+
00:00:42.245 --> 00:00:49.605
|
| 19 |
+
Algo muy importante es que si de repente ves comandos en páginas con el signo de dólar antes, nos indica que debemos de copiarlos antes
|
| 20 |
+
|
| 21 |
+
00:00:49.605 --> 00:00:56.710
|
| 22 |
+
del signo de dólar, así que lo vamos a copiar aquí y yo voy a abrir mi terminal, en este caso yo tengo instalada una
|
| 23 |
+
|
| 24 |
+
00:00:56.710 --> 00:01:07.125
|
| 25 |
+
terminal para Mac llamada Item, la voy a abrir, y en la mayoría de computadoras Mac viene ya por defecto lo que es la terminal
|
| 26 |
+
|
| 27 |
+
00:01:07.125 --> 00:01:17.445
|
| 28 |
+
de o my ZSH. Ahora, ¿cómo yo sé que tengo esta en específico? Pues simplemente si yo hago un eco de Shell, pues nos damos
|
| 29 |
+
|
| 30 |
+
00:01:17.445 --> 00:01:27.390
|
| 31 |
+
cuenta que estoy usando esta no es la de Bash. Muy bien, ahora, ¿cómo yo puedo instalarlo el manejador de paquetes de Homebrew? Simplemente, voy
|
| 32 |
+
|
| 33 |
+
00:01:27.390 --> 00:01:36.685
|
| 34 |
+
aquí, lo voy a volver a copiar y lo voy a pegar. Y lo vamos instalar, nos va a pedir nuestra contraseña, esto es bastante
|
| 35 |
+
|
| 36 |
+
00:01:36.685 --> 00:01:47.590
|
| 37 |
+
normal, y nos va decir que va a instalar los siguientes scripts. Le vamos a dar que sí, simplemente dándole un enter. Una vez termine
|
| 38 |
+
|
| 39 |
+
00:01:47.590 --> 00:01:55.270
|
| 40 |
+
el proceso de instalación, va a aparecer esta sección de next steps. Lo que vamos a tener que hacer va ser instalar esto en nuestro
|
| 41 |
+
|
| 42 |
+
00:01:55.270 --> 00:02:05.825
|
| 43 |
+
Z profile, que es específico de la shell de Z SH, lo vamos a hacer con este echo y vamos a hacer este otro comando
|
| 44 |
+
|
| 45 |
+
00:02:05.825 --> 00:02:14.305
|
| 46 |
+
que va ser una evaluación de lo que acabamos instalar, que simplemente es una cadena de texto. Ahí hacemos el eval y vamos a hacer
|
| 47 |
+
|
| 48 |
+
00:02:14.305 --> 00:02:30.685
|
| 49 |
+
este eval. Si queremos ver una vez ejecutados estos comandos, si tenemos nuestro bro instalado, simplemente vamos a hacer un brow, guion guion version. Y
|
| 50 |
+
|
| 51 |
+
00:02:30.685 --> 00:02:39.005
|
| 52 |
+
con esto ya nos dice que Homebrew ha sido instalado. Voy a borrar pantalla para seguir con los siguientes comandos. Brew al igual que APT,
|
| 53 |
+
|
| 54 |
+
00:02:39.005 --> 00:02:47.930
|
| 55 |
+
es un manejador de paquetes que nos va permitir instalar diferentes aplicaciones y comandos. El primero que te voy a enseñar para Brew es Brew
|
| 56 |
+
|
| 57 |
+
00:02:47.930 --> 00:02:59.965
|
| 58 |
+
Search, y lo que nos va permitir es buscar información acerca de un paquete. Por ejemplo, podemos buscar Voy dar aquí en Brew Search, Cousay,
|
| 59 |
+
|
| 60 |
+
00:03:00.045 --> 00:03:08.285
|
| 61 |
+
nos dice que sí, en efecto existe dentro del manejador de paquetes de brew. Si queremos saber exactamente qué es ese paquete, simplemente lo hacemos
|
| 62 |
+
|
| 63 |
+
00:03:08.285 --> 00:03:22.080
|
| 64 |
+
con brew info Cousay. Ahí está, nos da de hecho las opciones que tenemos, y para instalar paquetes con brew es bastante sencillo, simplemente hacemos
|
| 65 |
+
|
| 66 |
+
00:03:22.080 --> 00:03:32.295
|
| 67 |
+
brew, install, por ejemplo, podrá ser un neo fetch, ¿no? Que es paquete que ya hemos usado. Esto nos va mostrar una serie de comandos
|
| 68 |
+
|
| 69 |
+
00:03:32.535 --> 00:03:42.280
|
| 70 |
+
y con esto ya acabamos de instalarlo. Si nosotros, por ejemplo, queremos ver y hacer como limpieza de las dependencias que acaba instalar e incluso
|
| 71 |
+
|
| 72 |
+
00:03:42.280 --> 00:03:55.625
|
| 73 |
+
como actualizarlo, podemos hacer con brew cleanup y el nombre de nuestro paquete, que en este caso, pues lo acabamos de instalar, es neofetch, y
|
| 74 |
+
|
| 75 |
+
00:03:55.625 --> 00:04:04.745
|
| 76 |
+
todo está de manera correcta. Ahora, si yo ejecuto el comando neo fetch que acabo instalar, me da la información de todo mi sistema, que
|
| 77 |
+
|
| 78 |
+
00:04:04.745 --> 00:04:14.530
|
| 79 |
+
es lo que hace este comando. Brew también nos permite hacer upgrades de nuestros comandos. Primero, si queremos listar todos los paquetes que nosotros tenemos,
|
| 80 |
+
|
| 81 |
+
00:04:14.530 --> 00:04:21.965
|
| 82 |
+
lo podemos hacer con brew list, y aquí nos dice que solo tenemos un instalado, por ejemplo, voy a instalar otro paquete, que va ser
|
| 83 |
+
|
| 84 |
+
00:04:21.965 --> 00:04:32.925
|
| 85 |
+
el brew, install, por ejemplo, cozy. Aquí se va tardar un ratito, listo. Voy a hacer de nuevo un brew list para ver nuestros paquetes,
|
| 86 |
+
|
| 87 |
+
00:04:33.340 --> 00:04:42.540
|
| 88 |
+
y aquí tenemos cosay, new fetch y screen resolution, ¿listo? Aquí tenemos estos tres. Si yo quiero hacer un upgrade de nuestros paquetes, o es
|
| 89 |
+
|
| 90 |
+
00:04:42.540 --> 00:04:56.115
|
| 91 |
+
decir, cómo actualizarlos, simplemente voy a hacer un upgrade, y todo está de manera correcta. También tenemos el comando brew update, que esto lo que
|
| 92 |
+
|
| 93 |
+
00:04:56.115 --> 00:05:05.960
|
| 94 |
+
va hacer va ser actualizar directamente homebrew, el manejador de paquetes, no nuestros paquetes. Si nosotros queremos hacer upgrade de un paquete en específico, por
|
| 95 |
+
|
| 96 |
+
00:05:05.960 --> 00:05:15.655
|
| 97 |
+
ejemplo, simplemente hay que indicarle upgrade y en el nombre de nuestro paquete. En este caso, pues todo está completamente instalado, esto es la última
|
| 98 |
+
|
| 99 |
+
00:05:15.655 --> 00:05:29.015
|
| 100 |
+
versión, por ejemplo, de y si nosotros quisiéramos desinstalar un paquete, pues, hacemos brew y uninstall, y aquí vamos a darle el nombre del paquete,
|
| 101 |
+
|
| 102 |
+
00:05:32.750 --> 00:05:45.725
|
| 103 |
+
Por ejemplo, aquí nos lo acaba desinstalar, podríamos hacer un cleanup, por ejemplo, de cosay, para quitar todo lo que hubiera instalado por ahí, todo
|
| 104 |
+
|
| 105 |
+
00:05:45.725 --> 00:05:56.125
|
| 106 |
+
está bien, y si intentó hacer, pues nos dice que el comando no ha sido encontrado. Como ves, instalar paquetes con Homebrew es realmente sencillo,
|
| 107 |
+
|
| 108 |
+
00:05:56.125 --> 00:06:02.170
|
| 109 |
+
no nos pide permisos más que la primera vez que lo ejecutemos, pero algo que te quiero decir es más allá de un instalador de
|
| 110 |
+
|
| 111 |
+
00:06:02.170 --> 00:06:11.210
|
| 112 |
+
paquetes como lo es APT. Con Homebrew podemos instalar cosas incluso más complejas como lo puede ser paquetes más robustos e interfaces como lo puede
|
| 113 |
+
|
| 114 |
+
00:06:11.210 --> 00:06:22.065
|
| 115 |
+
ser Docker, Spotify, Firefox, y aunque APT también puede hacer esto, pues, suele pedir como más dependencias y realmente hace las cosas bastante sencillas. Te
|
| 116 |
+
|
| 117 |
+
00:06:22.065 --> 00:06:30.320
|
| 118 |
+
quiero dar una pequeña advertencia y es que Homebrew, aunque es, pues sí, manejador de paquetes bastante reconocido por la comunidad, no deja de ser
|
| 119 |
+
|
| 120 |
+
00:06:30.320 --> 00:06:40.240
|
| 121 |
+
un manejador de paquetes que no es oficial de un sistema operativo, y nosotros tenemos que tener ciertas cuidados cuando usamos herramientas no oficiales de
|
| 122 |
+
|
| 123 |
+
00:06:40.240 --> 00:06:50.975
|
| 124 |
+
un sistema operativo, porque pueden tener vulnerabilidades, algunos agujeros de seguridad, o incluso puede haber malware en ciertos paquetes, no necesariamente porque Homebrew así lo
|
| 125 |
+
|
| 126 |
+
00:06:50.975 --> 00:07:01.660
|
| 127 |
+
quiera, sino porque con intenciones de ciberdelincuentes pueden llegar a algunos repositorios. Entonces, siempre 10 en mente, sí, mi recomendación principal en manejo de software
|
| 128 |
+
|
| 129 |
+
00:07:01.660 --> 00:07:09.395
|
| 130 |
+
y manejo de paquetes es que si lo puedes descargar e instalar de manera directa sin utilizar Homebrew, pues lo hagas en Homebrew. Si no
|
| 131 |
+
|
| 132 |
+
00:07:09.395 --> 00:07:16.515
|
| 133 |
+
hay otra alternativa más que utilizar Homebrew o sabes que es una fuente oficial o la fuente oficial te dice que lo puedes hacer a
|
| 134 |
+
|
| 135 |
+
00:07:16.515 --> 00:07:22.915
|
| 136 |
+
través de Homebrew, hazlo con Homebrew. Entonces, ya una vez que sabes esto, te veo en la siguiente clase.
|
| 137 |
+
|
terminal/18-Procesos en foreground y background en la terminal.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7169adadbad2613dfd065e05ccff70f0226f3f4ba55484aeee5a711b00c387be
|
| 3 |
+
size 45967794
|
terminal/18-Procesos en foreground y background en la terminal.sub.vtt
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.720 --> 00:00:08.720
|
| 4 |
+
En esta clase exploraremos uno de los conceptos más interesantes que tiene la terminal, que son los procesos en foreground y background. Hasta el momento,
|
| 5 |
+
|
| 6 |
+
00:00:08.960 --> 00:00:17.865
|
| 7 |
+
solo hemos estado ejecutando comandos en el foreground de la terminal, es decir, que cada vez que nosotros ejecutamos un comando, vemos su salida de
|
| 8 |
+
|
| 9 |
+
00:00:17.865 --> 00:00:27.240
|
| 10 |
+
forma secuencial, pero en el mundo real lo que sucede es que tenemos comandos que pueden tardar incluso horas en ejecutarse. ¿Qué pasa si nosotros
|
| 11 |
+
|
| 12 |
+
00:00:27.240 --> 00:00:36.120
|
| 13 |
+
solo tenemos una terminal y queremos ejecutar un comando y este se tarda muchísimo tiempo? Simplemente ya no podemos usar nuestra terminal, y es para
|
| 14 |
+
|
| 15 |
+
00:00:36.120 --> 00:00:46.145
|
| 16 |
+
eso que necesitas saber cómo utilizar los procesos en background. Vamos a la terminal y veamos cómo podemos ejecutar un proceso en cuáles están en
|
| 17 |
+
|
| 18 |
+
00:00:46.145 --> 00:00:53.665
|
| 19 |
+
background, cómo volverlos a traer el foreground y hacer el manejo de estos. Para esta clase te voy a enseñar un nuevo comando, y este
|
| 20 |
+
|
| 21 |
+
00:00:53.665 --> 00:01:03.320
|
| 22 |
+
comando es el comando sleep. El comando sleep simplemente se ejecuta, nosotros le decimos cuántos segundos queremos que se tarde, le damos sleep, aquí va
|
| 23 |
+
|
| 24 |
+
00:01:03.320 --> 00:01:12.315
|
| 25 |
+
a tardar uno, dos, tres, unos cinco segunditos aproximadamente, y nos va a regresar el control de la terminal. Nosotros lo podemos combinar con otros
|
| 26 |
+
|
| 27 |
+
00:01:12.315 --> 00:01:22.940
|
| 28 |
+
comandos, como por ejemplo, sleep, y podemos agregar un operador de control, ¿no? Es decir, cuando termine el sleep en, digamos, tres segundos, nos haga
|
| 29 |
+
|
| 30 |
+
00:01:22.940 --> 00:01:39.305
|
| 31 |
+
un eco de comando finalizado. Una vez tenemos esto, esperamos tantito y tenemos nuestro comando finalizado. Pero este slip lo que nos va ayudar en
|
| 32 |
+
|
| 33 |
+
00:01:39.305 --> 00:01:47.580
|
| 34 |
+
esta clase va ser a simular un proceso que se esté ejecutando, como lo puede ser, por ejemplo, la actualización del sistema, el envío de
|
| 35 |
+
|
| 36 |
+
00:01:47.580 --> 00:01:55.020
|
| 37 |
+
un script que a lo mejor esté enviando correos electrónicos, una actualización de bases de datos, hay muchas cosas que nosotros podemos hacer en la
|
| 38 |
+
|
| 39 |
+
00:01:55.020 --> 00:02:08.725
|
| 40 |
+
terminal. Entonces, por ejemplo, yo voy a poner un sleep de mil segundos, y que va decir comando finalizado. Por ejemplo, para que sea un
|
| 41 |
+
|
| 42 |
+
00:02:08.725 --> 00:02:21.800
|
| 43 |
+
poco más real, vamos a poner base de datos actualizado. ¿Listo? Esto va tardar mucho tiempo. Si nosotros queremos parar el proceso, siempre lo podemos
|
| 44 |
+
|
| 45 |
+
00:02:21.800 --> 00:02:36.885
|
| 46 |
+
hacer con la combinación de teclas, que sería control c. Así vamos a finalizar cualquier proceso. Sin embargo, nosotros podemos mandar este comando a background.
|
| 47 |
+
|
| 48 |
+
00:02:37.125 --> 00:02:48.690
|
| 49 |
+
¿Cómo nosotros lo podemos hacer? Simplemente poniéndole un ampersand al final. Si nosotros le ponemos un ampersand al final, nosotros vamos a estar diciendo que
|
| 50 |
+
|
| 51 |
+
00:02:48.690 --> 00:02:59.065
|
| 52 |
+
la ejecución de este comando lo vamos a estar enviando al background. ¿Y qué es el Imagínate lo que es un teatro detrás de escenas
|
| 53 |
+
|
| 54 |
+
00:02:59.225 --> 00:03:08.025
|
| 55 |
+
directamente, es la parte detrás de escenas de nuestra terminal donde van a estar sucediendo algunas cosas. En este caso, pues este proceso. Vamos a
|
| 56 |
+
|
| 57 |
+
00:03:08.025 --> 00:03:17.520
|
| 58 |
+
ejecutarlo y lo acabamos de enviar. Cuando nosotros ejecutamos este comando, nos va a arrojar una salida y esto nos indica que acabamos de enviar
|
| 59 |
+
|
| 60 |
+
00:03:17.520 --> 00:03:30.605
|
| 61 |
+
un proceso, en este caso este comando, al background. ¿Cómo podemos ver nosotros qué procesos están en Lo podemos hacer con el comando El comando
|
| 62 |
+
|
| 63 |
+
00:03:30.605 --> 00:03:39.080
|
| 64 |
+
jobs lo que nos permite es, nos da una lista de qué comando se están corriendo, y lo que yo puedo hacer con jobs es
|
| 65 |
+
|
| 66 |
+
00:03:39.080 --> 00:03:49.155
|
| 67 |
+
simplemente traer ese comando al frente. ¿Cómo lo puedo hacer? Pues lo puedo hacer con el comando foreground. El foreground es, pues, donde se está
|
| 68 |
+
|
| 69 |
+
00:03:49.155 --> 00:03:56.595
|
| 70 |
+
ejecutando la terminal y simplemente le vamos a dar foreground, aquí de hecho dice que el comando se está corriendo, le va decir foreground y
|
| 71 |
+
|
| 72 |
+
00:03:56.595 --> 00:04:03.380
|
| 73 |
+
tenemos que poner el ID del comando que se está corriendo, en este caso es el uno, y para hacer referencia a ese ID del
|
| 74 |
+
|
| 75 |
+
00:04:03.380 --> 00:04:12.900
|
| 76 |
+
job, simplemente vamos a poner el símbolo de módulo o de división, y le vamos a poner el número del ID. En este caso, pues,
|
| 77 |
+
|
| 78 |
+
00:04:12.900 --> 00:04:20.215
|
| 79 |
+
se está corriendo nuestro comando, lo cual, pues, es algo que tal vez queramos, o sea, lo acabamos de entrar al frente, pero, pues, sigue
|
| 80 |
+
|
| 81 |
+
00:04:20.215 --> 00:04:30.810
|
| 82 |
+
bloqueando el proceso de nuestra terminal. Nosotros también algo que podemos hacer es pausar el proceso, es decir, que esta actualización no quiero que se
|
| 83 |
+
|
| 84 |
+
00:04:30.810 --> 00:04:41.610
|
| 85 |
+
termine ni que continúe, la quiero pausar. ¿Cómo yo puedo hacer eso? Simplemente lo puedo hacer con control z. Cuando yo presiono control z con
|
| 86 |
+
|
| 87 |
+
00:04:41.610 --> 00:04:49.665
|
| 88 |
+
un proceso que está en mi foreground, yo lo voy parar. ¿Cómo yo puedo listar eso de nuevo? Le puedo dar en jobs y aquí
|
| 89 |
+
|
| 90 |
+
00:04:49.665 --> 00:05:00.460
|
| 91 |
+
me va decir el estatus de mi proceso. En mi caso, dice que está pausado este comando. ¿Cómo yo lo puedo despausar? Esto está en
|
| 92 |
+
|
| 93 |
+
00:05:00.460 --> 00:05:12.140
|
| 94 |
+
el background, ¿yo cómo lo puedo reanudar? Pues simplemente puedo hacer background y puedo poner el ID del proceso al cual yo puedo, o bueno,
|
| 95 |
+
|
| 96 |
+
00:05:12.140 --> 00:05:20.715
|
| 97 |
+
quiero traer como devuelva a la vida. Voy a hacer background, uno, y aquí nos dice que se acaba de continuar. Si aquí yo le
|
| 98 |
+
|
| 99 |
+
00:05:20.715 --> 00:05:30.795
|
| 100 |
+
doy en jobs, nos dice que este proceso sigue corriendo. Aunque esta clase pudo parecer algo corta, lo que te quiero explicar es que existen
|
| 101 |
+
|
| 102 |
+
00:05:30.980 --> 00:05:42.260
|
| 103 |
+
procesos fundamentales en nuestra terminal que son muy importantes. Nosotros podemos tener procesos corriendo en foreground, es decir, en primer plano, podemos tener procesos corriendo
|
| 104 |
+
|
| 105 |
+
00:05:42.260 --> 00:05:50.925
|
| 106 |
+
en background, y cuando los tenemos en background pueden pasar dos cosas principalmente. Una es que se estén ejecutando y nosotros podemos seguir seguir haciendo
|
| 107 |
+
|
| 108 |
+
00:05:50.925 --> 00:06:01.180
|
| 109 |
+
otra serie de procesos en primer plano, y también podemos pausar esos procesos en Esto es sumamente útil como, por ejemplo, cuando nosotros encolamos una
|
| 110 |
+
|
| 111 |
+
00:06:01.180 --> 00:06:10.540
|
| 112 |
+
serie de procesos, por ejemplo, puede ser una actualización a base de datos, envíos de emails, actualizaciones del sistema, actualizaciones de permisos, podemos tener muchos
|
| 113 |
+
|
| 114 |
+
00:06:10.540 --> 00:06:20.195
|
| 115 |
+
de estos procesos en background corriendo en paralelo a la vez, y eso nos va permitir, pues, automatizar muchas tareas, controlarlos, y solamente con estos
|
| 116 |
+
|
| 117 |
+
00:06:20.195 --> 00:06:28.170
|
| 118 |
+
comandos que te enseñé lo puedes hacer. Cada uno de estos procesos cuenta con un ID, que tú lo puedes encontrar simplemente con el numerito
|
| 119 |
+
|
| 120 |
+
00:06:28.170 --> 00:06:36.330
|
| 121 |
+
y puedes hacer referencia a ellos a través del símbolo de módulo usando el comando jobs. Ya que sabes esto, nos vemos en la siguiente
|
| 122 |
+
|
| 123 |
+
00:06:36.330 --> 00:06:40.330
|
| 124 |
+
clase para ver cómo podemos manejar los procesos de una forma diferente.
|
| 125 |
+
|
terminal/19-Administración de procesos en Linux con PS, Top y Kill.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:111207cb4ca38c18540ad628d65f5f0ecc95980c0ca68b9f5345dbe891b2215a
|
| 3 |
+
size 109039957
|
terminal/19-Administración de procesos en Linux con PS, Top y Kill.sub.vtt
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:09.360
|
| 4 |
+
Esta clase vamos a aprender más acerca de los procesos, y aunque ya sabes cómo manejarlos en el foreground y en el background y hacer
|
| 5 |
+
|
| 6 |
+
00:00:09.360 --> 00:00:19.175
|
| 7 |
+
algunas cosas con ellos, en esta clase veremos específicamente cómo identificarlos, algunos de sus valores primordiales y sobre todo cómo terminar con ellos y leer
|
| 8 |
+
|
| 9 |
+
00:00:19.175 --> 00:00:26.535
|
| 10 |
+
algunos de sus estatus. Acompáñame a la terminal para ver cómo podemos manejar esto. Nos encontramos en nuestra terminal y lo primero que voy a
|
| 11 |
+
|
| 12 |
+
00:00:26.535 --> 00:00:36.600
|
| 13 |
+
hacer va ser correr una serie de procesos, por ejemplo, le voy a poner un sleep mil, ¿no? Y vamos a ponerle aquí un echo
|
| 14 |
+
|
| 15 |
+
00:00:36.600 --> 00:00:48.705
|
| 16 |
+
que diga hola, y vamos a buscar este proceso que sea el de sleep. Lo voy a mandar al background, ahí lo tenemos. Perfecto. Ahora,
|
| 17 |
+
|
| 18 |
+
00:00:48.705 --> 00:00:55.105
|
| 19 |
+
¿qué es lo que vamos a realizar? Yo voy a listar primero todos los procesos que tenga en mi sistema y para ello voy a
|
| 20 |
+
|
| 21 |
+
00:00:55.105 --> 00:01:02.530
|
| 22 |
+
usar el comando p s. Aquí podemos ver el manual de PS, y lo que nos dice es que es report a snapshot of the
|
| 23 |
+
|
| 24 |
+
00:01:02.530 --> 00:01:13.225
|
| 25 |
+
current processes, ¿ok? Si yo ejecuto simplemente PS, pues me da un formato algo extraño. Por ejemplo, aquí me dice que tengo un bash, otro
|
| 26 |
+
|
| 27 |
+
00:01:13.225 --> 00:01:21.465
|
| 28 |
+
bash, un slip, de hecho es el slip que se anda ejecutando, y aquí el otro slip que acabo de ejecutar. Ahora, si yo me
|
| 29 |
+
|
| 30 |
+
00:01:21.465 --> 00:01:33.030
|
| 31 |
+
voy de nuevo al manual directamente, man ps, aquí puedo ver cómo yo puedo ponerle unos formatos. Por ejemplo, aquí le puedo poner a para
|
| 32 |
+
|
| 33 |
+
00:01:33.030 --> 00:01:42.155
|
| 34 |
+
que me dé como algunas restricciones, y de hecho, la combinación más útil, y te voy adelantando, es la de PSAUX. Normalmente con este formato
|
| 35 |
+
|
| 36 |
+
00:01:42.155 --> 00:01:51.290
|
| 37 |
+
nos va dar una tabla que es, pues, muy muy muy útil, de hecho, a hacerle un pipe para verla con les, y aquí tenemos
|
| 38 |
+
|
| 39 |
+
00:01:51.290 --> 00:02:01.130
|
| 40 |
+
esta tabla, nos muestra qué usuario está ejecutando el proceso, el El PID es un identificador único que le otorga el sistema operativo, que es
|
| 41 |
+
|
| 42 |
+
00:02:01.130 --> 00:02:11.705
|
| 43 |
+
el ProSUS ID, el porcentaje de CPU que está consumiendo, el porcentaje de memoria, aquí incluso la terminal en donde la anda ejecutando, cuándo inició,
|
| 44 |
+
|
| 45 |
+
00:02:11.705 --> 00:02:22.110
|
| 46 |
+
el tiempo y qué comando está ejecutando ese proceso. Aquí podemos ver todas esa información y recuerda, lo más importante es que PS te otorga
|
| 47 |
+
|
| 48 |
+
00:02:22.110 --> 00:02:29.470
|
| 49 |
+
un snapshot. Si no sabes lo que es un snapshot es como una fotografía, una captura de pantalla de lo que está ocurriendo justo en
|
| 50 |
+
|
| 51 |
+
00:02:29.470 --> 00:02:39.905
|
| 52 |
+
ese momento en el sistema. Vamos a salirnos nuestro les, simplemente presionando la tecla q. Vamos a borrar pantalla y vamos a explorar más comandos
|
| 53 |
+
|
| 54 |
+
00:02:39.905 --> 00:02:48.810
|
| 55 |
+
acerca del manejo de procesos. Un comando que nos sirve mucho, por ejemplo, para ver o buscar qué procesos está ejecutando por un nombre, es
|
| 56 |
+
|
| 57 |
+
00:02:48.810 --> 00:02:58.330
|
| 58 |
+
al PCAUX hacerle un rep de el comando que estemos buscando. Por ejemplo, mi caso voy a buscar sleep, y aquí le voy poner la
|
| 59 |
+
|
| 60 |
+
00:02:58.330 --> 00:03:09.065
|
| 61 |
+
flag menos I para distinguir entre mayúsculas y minúsculas, y aquí ya me lo está diciendo, que se está ejecutando un proceso, yo lo ejecuté
|
| 62 |
+
|
| 63 |
+
00:03:09.065 --> 00:03:17.930
|
| 64 |
+
de hecho, con el PID quinientos once, ¿no? Aquí con el quinientos treinta y dos, ¿no? Y aquí, de hecho, el grep, esto me lo
|
| 65 |
+
|
| 66 |
+
00:03:17.930 --> 00:03:25.850
|
| 67 |
+
está marcando porque fue este mismo comando que se ejecutó, de que andaba buscando el comando sleep. Hay otra forma en la cual yo puedo
|
| 68 |
+
|
| 69 |
+
00:03:25.850 --> 00:03:37.545
|
| 70 |
+
estar monitoreando y visualizando todos mis procesos de manera recurrente, no solamente como un snapshot, y ese es el comando top. Si yo ejecuto top,
|
| 71 |
+
|
| 72 |
+
00:03:37.865 --> 00:03:48.750
|
| 73 |
+
aquí vamos a ver toda la información, de hecho, se ve cómo se está actualizando como cada tres segunditos aproximadamente, ¿cuánto tiempo lleva activo este
|
| 74 |
+
|
| 75 |
+
00:03:48.750 --> 00:03:57.550
|
| 76 |
+
servicio? Y ¿cuáles son las tareas o 0 procesos que están ejecutando? ¿Cuántos están corriendo? ¿Cuántos están en estado de sleeping? ¿Cuántos están stopper? Y
|
| 77 |
+
|
| 78 |
+
00:03:57.550 --> 00:04:05.155
|
| 79 |
+
¿cuántos están zombie? En los recursos de la clase te voy a dejar varias lecturas acerca de cuáles son todos los estatus que puede tener
|
| 80 |
+
|
| 81 |
+
00:04:05.155 --> 00:04:12.275
|
| 82 |
+
un proceso, pero los los más importantes, y te los voy adelantando, son el de running y el de sleeping y el de stoppet. Con
|
| 83 |
+
|
| 84 |
+
00:04:12.275 --> 00:04:19.230
|
| 85 |
+
esos tres normalmente los vas encontrar. El de zombie, por ejemplo, es cuando tú tienes un proceso que es un padre, por ejemplo, imagínatelo como
|
| 86 |
+
|
| 87 |
+
00:04:19.230 --> 00:04:26.685
|
| 88 |
+
un programa como WORTH, y de repente un proceso hijo que depende de él, pues se rompe y el proceso padre no tiene referencia. Son
|
| 89 |
+
|
| 90 |
+
00:04:26.685 --> 00:04:34.365
|
| 91 |
+
casos ya más complejos que van fuera del contexto de este curso, pero si tienes curiosidad te voy dejar toda la información en esas lecturas.
|
| 92 |
+
|
| 93 |
+
00:04:34.685 --> 00:04:43.500
|
| 94 |
+
Ahora, si nosotros queremos seguir explorando lo que tenemos aquí en top, pues nosotros podemos ver que nos marca el process ID, al igual que
|
| 95 |
+
|
| 96 |
+
00:04:43.500 --> 00:04:57.995
|
| 97 |
+
lo hicimos con PSAUX, nos marca el process nos marca en aquí directamente el usuario, nos marca porcentajes de de memoria, porcentajes de CPU, qué
|
| 98 |
+
|
| 99 |
+
00:04:57.995 --> 00:05:08.910
|
| 100 |
+
comando lo está ejecutando, y un parámetro muy, muy, muy importante que aquí te lo voy a dejar llamado NI, que hace referencia a algo
|
| 101 |
+
|
| 102 |
+
00:05:08.910 --> 00:05:19.390
|
| 103 |
+
que manejan los procesos en Linux llamado el El va desde un valor desde el veinte a, este, el menos veinte, aproximadamente los valores negativos
|
| 104 |
+
|
| 105 |
+
00:05:19.390 --> 00:05:29.235
|
| 106 |
+
representan mayor prioridad para el sistema operativo y los valores positivos con menos prioridad, aunque esto suene un poco intuitivo, pero así está programado. Lo
|
| 107 |
+
|
| 108 |
+
00:05:29.235 --> 00:05:36.520
|
| 109 |
+
que hace es que los que tengan mayor prioridad, es decir, con valores negativos más altos, vas, lo que va ser el sistema operativo va
|
| 110 |
+
|
| 111 |
+
00:05:36.520 --> 00:05:46.360
|
| 112 |
+
ser asignarles mayor porcentaje de CPU, es decir, son procesos más críticos. Y los que tengan un valor, por ejemplo, digamos, un diez, un quince,
|
| 113 |
+
|
| 114 |
+
00:05:46.360 --> 00:05:56.375
|
| 115 |
+
un veinte, que son procesos menos prioritarios, se les asigna menos CPU. Usualmente esto nosotros no solemos configurar, lo hace directamente el sistema operativo, pero
|
| 116 |
+
|
| 117 |
+
00:05:56.375 --> 00:06:06.280
|
| 118 |
+
te lo dejo como dato para que lo sepas, ¿ok? Aquí tenemos directamente todo todos nuestros procesos, ¿no? Que se están ejecutando, realmente no son
|
| 119 |
+
|
| 120 |
+
00:06:06.280 --> 00:06:14.840
|
| 121 |
+
muchos, y esto solamente es un visualizador en tiempo real de cuáles son los procesos que tenemos. Si queremos tener algo un poquito ya más
|
| 122 |
+
|
| 123 |
+
00:06:14.840 --> 00:06:27.245
|
| 124 |
+
complejo, pues podemos hacer uso de una herramienta que vamos instalar llamado htop, lo podemos hacer con este comando. Simplemente vamos escribir sudo apt install
|
| 125 |
+
|
| 126 |
+
00:06:27.245 --> 00:06:36.850
|
| 127 |
+
y le vamos a dar htop. Recuerda que si estás utilizando macOS, vas a tener que instalar el comando htop directamente con Homebrew. En mi
|
| 128 |
+
|
| 129 |
+
00:06:36.850 --> 00:06:43.490
|
| 130 |
+
caso, yo me encuentro aquí en mi computadora, le voy a dar a instalar, me va pedir mi contraseña y le voy a dar que
|
| 131 |
+
|
| 132 |
+
00:06:43.490 --> 00:06:52.225
|
| 133 |
+
sí lo quiero instalar y lo voy a dejar instalando. Me voy a regresar aquí en mi terminal y voy instalar este paquete simplemente haciendo
|
| 134 |
+
|
| 135 |
+
00:06:52.225 --> 00:07:04.490
|
| 136 |
+
sudo apt install htop. Con esto me va a marcar todas las dependencias que voy a necesitar y me lo va instalar directamente en mi
|
| 137 |
+
|
| 138 |
+
00:07:04.490 --> 00:07:17.275
|
| 139 |
+
computadora. Una vez se termine de instalar, vamos a marcar el comando y aquí podemos ver algo muchísimo más complejo a lo que antes teníamos.
|
| 140 |
+
|
| 141 |
+
00:07:17.355 --> 00:07:27.275
|
| 142 |
+
Aquí podemos ver una lista de todos nuestros procesos que tenemos en nuestra computadora, cuáles son los usuarios que los están ejecutando, en este caso
|
| 143 |
+
|
| 144 |
+
00:07:27.275 --> 00:07:38.620
|
| 145 |
+
es el root, este que se marca aquí soy yo, directamente ese que dice code bars, y nos dice qué comandos nosotros podemos, o bueno,
|
| 146 |
+
|
| 147 |
+
00:07:38.620 --> 00:07:47.675
|
| 148 |
+
desde qué comandos se viene previniendo, nos marca la memoria de una manera mucho más gráfica, nos marca, incluso aquí muestra los procesadores que yo
|
| 149 |
+
|
| 150 |
+
00:07:47.675 --> 00:07:56.150
|
| 151 |
+
tengo en mi CPU, en mi caso yo tengo doce procesadores, y aquí dice todas las tareas que se están ejecutando. Ahora, ¿cuál es la
|
| 152 |
+
|
| 153 |
+
00:07:56.150 --> 00:08:08.145
|
| 154 |
+
ventaja de esto? Que si lo notas, aquí nos muestra las teclas de función en las cuales, por ejemplo, si yo presiono f tres, nos
|
| 155 |
+
|
| 156 |
+
00:08:08.145 --> 00:08:18.305
|
| 157 |
+
va a permitir buscar por ciertos parámetros. En este caso, por ejemplo, yo voy buscar el parámetro de batch, ¿no? Y aquí nos va mostrar
|
| 158 |
+
|
| 159 |
+
00:08:18.305 --> 00:08:27.320
|
| 160 |
+
por nombre, esta búsqueda la hace por el nombre del proceso, todos los procesos que hagan match, en este caso, que se estén ejecutando por
|
| 161 |
+
|
| 162 |
+
00:08:27.320 --> 00:08:38.645
|
| 163 |
+
bash. Ahora, si yo quiero hacer otra cosa, como por ejemplo, puedo mostrar un proceso por tres, ¿no? Directamente cómo se están ejecutando uno detrás
|
| 164 |
+
|
| 165 |
+
00:08:38.645 --> 00:08:50.100
|
| 166 |
+
del otro, lo puedo hacer simplemente con la tecla f cinco. Aquí me va mostrar un árbol de cómo los procesos están ejecutando. Unos procesos,
|
| 167 |
+
|
| 168 |
+
00:08:50.100 --> 00:08:58.020
|
| 169 |
+
de hecho, ser padres y otros pueden ser hijos. Nosotros lo podemos ver aquí. Por ejemplo, este es el proceso init, de hecho, este es
|
| 170 |
+
|
| 171 |
+
00:08:58.020 --> 00:09:07.215
|
| 172 |
+
el proceso padre de cualquier sistema operativo Linux, y podemos ver cómo se están desencadenando, y de hecho, aquí podemos notar cómo se encuentra nuestra
|
| 173 |
+
|
| 174 |
+
00:09:07.215 --> 00:09:19.050
|
| 175 |
+
sesión de de hecho, este es el proceso de bash, y este es nuestro comando htop. Si, por ejemplo, nosotros quisiéramos terminar htop sin necesidad
|
| 176 |
+
|
| 177 |
+
00:09:19.530 --> 00:09:28.970
|
| 178 |
+
darle aquí en f diez, que sería de quit, si no queremos terminar este proceso, lo podemos hacer con f nueve en cualquiera de los
|
| 179 |
+
|
| 180 |
+
00:09:28.970 --> 00:09:37.865
|
| 181 |
+
procesos que nosotros queramos terminar. En este caso, me voy a situar directamente sobre el proceso h top y le voy a dar f nueve,
|
| 182 |
+
|
| 183 |
+
00:09:38.905 --> 00:09:46.520
|
| 184 |
+
¿listo? Aquí voy a seleccionar el proceso que yo, bueno, bien el tipo de señal de terminación que yo le voy a dar, la más
|
| 185 |
+
|
| 186 |
+
00:09:46.520 --> 00:09:54.520
|
| 187 |
+
común, y esta es, de hecho, que debes de aprender con el número nueve, es la señal de terminación o señal de muerte, ¿no? Si
|
| 188 |
+
|
| 189 |
+
00:09:54.520 --> 00:10:03.045
|
| 190 |
+
lo traduces de manera directa, que es la sign al kill, que normalmente se establece con el número nueve. La vamos a seleccionar y esto
|
| 191 |
+
|
| 192 |
+
00:10:03.045 --> 00:10:12.165
|
| 193 |
+
lo que va hacer va ser terminar nuestro htop. Como lo puedes ver, aquí, pues ya me lo terminó, simplemente se ve súper raro porque,
|
| 194 |
+
|
| 195 |
+
00:10:12.165 --> 00:10:23.060
|
| 196 |
+
pues, lo terminé de golpe, de h topnica deberías de salir así, pero, pues, nosotros lo hicimos simplemente con fines demostrativos. Ahora, ¿qué nosotros podemos
|
| 197 |
+
|
| 198 |
+
00:10:23.060 --> 00:10:30.275
|
| 199 |
+
hacer también aquí? Si yo hago como un l s, pues vas a notar que yo tengo aquí mi terminal, control de mi terminal completamente
|
| 200 |
+
|
| 201 |
+
00:10:31.155 --> 00:10:40.515
|
| 202 |
+
correcto. Yo lo que puedo hacer también va ser iniciar otro proceso en foreground, por ejemplo, voy a hacer un ¿no? Directamente voy a hacer
|
| 203 |
+
|
| 204 |
+
00:10:41.200 --> 00:10:52.560
|
| 205 |
+
más de cinco, vamos a poner otra vez un slip grande, y voy a ponerle un eco, y vamos a ponerle algo que diga hola
|
| 206 |
+
|
| 207 |
+
00:10:52.560 --> 00:11:02.565
|
| 208 |
+
nada más, ¿Listo? Esto se va a ejecutar. De hecho, ahí lo voy terminar porque se me olvidó enviarlo a al background, ahí ya lo
|
| 209 |
+
|
| 210 |
+
00:11:02.565 --> 00:11:10.780
|
| 211 |
+
estoy enviando. Si veo en jobs, se está ejecutando, muy bien. Ahora, lo que yo voy a hacer va ser con mi comando p s
|
| 212 |
+
|
| 213 |
+
00:11:10.780 --> 00:11:21.855
|
| 214 |
+
aux buscar el proceso sleep, esto ya lo sabemos hacer. ¿Para qué? Porque yo quiero encontrar el process ID, porque lo que yo voy a
|
| 215 |
+
|
| 216 |
+
00:11:21.855 --> 00:11:32.735
|
| 217 |
+
estar haciendo en esta ocasión va ser enseñarte a terminar este comando, el que acabamos de ejecutar, a través de un comando especial llamado kill.
|
| 218 |
+
|
| 219 |
+
00:11:33.210 --> 00:11:42.890
|
| 220 |
+
El comando kill nos permite terminar terminar cualquier proceso por su process ID, en el caso el de sleep es el mil trescientos treinta y
|
| 221 |
+
|
| 222 |
+
00:11:42.890 --> 00:11:49.475
|
| 223 |
+
dos, así que lo primero que debemos de ejecutar es el comando kill, debemos de pasarle a señal de término como lo viste en htop,
|
| 224 |
+
|
| 225 |
+
00:11:49.475 --> 00:12:00.410
|
| 226 |
+
que normalmente la opción más común es guion nueve, y luego el process ID. En este caso, vamos a pasar guion nueve, espacio y trece
|
| 227 |
+
|
| 228 |
+
00:12:00.490 --> 00:12:10.970
|
| 229 |
+
treinta y dos. Aquí terminamos, nos dice que acabamos de terminar ese proceso, y si por ejemplo ahora yo voy en jobs, no tengo absolutamente
|
| 230 |
+
|
| 231 |
+
00:12:10.970 --> 00:12:20.715
|
| 232 |
+
nada y con esto terminamos un proceso, incluso sin tener que interactuar con él. A lo largo de estas clases hemos explorado múltiples comandos que
|
| 233 |
+
|
| 234 |
+
00:12:20.715 --> 00:12:32.240
|
| 235 |
+
nos permiten interactuar con el sistema operativo, específicamente con un sistema operativo basado en Linux. Aunque este curso no se centra en sistemas operativos Linux,
|
| 236 |
+
|
| 237 |
+
00:12:32.400 --> 00:12:39.760
|
| 238 |
+
es muy útil que sepas cómo funcionan, qué son los procesos, cómo identificarlos, porque esto lo vas a estar viendo a lo largo de tu
|
| 239 |
+
|
| 240 |
+
00:12:39.760 --> 00:12:47.915
|
| 241 |
+
carrera, sobre todo si te en tecnología sin importar lo que hagas, ya sea si solo te dedicas a bases de datos, a infraestructura, a
|
| 242 |
+
|
| 243 |
+
00:12:47.915 --> 00:12:56.691
|
| 244 |
+
programación web, créeme que en algún momento te vas a enfrentar a este tipo comandos. Nos vemos en la siguiente clase para que aprendamos unos
|
| 245 |
+
|
| 246 |
+
00:12:56.691 --> 00:13:02.451
|
| 247 |
+
comandos que son útiles, sobre todo en ciertos casos, como lo es la comprensión de archivos.
|
| 248 |
+
|
terminal/2-Qué es una terminal y cómo funciona con comandos básicos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e40abbcd08d8aa8e1f89d1876fe25bac9a9dd39de9c52915d3bcd3b5272588f0
|
| 3 |
+
size 44566741
|
terminal/2-Qué es una terminal y cómo funciona con comandos básicos.sub.vtt
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.720 --> 00:00:08.240
|
| 4 |
+
¿Qué es una terminal? Esa es la gran pregunta que vamos a responder a lo largo del curso. Las terminales usualmente las solemos ver en
|
| 5 |
+
|
| 6 |
+
00:00:08.240 --> 00:00:17.715
|
| 7 |
+
películas de hackers, donde empiezan escribir código y cosas mágicas suelen pasar. Y aunque esto no está muy alejado de la realidad, una terminal realmente
|
| 8 |
+
|
| 9 |
+
00:00:17.715 --> 00:00:27.235
|
| 10 |
+
es una interfaz de usuario, en la cual nosotros vamos escribir una serie de comandos que nos van a permitir comunicarnos con el sistema operativo.
|
| 11 |
+
|
| 12 |
+
00:00:27.590 --> 00:00:36.550
|
| 13 |
+
Esa es la función de una terminal, realmente lo que hacemos es darle instrucciones a nuestra computadora a través de comandos. Sin embargo, las terminales
|
| 14 |
+
|
| 15 |
+
00:00:36.550 --> 00:00:46.415
|
| 16 |
+
pueden aparecer en varios lados, pueden aparecer en un programa, pueden aparecer en la web, simplemente pueden aparecer así, más, sin siquiera interfaz de usuario,
|
| 17 |
+
|
| 18 |
+
00:00:46.495 --> 00:00:58.200
|
| 19 |
+
o simplemente pueden aparecer incluso en nuestro celular si nosotros nos conectamos de una manera adecuada. Y para nosotros poder ejecutar una terminal, lo tenemos
|
| 20 |
+
|
| 21 |
+
00:00:58.200 --> 00:01:07.800
|
| 22 |
+
que hacer a través de un programa llamado shell. Realmente lo que va hacer la interpretación de todos estos comandos es la shell. La shell
|
| 23 |
+
|
| 24 |
+
00:01:07.800 --> 00:01:18.185
|
| 25 |
+
es un programa, normalmente es un compilado, que nos va a estar traduciendo todos los comandos que nosotros ejecutemos a las instrucciones que nuestro sistema
|
| 26 |
+
|
| 27 |
+
00:01:18.185 --> 00:01:30.150
|
| 28 |
+
operativo va estar entendiendo, como por ejemplo, crea un archivo, copia un archivo, elimina un archivo, Por ejemplo, también nos puede estar haciendo configuraciones de
|
| 29 |
+
|
| 30 |
+
00:01:30.150 --> 00:01:39.430
|
| 31 |
+
crea un proceso, en general lo que va estar haciendo van a ser diferentes tareas para poder interactuar con todas las acciones que nos permita
|
| 32 |
+
|
| 33 |
+
00:01:39.430 --> 00:01:50.135
|
| 34 |
+
nuestro sistema. La mayoría de shells se suelen ejecutar en sistemas Linux, sin embargo, también existen diferentes de shells, como por ejemplo, tanto para sistemas
|
| 35 |
+
|
| 36 |
+
00:01:50.135 --> 00:01:59.900
|
| 37 |
+
operativos Unix como para Windows. En mi caso, yo estoy usando un sistema operativo Windows y voy a estar enseñándote lo que es la PowerShell,
|
| 38 |
+
|
| 39 |
+
00:01:59.980 --> 00:02:08.605
|
| 40 |
+
pero nosotros a lo largo del curso vamos a estar usando lo que es la Shell a través de un sistema emulado llamado WSL. Pero
|
| 41 |
+
|
| 42 |
+
00:02:08.605 --> 00:02:16.045
|
| 43 |
+
lo primero que quiero que veas es lo que es la terminal y lo que es la Shell, así que acompáñame a la computadora para
|
| 44 |
+
|
| 45 |
+
00:02:16.045 --> 00:02:24.870
|
| 46 |
+
que veamos esta diferencia. Como te explicaba antes, las terminales aparecen en todas partes. Aquí en mi sistema Windows, si yo le doy en buscar
|
| 47 |
+
|
| 48 |
+
00:02:24.870 --> 00:02:37.875
|
| 49 |
+
y busco PowerShell, puedo encontrar mi primer terminal. Aquí vemos que esta es la terminal de PowerShell, y si por ejemplo yo ejecuto el comando
|
| 50 |
+
|
| 51 |
+
00:02:37.875 --> 00:02:46.675
|
| 52 |
+
dear, me va mostrar todos los directorios que yo tengo en mi sistema. Windows tiene su propia Shell, que es la de PowerShell, y tiene
|
| 53 |
+
|
| 54 |
+
00:02:46.675 --> 00:02:55.770
|
| 55 |
+
sus propios comandos, pero realmente no son tan utilizados a nivel global. La terminal o la Shell que se usa en todas partes es Bash,
|
| 56 |
+
|
| 57 |
+
00:02:55.770 --> 00:03:02.955
|
| 58 |
+
es la que vamos a estar usando en este curso, pero no deja o no quita que PowerShell no sea importante. En la mayoría de
|
| 59 |
+
|
| 60 |
+
00:03:02.955 --> 00:03:12.795
|
| 61 |
+
servidores Windows se usa este tipo de Shell. ¿Dónde podemos encontrar una terminal también? Por ejemplo, si yo me voy a mi Visual Studio Code,
|
| 62 |
+
|
| 63 |
+
00:03:13.130 --> 00:03:22.890
|
| 64 |
+
también aquí en la parte de terminal, yo puedo interactuar y puedo mostrar una serie de comandos, como por ejemplo, aquí puedo poner el comando
|
| 65 |
+
|
| 66 |
+
00:03:22.890 --> 00:03:33.675
|
| 67 |
+
dir de PowerShell, y como ves, único que hace es listarme todos los directorios que yo tengo en mi dispositivo. Si esta clase te pareció
|
| 68 |
+
|
| 69 |
+
00:03:33.675 --> 00:03:41.835
|
| 70 |
+
bastante sencilla, es porque así lo es. La terminal realmente no es complicada, no es una cosa del otro mundo o no se necesita ser
|
| 71 |
+
|
| 72 |
+
00:03:41.835 --> 00:03:51.490
|
| 73 |
+
un experto en tecnología para poder dominarla. Simplemente, y esto quiero que te quede muy claro a lo largo del curso, es ejecutar comandos para
|
| 74 |
+
|
| 75 |
+
00:03:51.490 --> 00:04:00.755
|
| 76 |
+
poder desarrollar una serie de instrucciones que nuestra computadora va hacer. Así que vamos a la siguiente clase para que te enseñe a instalar lo
|
| 77 |
+
|
| 78 |
+
00:04:00.755 --> 00:04:04.995
|
| 79 |
+
que es la bash shell en Windows a través de WSL.
|
| 80 |
+
|
terminal/20-Empaquetado y compresión de archivos con TAR y GZIP en Linux.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ef053f3f7279c8d0660069d89060760c84442c761308cb806f0821eaab178d1e
|
| 3 |
+
size 56133976
|
terminal/20-Empaquetado y compresión de archivos con TAR y GZIP en Linux.sub.vtt
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.720 --> 00:00:09.600
|
| 4 |
+
En esta clase veremos el manejo de archivos, pero de una forma diferente, y es que aunque ya sabemos crearlos, manejarlos, eliminarlos, copiarlos y hacer
|
| 5 |
+
|
| 6 |
+
00:00:09.600 --> 00:00:19.895
|
| 7 |
+
básicamente casi cualquier operación con ellos, algo que no sabemos hacer es, comprimirlos y empaquetarlos. ¿Cuál es la diferencia entre cada uno de estos procesos?
|
| 8 |
+
|
| 9 |
+
00:00:19.975 --> 00:00:30.055
|
| 10 |
+
Cuando nosotros empaquetamos una serie de archivos, es decir que, por ejemplo, agarramos un archivo de texto, una imagen, un video, y nosotros los ponemos
|
| 11 |
+
|
| 12 |
+
00:00:30.055 --> 00:00:38.930
|
| 13 |
+
en una especie de paquete. Esto el sistema operativo lo va a considerar un único archivo. Esto es muy útil cuando nosotros queremos enviar grandes
|
| 14 |
+
|
| 15 |
+
00:00:38.930 --> 00:00:49.595
|
| 16 |
+
volúmenes de información en un único archivo, como por ejemplo, cuando tú descargas un archivo punto zip desde el navegador, ese es un archivo empaquetado.
|
| 17 |
+
|
| 18 |
+
00:00:49.595 --> 00:00:59.370
|
| 19 |
+
Sin embargo, en Linux y en general en la terminal, empaquetador más común es el empaquetador TAR. Y si nosotros queremos comprimir un archivo, es
|
| 20 |
+
|
| 21 |
+
00:00:59.370 --> 00:01:11.335
|
| 22 |
+
un proceso diferente. Comprimir significa que nosotros vamos intentar bajar la redundancia de datos en un archivo, esto en español básicamente significa bajar el tamaño
|
| 23 |
+
|
| 24 |
+
00:01:11.335 --> 00:01:21.735
|
| 25 |
+
del archivo, hacerlo mucho más pequeño, y para ello el compresor más común que nosotros solemos utilizar en la terminal es gzip, o el algoritmo
|
| 26 |
+
|
| 27 |
+
00:01:21.735 --> 00:01:30.980
|
| 28 |
+
gzip. Así que vamos en la terminal para ejecutar cada uno de estos comandos. Ya nos encontramos en nuestra terminal y lo que vamos a
|
| 29 |
+
|
| 30 |
+
00:01:30.980 --> 00:01:41.535
|
| 31 |
+
hacer en esta clase es, aquí voy a listar mi carpeta de textos que ya hemos estado utilizando a lo largo del curso, y nosotros
|
| 32 |
+
|
| 33 |
+
00:01:41.535 --> 00:01:51.740
|
| 34 |
+
podemos ver que el tamaño de este archivo de cien datos curiosos sobre Linux y el de la Marvel Wiki, pues pesa, por lo menos
|
| 35 |
+
|
| 36 |
+
00:01:51.740 --> 00:02:00.940
|
| 37 |
+
este, dos punto tres megabytes y este seis punto un kilobytes. Un dato curioso es que todo lo que vayan a ser carpetas, normalmente el
|
| 38 |
+
|
| 39 |
+
00:02:00.940 --> 00:02:12.255
|
| 40 |
+
sistema de archivos siempre te lo va marcar como cuatro kilobytes. Ahora, si yo quiero, por ejemplo, esta carpeta de textos crearla como si fuera
|
| 41 |
+
|
| 42 |
+
00:02:12.255 --> 00:02:21.520
|
| 43 |
+
un archivo, lo que tengo que hacer es empaquetarla. ¿Y cómo lo voy a hacer? Pues lo voy a hacer con el comando tar. Para
|
| 44 |
+
|
| 45 |
+
00:02:21.520 --> 00:02:30.880
|
| 46 |
+
ello vamos a entrar a su manual de usuario. Aquí le voy a dar enter y aquí nos muestra las diferentes opciones. Las principales que
|
| 47 |
+
|
| 48 |
+
00:02:30.880 --> 00:02:39.095
|
| 49 |
+
debemos de tener en cuenta es la c de crear y también nos puede presentar múltiples flags que nosotros podemos estar viendo, de hecho, estas
|
| 50 |
+
|
| 51 |
+
00:02:39.095 --> 00:02:47.370
|
| 52 |
+
es las más comunes, que nos permite crear, ver el proceso e incluso crearlo como un archivo y aquí nos dice cómo lo vamos a
|
| 53 |
+
|
| 54 |
+
00:02:47.370 --> 00:02:54.730
|
| 55 |
+
estar haciendo. El argumento es bastante sencillo, ejecutamos el comando, le pasamos las opciones que es crear, que nos muestra el proceso y que va
|
| 56 |
+
|
| 57 |
+
00:02:54.730 --> 00:03:01.875
|
| 58 |
+
ser un archivo lo que vamos a estar creando, este va a ser el nombre de nuestro archivo, pues ya empaquetado, y este, pues lo
|
| 59 |
+
|
| 60 |
+
00:03:01.875 --> 00:03:12.355
|
| 61 |
+
que estamos tratando de empaquetar. En nuestro caso, siempre va ser una carpeta, o normalmente se suele apuntar a una carpeta. Aquí voy cerrar esto
|
| 62 |
+
|
| 63 |
+
00:03:12.355 --> 00:03:23.450
|
| 64 |
+
y voy a hacer un l s. Bien, ahora voy a empaquetar mi carpeta de textos, esto es bastante sencillo. La opción usualmente es guion
|
| 65 |
+
|
| 66 |
+
00:03:23.450 --> 00:03:38.145
|
| 67 |
+
CVFY vamos a decirle que vamos a crear un archivo llamado textos punto TAR, esta es la extensión de empaquetado y de nuestra carpeta textos.
|
| 68 |
+
|
| 69 |
+
00:03:39.585 --> 00:03:49.260
|
| 70 |
+
Listo, lo vamos a crear, aquí nos muestra el progreso de qué es lo que está empaquetando, y si yo hago ll, aquí vemos un
|
| 71 |
+
|
| 72 |
+
00:03:49.260 --> 00:03:58.860
|
| 73 |
+
archivo punto tar empaquetado. Normalmente, cuando nosotros tenemos un archivo de empaquetado en la terminal y tenemos los colores activados de la terminal, nos lo
|
| 74 |
+
|
| 75 |
+
00:03:58.860 --> 00:04:12.275
|
| 76 |
+
va mostrar con rojo. Ahora, si yo quiero ver esto, digamos, el tamaño exacto, nos dice que tiene dos punto cuatro megabytes aproximadamente, que pues
|
| 77 |
+
|
| 78 |
+
00:04:12.275 --> 00:04:22.020
|
| 79 |
+
sí, sería más o menos la suma de nuestros dos archivos, pero esto significa que nuestro archivo todavía no está comprimido. Voy a limpiar pantalla
|
| 80 |
+
|
| 81 |
+
00:04:22.020 --> 00:04:30.500
|
| 82 |
+
y lo siguiente que vamos a hacer va ser comprimir ese archivo. Para poder comprimir un archivo es tan sencillo como ejecutar el comando gzip
|
| 83 |
+
|
| 84 |
+
00:04:30.625 --> 00:04:43.265
|
| 85 |
+
y decir qué archivo nosotros queremos comprimir. En nuestro caso va ser el textos punto tar. Vamos a comprimir, vamos a hacer un ll, y
|
| 86 |
+
|
| 87 |
+
00:04:43.265 --> 00:04:56.010
|
| 88 |
+
aquí lo hace sobre el mismo archivo, y si nosotros vamos a limpiar pantalla, hacemos un ll guion h, fíjate cómo este archivo de que
|
| 89 |
+
|
| 90 |
+
00:04:56.010 --> 00:05:07.285
|
| 91 |
+
pesaba aproximadamente dos punto cuatro megabytes pasó a tan solo, pues menos de medio megabyte. Es así de sencillo comprimir un archivo desde la terminal.
|
| 92 |
+
|
| 93 |
+
00:05:07.445 --> 00:05:16.760
|
| 94 |
+
Sin embargo, ya tenemos nuestro archivo, pues mucho más reducido, mucho más pequeño, hay que hacer el proceso inverso, es decir, cuando ya tenemos un
|
| 95 |
+
|
| 96 |
+
00:05:16.760 --> 00:05:25.160
|
| 97 |
+
archivo que normalmente lo vas a encontrar como punto tar punto gzip, lo primero que tenemos que hacer es descomprimirlo y luego desempaquetarlo, son dos
|
| 98 |
+
|
| 99 |
+
00:05:25.160 --> 00:05:38.455
|
| 100 |
+
procesos diferentes. Para ello, hacemos el comando goonship y vamos a decir qué archivo queremos descomprimir. En este caso es textos punto tar punto g
|
| 101 |
+
|
| 102 |
+
00:05:38.455 --> 00:05:50.650
|
| 103 |
+
z, lo acabamos de descomprimir, lo regresamos a como estaba originalmente, voy a hacer un clear y vamos a ver el tamaño y nos damos
|
| 104 |
+
|
| 105 |
+
00:05:50.650 --> 00:06:00.715
|
| 106 |
+
cuenta que acaba de regresar. Ahora, lo siguiente que vamos a hacer va ser que con el comando TAR vamos a a desempaquetarlo con la
|
| 107 |
+
|
| 108 |
+
00:06:00.715 --> 00:06:11.080
|
| 109 |
+
opción x, que es de extracción. Ahora, que voy a hacer para poder desempaquetar mis textos antes de, pues, desempaquetarlos va ser eliminar mi carpeta
|
| 110 |
+
|
| 111 |
+
00:06:11.080 --> 00:06:19.880
|
| 112 |
+
anterior de textos, porque si no van a colisionar, pues, estas carpetas al momento de desempaquetarlas, voy a hacer un remove guion r f de
|
| 113 |
+
|
| 114 |
+
00:06:19.880 --> 00:06:29.745
|
| 115 |
+
mis textos, y ahora sí voy a hacer mi desempaquetado. ¿Cómo lo voy a hacer? Voy a hacer untar menos XVF, que son las opciones,
|
| 116 |
+
|
| 117 |
+
00:06:29.745 --> 00:06:42.030
|
| 118 |
+
sobre todo la x es de extraer, y voy a hacer la selección de mi archivo que sería textos punto TAR. Voy a desempaquetar, aquí
|
| 119 |
+
|
| 120 |
+
00:06:42.030 --> 00:06:53.695
|
| 121 |
+
ya me lo creo, de hecho, con textos, muy bien, y si yo me meto a esta carpeta, vamos a ver cómo están todos mis
|
| 122 |
+
|
| 123 |
+
00:06:53.695 --> 00:07:02.415
|
| 124 |
+
archivos. Lo que quiero que entiendas principalmente de esta clase es que tanto el proceso de empaquetado y desempaquetado y de compresión y de descompresión
|
| 125 |
+
|
| 126 |
+
00:07:02.840 --> 00:07:14.440
|
| 127 |
+
son dos procesos completamente diferentes. Tú puedes tener archivos empaquetados y no completamente comprimidos, y puedes tener archivos comprimidos, pero no necesariamente empaquetados. Tart nos
|
| 128 |
+
|
| 129 |
+
00:07:14.440 --> 00:07:23.525
|
| 130 |
+
ofrece una opción, que es una tercera opción, donde tú puedes agregar la opción z, es decir, puedes hacer una XZVFY eso lo que te
|
| 131 |
+
|
| 132 |
+
00:07:23.525 --> 00:07:30.770
|
| 133 |
+
va a permitir va ser desempaquetar, incluso si, pues tú ya tienes tu archivo comprimido. Sin embargo, yo te lo quise enseñar con la opción
|
| 134 |
+
|
| 135 |
+
00:07:30.770 --> 00:07:37.970
|
| 136 |
+
de Gounzip para que el proceso fuera un poco más limpio y claro. Cuéntame en los comentarios si te quedó alguna duda y nos vemos
|
| 137 |
+
|
| 138 |
+
00:07:37.970 --> 00:07:39.250
|
| 139 |
+
en la siguiente clase.
|
| 140 |
+
|
terminal/21-Editores de texto Vim y Nano en la terminal.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8944ab0b7b8cc681e3476d55d512263f54e9826774511da6ca69ccd0973a461a
|
| 3 |
+
size 51470602
|
terminal/21-Editores de texto Vim y Nano en la terminal.sub.vtt
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.720 --> 00:00:08.160
|
| 4 |
+
En esta clase veremos una de las herramientas más poderosas que podemos tener en la terminal, que son los editores de texto. Sí, aunque no
|
| 5 |
+
|
| 6 |
+
00:00:08.160 --> 00:00:16.255
|
| 7 |
+
lo creas, podemos tener un bloc de notas directamente en la terminal. De hecho, existen varios, y en esta clase exploraremos los dos que se
|
| 8 |
+
|
| 9 |
+
00:00:16.255 --> 00:00:25.215
|
| 10 |
+
usan principalmente en la terminal, lo que es BIM y lo que es nano. Acompáñame para que podamos ver cómo se usan juntos. Nos encontramos
|
| 11 |
+
|
| 12 |
+
00:00:25.215 --> 00:00:33.050
|
| 13 |
+
aquí en la terminal, y lo primero que te voy a enseñar va ser a crear un archivo, lo vamos a hacer con touch, por
|
| 14 |
+
|
| 15 |
+
00:00:33.050 --> 00:00:43.695
|
| 16 |
+
ejemplo, blog punto markdown. Vamos a crear este archivo y lo vamos a ver con un editor en la terminal. La mayoría de editores ya
|
| 17 |
+
|
| 18 |
+
00:00:43.695 --> 00:00:52.895
|
| 19 |
+
vienen preinstalados en la mayoría de distribuciones y el primero de ellos va ser Para ello simplemente vamos ejecutar el comando BIM y vamos a
|
| 20 |
+
|
| 21 |
+
00:00:52.895 --> 00:01:06.100
|
| 22 |
+
seleccionar el archivo de texto que queremos empezar a editar o modificar. Para ello, vamos a seleccionar nuestro archivo que tenemos aquí llamado blog. Perfecto,
|
| 23 |
+
|
| 24 |
+
00:01:06.100 --> 00:01:15.865
|
| 25 |
+
con esto podemos observar que ya tenemos nuestro archivo punto blog md abierto, de hecho nos dice cuántas líneas tiene, cuántos bytes y en sí
|
| 26 |
+
|
| 27 |
+
00:01:15.865 --> 00:01:23.465
|
| 28 |
+
qué cosas podemos realizar con este archivo. La interfaz de puede ser un poco confusa, no te preocupes, de hecho hay un chiste muy recurrente
|
| 29 |
+
|
| 30 |
+
00:01:23.465 --> 00:01:29.520
|
| 31 |
+
de que para reiniciar o salir de BIM hay que apagar la computadora, pero esa es la primera cosa que te voy a enseñar a
|
| 32 |
+
|
| 33 |
+
00:01:29.520 --> 00:01:37.120
|
| 34 |
+
a hacer en en esta clase y es a salir de BIM. ¿Cómo lo vamos a hacer? Simplemente nos vamos a ubicar en el editor,
|
| 35 |
+
|
| 36 |
+
00:01:37.200 --> 00:01:47.295
|
| 37 |
+
vamos a dar clic en la tecla esc, vamos a dar dos puntos, o vamos a, en mi caso sería shift y la tecla de
|
| 38 |
+
|
| 39 |
+
00:01:47.295 --> 00:01:55.970
|
| 40 |
+
dos puntos, y vamos a seleccionar la opción q. Esto que ves aquí abajito, aunque no se vea estos dos puntos, es una mini línea
|
| 41 |
+
|
| 42 |
+
00:01:55.970 --> 00:02:05.650
|
| 43 |
+
de comando que tienen la mayoría de editores de texto en en la terminal, específicamente BIM. Aquí podemos poner diferentes letras y comandos que nos
|
| 44 |
+
|
| 45 |
+
00:02:05.650 --> 00:02:17.695
|
| 46 |
+
van a permitir ejecutar acciones. Si nosotros ponemos dos puntos q, lo que nos va estar diciendo este comando es que vamos salir de Ahora,
|
| 47 |
+
|
| 48 |
+
00:02:17.935 --> 00:02:25.910
|
| 49 |
+
voy a volver a abrirlo, vamos a notar que no tiene nada, y para poder escribir dentro de BIM, vamos a tener dos modos usualmente
|
| 50 |
+
|
| 51 |
+
00:02:25.910 --> 00:02:33.030
|
| 52 |
+
en BIM, uno que es el modo como de lectura que vamos a estar viendo, y el otro es el de interacción. El modo de
|
| 53 |
+
|
| 54 |
+
00:02:33.030 --> 00:02:44.325
|
| 55 |
+
interacción lo vamos activar simplemente presionando la tecla I, aquí de hecho ya aparece como insert, y aquí ya vamos a poder estar escribiendo cosas,
|
| 56 |
+
|
| 57 |
+
00:02:44.325 --> 00:02:56.980
|
| 58 |
+
por ejemplo, aquí voy escribir mi título, y aquí simplemente voy a estar escribiendo múltiples líneas al azar para enseñarte cómo funciona esto. Ahora, aquí
|
| 59 |
+
|
| 60 |
+
00:02:56.980 --> 00:03:08.335
|
| 61 |
+
voy escribir una línea muy importante. Y si yo quiero salir del modo inserción que tenemos aquí, voy a presionar la tecla esc, así es
|
| 62 |
+
|
| 63 |
+
00:03:08.335 --> 00:03:17.455
|
| 64 |
+
como nosotros podemos estar cambiando de modos. Si yo quiero volver en a entrar en ese modo, a presionar la tecla I, me voy a
|
| 65 |
+
|
| 66 |
+
00:03:17.455 --> 00:03:25.840
|
| 67 |
+
salir de este modo y ahora, si yo quiero activar algún comando que en este caso el que yo quiero es el de guardar, simplemente
|
| 68 |
+
|
| 69 |
+
00:03:26.000 --> 00:03:34.560
|
| 70 |
+
voy a presionar doble u, y con esto yo ya le estoy indicando que voy a guardar, pero ojo, todavía no se ha guardado, tengo
|
| 71 |
+
|
| 72 |
+
00:03:34.560 --> 00:03:45.575
|
| 73 |
+
que darle enter y aquí nos acaba de decir, ok, el archivo block m d se ha guardado, pues, esta información. Nosotros podemos dar clic
|
| 74 |
+
|
| 75 |
+
00:03:45.575 --> 00:03:57.930
|
| 76 |
+
aquí y podemos navegar con nuestras flechas directamente sobre nuestro archivo. Ahora, ¿qué podemos hacer nosotros? Y algo que tiene BIM, y si lo aprendes
|
| 77 |
+
|
| 78 |
+
00:03:57.930 --> 00:04:07.075
|
| 79 |
+
a usar bien, es que tiene muchos atajos de teclado que nosotros podemos ejecutar. Por ejemplo, de mis favoritos es que sin necesidad de hacer
|
| 80 |
+
|
| 81 |
+
00:04:07.075 --> 00:04:18.600
|
| 82 |
+
insert, por ejemplo, si queremos borrar toda la línea, presionamos dos veces d, una, dos, y con esto vamos a borrar la línea en la
|
| 83 |
+
|
| 84 |
+
00:04:18.600 --> 00:04:30.905
|
| 85 |
+
que estemos posicionados actualmente. Por ejemplo, si queremos ir al inicio del archivo, simplemente vamos a presionar dos veces la tecla g, y con eso
|
| 86 |
+
|
| 87 |
+
00:04:30.905 --> 00:04:39.065
|
| 88 |
+
nos fuimos al inicio del archivo. Aquí tenemos una, dos, tres, cuatro, cinco, seis, siete líneas. Por ejemplo, si queremos irnos a la línea número
|
| 89 |
+
|
| 90 |
+
00:04:39.065 --> 00:04:48.720
|
| 91 |
+
cuatro, vamos a presionar dos puntos y vamos a ir a la línea cuatro. Aquí lo damos y nos va llevar directamente a esta línea.
|
| 92 |
+
|
| 93 |
+
00:04:48.720 --> 00:04:54.960
|
| 94 |
+
Esto es muy útil, por ejemplo, si tú estás programando y te dice tienes un error en la línea sesenta y dos, pues vas directamente
|
| 95 |
+
|
| 96 |
+
00:04:54.960 --> 00:05:05.375
|
| 97 |
+
a la línea sesenta y dos. Ahora, si tú quieres guardar y salir, simplemente lo puedes hacer con la combinación de estos comandos, que es
|
| 98 |
+
|
| 99 |
+
00:05:05.375 --> 00:05:15.560
|
| 100 |
+
w de write y q de quit. Otra opción, y esto es algo que se suele usar mucho, es que, por ejemplo, si yo quiero
|
| 101 |
+
|
| 102 |
+
00:05:15.800 --> 00:05:25.240
|
| 103 |
+
salirme forzando esta salida, lo voy a hacer con el signo de exclamación, es decir, que sin importar qué esté pasando, mientras tenga los permisos
|
| 104 |
+
|
| 105 |
+
00:05:25.240 --> 00:05:38.815
|
| 106 |
+
necesarios para hacerlo, pues me voy salir. Ahora, por ejemplo, nosotros que estamos en WSL, existe un archivo está en ETC llamado WSL punto conf.
|
| 107 |
+
|
| 108 |
+
00:05:38.815 --> 00:05:46.730
|
| 109 |
+
Este es un archivo de configuración, no vamos escribir nada raro ahí, pero te quiero mostrar algo. ¿Qué pasaría si nosotros intentamos escribir ahí con
|
| 110 |
+
|
| 111 |
+
00:05:46.730 --> 00:05:56.810
|
| 112 |
+
un editor de texto como BIM? Por ejemplo, yo tengo esta configuración comentada, voy a hacer un insert, voy a navegar a esta, lo voy
|
| 113 |
+
|
| 114 |
+
00:05:56.810 --> 00:06:05.105
|
| 115 |
+
a descomentar, en mi caso, o tú puedes escribir lo que quieras, y lo que vas a intentar va ser darle escape, vamos a dar
|
| 116 |
+
|
| 117 |
+
00:06:05.105 --> 00:06:15.200
|
| 118 |
+
dos puntos y vamos a intentar guardar y salir, ¿ok? Aquí nos dice, oye, solo tienes los permisos de lectura, ¿por qué? Porque dado que
|
| 119 |
+
|
| 120 |
+
00:06:15.200 --> 00:06:24.320
|
| 121 |
+
es un archivo de configuración del sistema, únicamente un administrador o un súper usuario lo va a poder modificar. En nuestro caso, pues simplemente nos
|
| 122 |
+
|
| 123 |
+
00:06:24.320 --> 00:06:33.015
|
| 124 |
+
queda la opción de salir, y, de hecho, tenemos que forzar la salida y si intentamos ver de nuevo este archivo, nos vamos a dar
|
| 125 |
+
|
| 126 |
+
00:06:33.015 --> 00:06:40.890
|
| 127 |
+
cuenta que nuestra configuración no se realizó, lo cual está bien, dado que no tenemos los permisos necesarios. Me voy a salir de mi archivo
|
| 128 |
+
|
| 129 |
+
00:06:40.890 --> 00:06:48.650
|
| 130 |
+
y lo siguiente que vamos a hacer va ser limpiar pantalla y vamos a ver lo que es el siguiente editor de código que es
|
| 131 |
+
|
| 132 |
+
00:06:48.650 --> 00:07:00.645
|
| 133 |
+
nano. Para abrir nano es igual de sencillo, simplemente vamos a hacer nano y vamos a abrir nuestro archivo blog punto MDY este es un
|
| 134 |
+
|
| 135 |
+
00:07:00.645 --> 00:07:14.210
|
| 136 |
+
editor completamente diferente. Si lo notas, aquí nos dice cómo podemos nosotros, pues ejecutar alguna de estas opciones. Si te preguntas cuál es esta opción
|
| 137 |
+
|
| 138 |
+
00:07:14.210 --> 00:07:23.885
|
| 139 |
+
de como prefijo, de hecho es el símbolo, el prefijo que nosotros vamos a estar utilizando es la tecla control directamente. Así que, por ejemplo,
|
| 140 |
+
|
| 141 |
+
00:07:23.885 --> 00:07:34.765
|
| 142 |
+
si nosotros queremos guardar dentro de nuestro archivo, nos dice que lo vamos a hacer con la tecla control y luego o, así que vamos
|
| 143 |
+
|
| 144 |
+
00:07:34.685 --> 00:07:47.880
|
| 145 |
+
hacerlo, por ejemplo, vamos escribir en nuestro archivo mi título, aquí algo, y vamos a hacerlo con control o, y aquí dice file name to
|
| 146 |
+
|
| 147 |
+
00:07:47.880 --> 00:08:01.545
|
| 148 |
+
write directamente, blog punto MDY acaba de sobreescribir directamente nuestro archivo. Si nosotros queremos salirnos, vamos a hacer control x, nos acabamos de salir, si
|
| 149 |
+
|
| 150 |
+
00:08:01.545 --> 00:08:09.920
|
| 151 |
+
hacemos cat de nuestro blog punto m d, vamos a ver que dice mi título algo, que fue lo que intentamos guardar, y si vemos
|
| 152 |
+
|
| 153 |
+
00:08:09.920 --> 00:08:19.520
|
| 154 |
+
en nano, realmente es como mucho más fácil de utilizar desde mi punto de vista. Por ejemplo, si nos encontramos aquí, yo puedo hacer shift,
|
| 155 |
+
|
| 156 |
+
00:08:19.825 --> 00:08:31.585
|
| 157 |
+
seleccionar todo este texto, voy usar mi prefijo control k para cortar, y luego me voy a acercar a mi última línea, y voy a
|
| 158 |
+
|
| 159 |
+
00:08:31.585 --> 00:08:43.090
|
| 160 |
+
usar el que es para pegar, que en este caso sería control, aquí es, vamos a aquí, sería control u, y con esto ya pegamos
|
| 161 |
+
|
| 162 |
+
00:08:43.250 --> 00:08:52.485
|
| 163 |
+
esta línea. Incluso podemos justificar, podemos tener varias opciones, si quieres saber todas las opciones que tiene Nano, que realmente se me hace el más
|
| 164 |
+
|
| 165 |
+
00:08:52.485 --> 00:09:03.285
|
| 166 |
+
user friendly, puedes usar simplemente control d y aquí vas tener todas las opciones de Nano a explorar, en mi caso le voy a dar
|
| 167 |
+
|
| 168 |
+
00:09:02.940 --> 00:09:12.220
|
| 169 |
+
esc, ah bueno, no es BIM, para poder cerrar esta parte hay que hacer control x, ¿no? Vamos guardar estos cambios, siempre nos va estar
|
| 170 |
+
|
| 171 |
+
00:09:12.220 --> 00:09:22.305
|
| 172 |
+
preguntando el nombre de nuestro archivo, le vamos a dar block md, así directamente con enter y nos vamos salir con control x. Aunque estos
|
| 173 |
+
|
| 174 |
+
00:09:22.305 --> 00:09:32.865
|
| 175 |
+
editores de código, de texto, puedan parecer muy rudimentarios, hay personas que todavía programan con ellos, y es porque nosotros vimos lo que es nano
|
| 176 |
+
|
| 177 |
+
00:09:32.865 --> 00:09:42.380
|
| 178 |
+
y BIM. Existe una versión todavía anterior a BIM llamada BIM, de hecho BIM significa buy moderno o BIM moderno. Y existe una versión todavía
|
| 179 |
+
|
| 180 |
+
00:09:42.380 --> 00:09:51.845
|
| 181 |
+
más nueva llamada Neo BIM. Realmente es un editor de texto muy apoyado, querido y odiado por muchos, pero la realidad es que es un
|
| 182 |
+
|
| 183 |
+
00:09:51.845 --> 00:10:00.965
|
| 184 |
+
cambio fundamental en la forma en la cual nosotros interactuamos con nuestra terminal. Hay personas que le agregan plugins, colores, temas, de hecho, te invito
|
| 185 |
+
|
| 186 |
+
00:10:00.965 --> 00:10:08.650
|
| 187 |
+
a que si tienes curiosidad de cómo tunear tu editor de código lo hagas, hay muchos foros donde explican cómo hacerlo, y sobre todo, si
|
| 188 |
+
|
| 189 |
+
00:10:08.650 --> 00:10:16.646
|
| 190 |
+
te animas a codificar en él, pues hazlo. Realmente es algo a lo cual le vas dedicar mucho tiempo, pero es bastante rápido. Te veo
|
| 191 |
+
|
| 192 |
+
00:10:16.646 --> 00:10:20.886
|
| 193 |
+
en la siguiente clase para que sigamos aprendiendo más acerca de algunos comandos.
|
| 194 |
+
|
terminal/22-Tmux para gestionar múltiples terminales y paneles.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9aa20b6a28623d353fc80eb7bfa93c8991ef7d8e6e04f2c74fc64346ad60fa25
|
| 3 |
+
size 57091319
|
terminal/22-Tmux para gestionar múltiples terminales y paneles.sub.vtt
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.640 --> 00:00:09.440
|
| 4 |
+
En esta clase te enseñaré abrir múltiples terminales, y es que a lo largo del curso hemos estado trabajando con una única ventanita, pero existe
|
| 5 |
+
|
| 6 |
+
00:00:09.440 --> 00:00:19.055
|
| 7 |
+
un comando muy especial llamado Tmux, que nos va a permitir abrir múltiples paneles en una sola terminal. Acompáñame a ver cómo es que esto
|
| 8 |
+
|
| 9 |
+
00:00:19.055 --> 00:00:30.120
|
| 10 |
+
funciona. Lo primero que necesitamos hacer va ser instalar nuestro comando, eso lo vamos a con sudo apt install Tmux. En mi caso, pues, está
|
| 11 |
+
|
| 12 |
+
00:00:30.120 --> 00:00:37.320
|
| 13 |
+
instalado por defecto en mi sistema. Recuerda que si estás usando Mac, vas a tener que usar Homebrew, y lo que vamos a hacer va
|
| 14 |
+
|
| 15 |
+
00:00:37.320 --> 00:00:49.105
|
| 16 |
+
ser usar Tmux, aquí está, ¿listo? Y tal vez tú digas, bueno, no está sucediendo absolutamente nada, solamente se ve aquí como una ventanita extra
|
| 17 |
+
|
| 18 |
+
00:00:49.105 --> 00:00:59.330
|
| 19 |
+
y rara, pero la realidad es que esto nos va permitir abrir múltiples terminales. Por ejemplo, yo voy a abrir aquí directamente el comando top,
|
| 20 |
+
|
| 21 |
+
00:00:59.330 --> 00:01:09.565
|
| 22 |
+
que me va mostrar muchísimo texto. Sin embargo, si yo presiono, por ejemplo, la tecla, y esto le vamos a llamar prefijo en Tmux, control
|
| 23 |
+
|
| 24 |
+
00:01:09.565 --> 00:01:19.405
|
| 25 |
+
v, lo suelto, y luego voy a hacer la combinación de teclas shift, y la tecla cinco, que en este caso es para poner el
|
| 26 |
+
|
| 27 |
+
00:01:19.405 --> 00:01:28.900
|
| 28 |
+
símbolo de división, me va hacer abrir un panel lateral, y esto es lo que hace Tmux o es la magia de Tmux, y es
|
| 29 |
+
|
| 30 |
+
00:01:28.900 --> 00:01:41.885
|
| 31 |
+
que me va permitir abrir múltiples ventanas y pestañas directamente en una sola terminal. Ahora, por ejemplo, aquí yo puedo estar escribiendo otro comando, puedo
|
| 32 |
+
|
| 33 |
+
00:01:41.885 --> 00:01:51.005
|
| 34 |
+
estar haciendo un listado del sistema, puedo hacer muchas cosas y todavía puedo hacer un split de otra terminal. A estos, digamos, pequeños cuadritos que
|
| 35 |
+
|
| 36 |
+
00:01:51.005 --> 00:01:59.400
|
| 37 |
+
aparecen aquí, lo como los llama Tmux, se les conoce como paneles. Si yo quiero cerrar un panel, simplemente lo puedo hacer con el comando
|
| 38 |
+
|
| 39 |
+
00:01:59.400 --> 00:02:08.695
|
| 40 |
+
exit de salida, de hecho, cierra la mayoría de sesiones en una terminal, o lo puedo hacer también con la combinación de teclas control d.
|
| 41 |
+
|
| 42 |
+
00:02:08.775 --> 00:02:16.535
|
| 43 |
+
Lo importante, que es lo que necesito que entiendas, es que Tmux funciona a través del prefijo, que es una combinación de teclas específicas que
|
| 44 |
+
|
| 45 |
+
00:02:16.535 --> 00:02:25.910
|
| 46 |
+
normalmente suelen estar configuradas en el caso tanto de Linux, Macs y Windows, como la combinación de control, la tecla B, la vamos a soltar
|
| 47 |
+
|
| 48 |
+
00:02:25.910 --> 00:02:35.985
|
| 49 |
+
y luego vamos a usar una serie de comandos. Para hacer un split de manera vertical, tenemos que poner el símbolo división o el símbolo
|
| 50 |
+
|
| 51 |
+
00:02:35.985 --> 00:02:44.305
|
| 52 |
+
de módulo, y eso en mi mi caso en el teclado lo hago con shift y cinco, ¿vale? Por ejemplo, si queremos hacer un split
|
| 53 |
+
|
| 54 |
+
00:02:44.305 --> 00:02:54.470
|
| 55 |
+
de panel horizontal, lo vamos a hacer con control b, que esto sería mi prefijo, y lo voy a con comillas. Y esto lo voy
|
| 56 |
+
|
| 57 |
+
00:02:54.390 --> 00:03:02.230
|
| 58 |
+
hacer con shift y la de comillas, y ahí está directamente. Con el símbolo de comillas, y para que te quede claro, los voy escribir
|
| 59 |
+
|
| 60 |
+
00:03:02.230 --> 00:03:15.975
|
| 61 |
+
aquí directamente, vamos hacerlo así. Este sería el de comillas y este sería el signo división, ¿bien? Algo que debes de tener también en cuenta
|
| 62 |
+
|
| 63 |
+
00:03:15.530 --> 00:03:24.330
|
| 64 |
+
es que nosotros podemos cambiar de paneles. O sea, ejemplo, aquí yo digo, estamos acostumbrados a trabajar con una interfaz, pero posiblemente en un servidor
|
| 65 |
+
|
| 66 |
+
00:03:24.330 --> 00:03:31.715
|
| 67 |
+
remoto no vayamos a tener esa interfaz. Ahora, si yo le doy, por ejemplo, clic aquí, a clic, aquí, pues no hago nada, no me
|
| 68 |
+
|
| 69 |
+
00:03:31.715 --> 00:03:40.595
|
| 70 |
+
puedo mover, estoy atrapado, digamos, en este panel. Ahora, para poder moverme de panel, voy a presionar mi prefijo, que es control v, y me
|
| 71 |
+
|
| 72 |
+
00:03:40.595 --> 00:03:50.080
|
| 73 |
+
voy a estar moviendo con las teclas, ¿vale? Así me voy estar moviendo y con esto voy a estar seleccionando. Por ejemplo, aquí ya estoy
|
| 74 |
+
|
| 75 |
+
00:03:50.080 --> 00:03:59.840
|
| 76 |
+
en el panel de lo que sería top, ¿no? Lo voy a cerrar con control d, o incluso voy a parar ese proceso con control
|
| 77 |
+
|
| 78 |
+
00:03:59.840 --> 00:04:10.415
|
| 79 |
+
con control c, voy a borrar y ya tengo mis paneles. Algo que también me permite, de hecho, aquí voy hacer unos pequeños ecos, ¿no?
|
| 80 |
+
|
| 81 |
+
00:04:10.895 --> 00:04:18.610
|
| 82 |
+
Le voy a poner, por ejemplo, panel uno para que los tengamos bien mapeados, voy a hacer mi prefijo con control v, me voy a
|
| 83 |
+
|
| 84 |
+
00:04:18.610 --> 00:04:32.555
|
| 85 |
+
mover a este panel, y aquí le voy poner eco panel tres, ¿vale? Voy a hacer un control v, me voy a a este panel,
|
| 86 |
+
|
| 87 |
+
00:04:32.555 --> 00:04:42.830
|
| 88 |
+
lo hago simplemente con las flechas de mi teclado, y aquí voy a hacer un eco panel dos. Esto que tenemos aquí nosotros le conocemos
|
| 89 |
+
|
| 90 |
+
00:04:42.830 --> 00:04:55.790
|
| 91 |
+
como una sesión de T-Moocs, ¿vale? Y es algo, pues, mágico, porque nosotros podemos tener ya entornos de trabajo completamente configurados. Algo que también nosotros
|
| 92 |
+
|
| 93 |
+
00:04:54.945 --> 00:05:05.825
|
| 94 |
+
podemos hacer es crear una ventana nueva. Aquí tenemos esta ventana llamada Bash, ¿ok? Pero yo puedo crear una ventana nueva, ¿cómo lo hago? Simplemente
|
| 95 |
+
|
| 96 |
+
00:05:05.825 --> 00:05:15.030
|
| 97 |
+
con control v, que es el prefijo, y una c, y aquí me acaba de crear una nueva ventana. Yo también lo que puedo hacer
|
| 98 |
+
|
| 99 |
+
00:05:15.030 --> 00:05:22.550
|
| 100 |
+
es renombrar esta ventana, digamos, por ejemplo, yo voy a ejecutar top aquí de nuevo porque, pues, es un comando muy ruidoso que me va
|
| 101 |
+
|
| 102 |
+
00:05:22.550 --> 00:05:33.155
|
| 103 |
+
mostrar mucha información, y digamos que quiero renombrar esta ventana. Voy a ejecutar mi prefijo con control b y voy usar la coma, y aquí
|
| 104 |
+
|
| 105 |
+
00:05:33.155 --> 00:05:41.430
|
| 106 |
+
me dice, ah, ¿quieres renombrar esta ventana? Y le voy decir sí, no quiero que se llame top, por ejemplo, te voy a poner monitoreo
|
| 107 |
+
|
| 108 |
+
00:05:42.550 --> 00:06:00.365
|
| 109 |
+
del sistema, ¿vale? Ok. Ah, bueno, ahí quedó. Perfecto. Ahora, si yo me quiero estar, por ejemplo, moviendo entre, pues, ventanas, ¿no? Directamente esta es
|
| 110 |
+
|
| 111 |
+
00:06:00.365 --> 00:06:08.605
|
| 112 |
+
una Windows cero y esta es mi Windows uno, yo voy presionar control b y voy a poner el número de esa ventana, ¿ok? Ahí
|
| 113 |
+
|
| 114 |
+
00:06:08.605 --> 00:06:18.010
|
| 115 |
+
presioné control b cero, si me quiero mover a la ventana que tiene el índice uno, pues simplemente voy a presionar control b uno, y
|
| 116 |
+
|
| 117 |
+
00:06:18.010 --> 00:06:30.685
|
| 118 |
+
aquí me va mostrar nuestra ventana. La magia que tiene T-Moocs también es, por ejemplo, si yo por, digamos, cualquier cosa, voy a salir de
|
| 119 |
+
|
| 120 |
+
00:06:30.685 --> 00:06:46.390
|
| 121 |
+
esta ventana, vamos a cerrarla aquí, vamos a darle exit directamente. Por ejemplo, así se cierra una ventana, simplemente dándole exit, ¿no? Aquí puedo empezar
|
| 122 |
+
|
| 123 |
+
00:06:46.390 --> 00:06:56.105
|
| 124 |
+
a cerrar esto, y si yo le pongo Tmux l s, aquí nos dice que ningún servidor de Tmux está corriendo, lo cual está bien,
|
| 125 |
+
|
| 126 |
+
00:06:56.105 --> 00:07:04.010
|
| 127 |
+
no te preocupes, es porque yo al momento de salir le estuve dando control CYYD para estar borrando cada una de mis ventanas. Si yo
|
| 128 |
+
|
| 129 |
+
00:07:04.010 --> 00:07:16.330
|
| 130 |
+
inicio una nueva sesión de T-Moocs, digamos, simplemente con este top, corriendo de esta forma, y ahora cierro mi WSL, aquí directamente, lo voy a
|
| 131 |
+
|
| 132 |
+
00:07:16.330 --> 00:07:25.975
|
| 133 |
+
volver a abrir, Aquí está mi entorno corriendo, voy a hacer esto más grande, voy a listar mi Tmux, y aquí lo que hace Tmux,
|
| 134 |
+
|
| 135 |
+
00:07:25.975 --> 00:07:34.790
|
| 136 |
+
y es lo mágico, es que nos pasa todas nuestras ventanas o lo que hayamos tenido en terminales, en un proceso de background, ¿ok? Y
|
| 137 |
+
|
| 138 |
+
00:07:34.790 --> 00:07:45.655
|
| 139 |
+
si yo le doy, por ejemplo, Tmux attach, y le paso simplemente el cero, por decirte algo, es decir, a cuál se va a atachear,
|
| 140 |
+
|
| 141 |
+
00:07:45.655 --> 00:07:51.735
|
| 142 |
+
bueno, mi caso no hay que especificarle el cero, simplemente hay que decirle que atache a la que tiene, a a la que está hasta
|
| 143 |
+
|
| 144 |
+
00:07:51.735 --> 00:08:00.770
|
| 145 |
+
arriba, y nos va mostrar todo lo que ya tenemos. Si yo vuelvo a crear, por ejemplo, una nueva ventana con command b, c, eco
|
| 146 |
+
|
| 147 |
+
00:08:00.770 --> 00:08:16.305
|
| 148 |
+
uno, por decirte algo, ventana uno, no, me vuelvo a salir, vuelvo abrir y vuelvo a hacer un Tmux l s para ver mis servidores,
|
| 149 |
+
|
| 150 |
+
00:08:16.305 --> 00:08:26.300
|
| 151 |
+
que aquí me dice que este servidor tiene dos ventanas, pues simplemente hacemos Tmux attach, o sea, vincúlate a al servidor que tenemos de Tmux,
|
| 152 |
+
|
| 153 |
+
00:08:26.620 --> 00:08:34.380
|
| 154 |
+
¿no? Y vamos a tener el estado de cómo dejamos nuestras terminales y ya ahí podemos empezar a hacer todo lo que queramos de empezar
|
| 155 |
+
|
| 156 |
+
00:08:34.380 --> 00:08:42.408
|
| 157 |
+
a navegar entre ellas, crear, por ejemplo, nuestros nuevos paneles y ser mucho más productivos en la terminal.
|
| 158 |
+
|
terminal/23-Comandos de red en la terminal para verificar conectividad.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9af1b8fa1d37d4a7fa43fdd8ffcebff640cfecac42b3bfbc7a80f9ddf4e54ce7
|
| 3 |
+
size 110972174
|
terminal/23-Comandos de red en la terminal para verificar conectividad.sub.vtt
ADDED
|
@@ -0,0 +1,245 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.720 --> 00:00:08.640
|
| 4 |
+
En esta clase veremos cómo nuestra terminal no es un entorno aislado que solamente vive en nuestra computadora. Como lo hemos visto a lo largo
|
| 5 |
+
|
| 6 |
+
00:00:08.640 --> 00:00:17.915
|
| 7 |
+
del curso, la terminal nos permite comunicarnos con nuestro sistema operativo a través de comandos, y la mayoría de sistemas operativos actuales se pueden conectar
|
| 8 |
+
|
| 9 |
+
00:00:17.915 --> 00:00:28.795
|
| 10 |
+
a Internet, y existen muchos comandos que nos permiten a través de nuestra terminal hacer diferentes cosas con nuestra red, darnos tanta información, descargar archivos
|
| 11 |
+
|
| 12 |
+
00:00:28.795 --> 00:00:38.290
|
| 13 |
+
e incluso hacer peticiones. Acompáñame para ver cómo es que lo hacemos. El primer comando que vamos a explorar de nuestras utilidades de red es
|
| 14 |
+
|
| 15 |
+
00:00:38.290 --> 00:00:50.945
|
| 16 |
+
el comando man, IP. Vamos acceder al comando IP y aquí tenemos su manual. Lo que nos permite el comando IP básicamente es listar todas
|
| 17 |
+
|
| 18 |
+
00:00:50.945 --> 00:01:02.700
|
| 19 |
+
nuestras interfaces de red, direcciones IP y las configuraciones que tienen en nuestra computadora. Ahora, si yo salgo de esta manual que nosotros teníamos y
|
| 20 |
+
|
| 21 |
+
00:01:02.700 --> 00:01:10.460
|
| 22 |
+
yo hago, por ejemplo, IP así solo, pues me va mostrar una serie de opciones que yo puedo ejecutar. La más común, y de hecho
|
| 23 |
+
|
| 24 |
+
00:01:10.460 --> 00:01:20.185
|
| 25 |
+
es la que la mayoría de personas utilizan, simplemente es IP a. Con IP a nos va mostrar las interfaces de red y nos va
|
| 26 |
+
|
| 27 |
+
00:01:20.185 --> 00:01:28.310
|
| 28 |
+
mostrar sus direcciones IP. Te voy a enseñar a leer este tipo de información, no te preocupes si te sientes un poco perdido o perdida,
|
| 29 |
+
|
| 30 |
+
00:01:28.390 --> 00:01:35.110
|
| 31 |
+
realmente esto tiene que ver más con redes de computadoras. Pero lo que nos está diciendo aquí es que vamos a tener dos interfaces de
|
| 32 |
+
|
| 33 |
+
00:01:35.110 --> 00:01:42.705
|
| 34 |
+
red, en este caso tenemos la número uno y la número dos. Esta interfaz de que tenemos aquí, que es la de loopback, ¿no? Normalmente
|
| 35 |
+
|
| 36 |
+
00:01:42.705 --> 00:01:51.265
|
| 37 |
+
este esta interfaz de siempre va ser nuestra red local, ¿no? De hecho, aquí podemos ver que la dirección local que nosotros tenemos asignada es
|
| 38 |
+
|
| 39 |
+
00:01:51.265 --> 00:01:59.350
|
| 40 |
+
la ciento veintisiete punto cero punto cero punto uno. A este tipo dirección se le conoce como el com, es una dirección de referencia que
|
| 41 |
+
|
| 42 |
+
00:01:59.350 --> 00:02:09.645
|
| 43 |
+
nuestra computadora siempre va a tener, y la dirección que nosotros tenemos asignada aquí, pues va ser también esta. En nuestro sistema sería la diez
|
| 44 |
+
|
| 45 |
+
00:02:09.645 --> 00:02:17.725
|
| 46 |
+
punto doscientos cincuenta y cinco punto doscientos cincuenta y cinco punto doscientos cincuenta y cuatro, a través de la puerta treinta y dos. Ahora, si
|
| 47 |
+
|
| 48 |
+
00:02:17.725 --> 00:02:24.710
|
| 49 |
+
nosotros vemos que es lo más importante, en nuestra interfaz de que normalmente suele ser la que no es la loopback, en mi caso esta
|
| 50 |
+
|
| 51 |
+
00:02:24.710 --> 00:02:34.470
|
| 52 |
+
es la de mi computadora, me dice que es una interfaz de red broadcast directamente y multicast, esto significa que puede tanto recibir como transmitir
|
| 53 |
+
|
| 54 |
+
00:02:34.470 --> 00:02:45.305
|
| 55 |
+
información, ¿vale? Y nos dice que tiene asignada una dirección IP IPv4 en esta red en específico con la dirección ciento setenta y dos punto
|
| 56 |
+
|
| 57 |
+
00:02:45.305 --> 00:02:53.450
|
| 58 |
+
veinticuatro punto sesenta y dos doscientos veintiocho. Esta dirección IP es muy importante que sepas que es una dirección local, es decir, solamente va a
|
| 59 |
+
|
| 60 |
+
00:02:53.450 --> 00:03:00.970
|
| 61 |
+
vivir en mi red, no es una dirección pública. Esta es la información que nos otorga esta este comando y la verdad es muy útil
|
| 62 |
+
|
| 63 |
+
00:03:00.970 --> 00:03:11.655
|
| 64 |
+
cuando nosotros queremos saber qué dispositivos, tarjetas de red y sobre todo conexiones tenemos en nuestros equipos. Esto es muy útil sobre todo en servidores.
|
| 65 |
+
|
| 66 |
+
00:03:11.815 --> 00:03:18.300
|
| 67 |
+
Ahora vamos a ver cuál es el siguiente comando y para eso voy a borrar pantalla. La siguiente opción que vamos a ejecutar de nuestro
|
| 68 |
+
|
| 69 |
+
00:03:18.300 --> 00:03:27.500
|
| 70 |
+
comando IP es la opción r. La opción r hace referente a la opción de ruteo o de nuestra tabla de ruteo. Esto nos va
|
| 71 |
+
|
| 72 |
+
00:03:27.340 --> 00:03:37.605
|
| 73 |
+
otorgar información acerca de cuáles son los dispositivos, de hecho, o tenemos conectados a este a este servidor. En mi caso, pues, es un servidor
|
| 74 |
+
|
| 75 |
+
00:03:37.605 --> 00:03:46.780
|
| 76 |
+
como tal, sino simplemente es mi computadora y es por eso que solamente tiene una dirección IP. Aquí nos dice que es la default directamente
|
| 77 |
+
|
| 78 |
+
00:03:46.860 --> 00:03:54.700
|
| 79 |
+
y tenemos nuestra IP que es la ciento setenta y dos punto veinticuatro punto cuarenta y ocho punto cero. Si tuviéramos más de una computadora,
|
| 80 |
+
|
| 81 |
+
00:03:54.700 --> 00:04:04.325
|
| 82 |
+
por ejemplo, conectada o más de un dispositivo, si tuviéramos más cosas conectadas directamente a mi computadora, pues nos mostraría una tabla de roupteo mucho
|
| 83 |
+
|
| 84 |
+
00:04:04.325 --> 00:04:10.485
|
| 85 |
+
más grande. Esto ya tiene que ver con más de redes de Internet, te voy a dejar aquí en los enlaces el curso de redes
|
| 86 |
+
|
| 87 |
+
00:04:10.485 --> 00:04:20.060
|
| 88 |
+
que tenemos en Platzi, por si quieres echarle un ojo a esta información. El siguiente comando que vamos a ejecutar va ser el comando ping,
|
| 89 |
+
|
| 90 |
+
00:04:20.060 --> 00:04:29.895
|
| 91 |
+
y el comando es un comando muy útil. Lo que nos permite es empezar a escuchar o le vamos a empezar a hacer peticiones a
|
| 92 |
+
|
| 93 |
+
00:04:29.895 --> 00:04:36.935
|
| 94 |
+
un sitio web a través de su dominio. ¿Cuál es el dominio? Pues el nombre que tiene ese sitio web en la red. En este
|
| 95 |
+
|
| 96 |
+
00:04:36.935 --> 00:04:44.790
|
| 97 |
+
caso, por ejemplo, le vamos a hacer un ping al de dominio de Google, que es WWW punto Google punto com, y lo que va
|
| 98 |
+
|
| 99 |
+
00:04:44.790 --> 00:04:54.645
|
| 100 |
+
empezar a hacer nuestro comando ping es ejecutar constantemente, le va estar enviando paquetes y va estar viendo qué sucede con esos paquetes, si llegaron
|
| 101 |
+
|
| 102 |
+
00:04:54.645 --> 00:05:02.005
|
| 103 |
+
bien, si llegaron mal. La forma en la cual funciona el Internet es eso, nosotros empezamos a enviar paquetes de información y lo que nos
|
| 104 |
+
|
| 105 |
+
00:05:02.005 --> 00:05:10.430
|
| 106 |
+
responde un servidor es si llegaron, si no, en fin. Así es básicamente cómo funcionan los protocolos HTTP, existen muchas formas en las cuales podemos
|
| 107 |
+
|
| 108 |
+
00:05:10.430 --> 00:05:20.270
|
| 109 |
+
enviar mensajes a través de la red, pero una vez nosotros empezamos correr esta secuencia, para poder parar el comando y la escucha de este
|
| 110 |
+
|
| 111 |
+
00:05:20.270 --> 00:05:32.775
|
| 112 |
+
comando, simplemente voy a presionar control c. Una vez termino, aquí me da la información de qué sucedió con este comando. Dice, paquetes fueron transmitidos,
|
| 113 |
+
|
| 114 |
+
00:05:33.095 --> 00:05:42.740
|
| 115 |
+
cuarenta fueron recibidos y no tuvimos ninguna pérdida de paquetes. Y el tiempo que duró, pues, fue aproximadamente treinta y nueve mil dieciocho milisegundos, que
|
| 116 |
+
|
| 117 |
+
00:05:42.740 --> 00:05:51.540
|
| 118 |
+
son como treinta y nueve segundos, ¿vale? Y bueno, de hecho, aquí nos muestra como más información. ¿Qué es lo que nos está diciendo esta
|
| 119 |
+
|
| 120 |
+
00:05:51.540 --> 00:06:01.205
|
| 121 |
+
información? Este comando es muy útil cuando nosotros queremos ver si un recurso en Internet, por ejemplo, ser un servidor, una página web, o cualquier
|
| 122 |
+
|
| 123 |
+
00:06:01.205 --> 00:06:10.470
|
| 124 |
+
dirección o dominio al cual nosotros queremos saber si existe, si está vivo o si está disponible, pues con el comando ping le empezamos apuntar
|
| 125 |
+
|
| 126 |
+
00:06:10.470 --> 00:06:19.990
|
| 127 |
+
y empezamos a ver si nos responde de alguna forma. Si por ejemplo nos dijera aquí en pantalla que se enviaron cuarenta paquetes, fueron transmitidos,
|
| 128 |
+
|
| 129 |
+
00:06:20.855 --> 00:06:30.455
|
| 130 |
+
cuarenta, digamos, en vez de los cuarenta recibidos nos dice que a lo mejor solo diez fueron recibidos y a lo mejor otros treinta fueron
|
| 131 |
+
|
| 132 |
+
00:06:30.455 --> 00:06:37.530
|
| 133 |
+
perdidos y a lo mejor tasa de paquetes pues es del setenta y cinco por ciento, pues entonces, significa que a lo mejor nuestro recurso,
|
| 134 |
+
|
| 135 |
+
00:06:37.530 --> 00:06:43.530
|
| 136 |
+
nuestro servidor está perdiendo paquetes y eso no es correcto. Y si ya en definitiva nos dice que el cien por ciento es de pérdida
|
| 137 |
+
|
| 138 |
+
00:06:43.530 --> 00:06:53.765
|
| 139 |
+
de paquetes, significa que ese recurso al cual nosotros estamos intentando llegar, pues simplemente no existe o está incomunicado. Para seguir explorando nuestros comandos de
|
| 140 |
+
|
| 141 |
+
00:06:53.765 --> 00:07:02.400
|
| 142 |
+
red, voy a borrar pantalla y el siguiente comando que vamos explorar va ser el comando curl, y el comando curl lo que nos permite
|
| 143 |
+
|
| 144 |
+
00:07:02.400 --> 00:07:10.000
|
| 145 |
+
es como un mini cliente HTTP. HTTP es el protocolo con el cual nos comunicamos alrededor de Internet, de hecho le voy a hacer un
|
| 146 |
+
|
| 147 |
+
00:07:10.000 --> 00:07:20.585
|
| 148 |
+
man curl, y HTTP lo que nos permite es hacer peticiones tanto post, get, put, esto es básicamente verbos con los cuales nosotros tratamos de
|
| 149 |
+
|
| 150 |
+
00:07:20.585 --> 00:07:28.350
|
| 151 |
+
obtener información, pero lo que nos dice curl o lo que intenta hacer curl como este mini cliente HTTP es que a través de las
|
| 152 |
+
|
| 153 |
+
00:07:28.350 --> 00:07:36.590
|
| 154 |
+
opciones que por aquí deben andar, que de hecho te voy dejar la mayoría de opciones aquí en la parte abajo, porque nosotros podemos hacer
|
| 155 |
+
|
| 156 |
+
00:07:36.590 --> 00:07:46.965
|
| 157 |
+
tanto peticiones HTTP directamente, como podemos conectarnos por protocolos como Telnet, o sea, la verdad es un cliente bastante bastante completo, aquí lo vas a
|
| 158 |
+
|
| 159 |
+
00:07:46.965 --> 00:07:54.085
|
| 160 |
+
poder ver, y es que si nosotros lo usamos así por defecto, por ejemplo, aquí nos dice que podemos especificar un recurso al cual nosotros
|
| 161 |
+
|
| 162 |
+
00:07:54.085 --> 00:08:05.220
|
| 163 |
+
queremos llegar, por ejemplo, a usar la misma página de Google, voy a ir, por ejemplo, a CURL, WWW punto Google punto com, y me
|
| 164 |
+
|
| 165 |
+
00:08:05.220 --> 00:08:15.945
|
| 166 |
+
va mostrar muchísimo texto en pantalla. No te preocupes si este texto no lo entiendes, y lo que me está trayendo es el HTML de
|
| 167 |
+
|
| 168 |
+
00:08:15.945 --> 00:08:24.985
|
| 169 |
+
Google punto com. Esto es lo que me está trayendo, no es nada más que eso. Por ejemplo, si yo quisiera explorar toda esta salida,
|
| 170 |
+
|
| 171 |
+
00:08:25.200 --> 00:08:37.520
|
| 172 |
+
pues lo que podría hacer sería guardarla en un archivo. Entonces, podría ser CURWWW punto Google punto com, y vamos a guardarla en un index
|
| 173 |
+
|
| 174 |
+
00:08:38.055 --> 00:08:47.655
|
| 175 |
+
punto HTML, que son los archivos de HTML de la web, este caso el de Google. Vamos a guardarlo, ahí ya me lo estuvo descargando,
|
| 176 |
+
|
| 177 |
+
00:08:47.655 --> 00:08:56.640
|
| 178 |
+
de hecho se descargó a un cien por ciento, y lo vamos explorar, por ejemplo, con un editor como lo puede ser BIM, y lo
|
| 179 |
+
|
| 180 |
+
00:08:56.640 --> 00:09:02.960
|
| 181 |
+
vamos a hacer en index punto HTML, y aquí, pues BIM, de hecho, ya me lo puede mostrar con colores y varias cosas. En este
|
| 182 |
+
|
| 183 |
+
00:09:02.960 --> 00:09:10.235
|
| 184 |
+
caso, como, pues, Google hace muy bien las cosas, pues todo lo tiene como comprimido, esta es una muy buena práctica para páginas HTML, pero,
|
| 185 |
+
|
| 186 |
+
00:09:10.235 --> 00:09:16.795
|
| 187 |
+
pues, si estuviéramos viendo un sitio web, a mejor, más desordenado, pues, leerlo de una mejor forma. Pero esto es lo que nos permite hacer
|
| 188 |
+
|
| 189 |
+
00:09:16.795 --> 00:09:27.520
|
| 190 |
+
cool, no solamente descargar, si lo quieres ver así, lo que nos permite es hacer peticiones. Nosotros también podemos, por ejemplo, hacer una petición para
|
| 191 |
+
|
| 192 |
+
00:09:27.520 --> 00:09:37.385
|
| 193 |
+
llenar un formulario, hay muchas cosas que podemos hacer con el comando CURL en cuanto a peticiones HTTP se refiere. ¿Qué otro comando tenemos, por
|
| 194 |
+
|
| 195 |
+
00:09:37.385 --> 00:09:46.680
|
| 196 |
+
ejemplo, en la terminal? El siguiente comando que vamos explorar va ser el comando w El comando w get lo que nos va a permitir
|
| 197 |
+
|
| 198 |
+
00:09:46.680 --> 00:09:57.655
|
| 199 |
+
va ser descargar archivos directamente desde Internet. Para eso, en los enlaces de esta clase, yo te voy a dejar una dirección aquí directamente que
|
| 200 |
+
|
| 201 |
+
00:09:57.655 --> 00:10:04.375
|
| 202 |
+
es de un archivo de uno de los cursos que se encuentra en Platzi, es un archivo README, de hecho, es el de el curso
|
| 203 |
+
|
| 204 |
+
00:10:04.375 --> 00:10:12.800
|
| 205 |
+
de Git que está aquí en Platzi, y lo único que vamos a hacer es que con el comando wget vamos a pegar la URL
|
| 206 |
+
|
| 207 |
+
00:10:12.800 --> 00:10:21.840
|
| 208 |
+
del recurso que nosotros queremos y le vamos a hacer simplemente enter. Esto lo que nos va a hacer va ser darnos la información, de
|
| 209 |
+
|
| 210 |
+
00:10:21.840 --> 00:10:28.535
|
| 211 |
+
hecho, incluso nos da hasta la IP desde dónde está yendo el recurso, ¿no? Cómo se llama ese recurso y en dónde nos los va
|
| 212 |
+
|
| 213 |
+
00:10:28.535 --> 00:10:37.495
|
| 214 |
+
a descargar. De hecho, aquí nos dice, recurso se ha guardado, y si nosotros hacemos un l s, por aquí tenemos nuestro archivo rhythmi punto
|
| 215 |
+
|
| 216 |
+
00:10:37.495 --> 00:10:49.090
|
| 217 |
+
MDY si hacemos BIM, aquí me voy a salir, vamos hacer BIM de este Rhythmi, pues tenemos el archivo que descargamos directamente desde Internet. Estos
|
| 218 |
+
|
| 219 |
+
00:10:49.090 --> 00:10:57.685
|
| 220 |
+
comandos que te acabo enseñar son los comandos básicos que se utilizan para poder interactuar con recursos de red o recursos del Internet desde la
|
| 221 |
+
|
| 222 |
+
00:10:57.685 --> 00:11:06.085
|
| 223 |
+
terminal. Existen muchísimo más comandos que ya tienen que ver con casos de uso específicos como lo puede ser el comando en map, que de
|
| 224 |
+
|
| 225 |
+
00:11:06.085 --> 00:11:14.660
|
| 226 |
+
hecho lo puedes instalar. Este comando lo que nos va permitir va ser escanear los puertos de nuestra computadora, se usa muchísimo en ciberseguridad para
|
| 227 |
+
|
| 228 |
+
00:11:14.660 --> 00:11:24.975
|
| 229 |
+
detectar cuáles están abiertos, qué servicios tenemos ocupados, como por ejemplo, puede ser un servicio ssh, un servicio web, puede ser un puerto a lo
|
| 230 |
+
|
| 231 |
+
00:11:24.975 --> 00:11:33.615
|
| 232 |
+
mejor ochenta, puede puede podemos tener muchos puertos abiertos o cerrados, y lo que hace en MAP es decirnos, pues, cuáles tenemos y qué deberíamos
|
| 233 |
+
|
| 234 |
+
00:11:33.615 --> 00:11:41.230
|
| 235 |
+
de hacer con ellos, de preferencia. Existen otros comandos, como lo puede ser el comando tres root, que nos dice un paquete cómo están navegando
|
| 236 |
+
|
| 237 |
+
00:11:41.230 --> 00:11:48.510
|
| 238 |
+
a través de diferentes servidores y nos muestra la ruta específica de eso, pero eso ya tiene que ver más con recursos de red y
|
| 239 |
+
|
| 240 |
+
00:11:48.510 --> 00:11:56.155
|
| 241 |
+
va fuera del alcance de lo que es la terminal. Te repito, si quieres saber más acerca de redes, te voy dejar también el enlace
|
| 242 |
+
|
| 243 |
+
00:11:56.155 --> 00:12:02.715
|
| 244 |
+
del curso de redes que nosotros tenemos aquí en Platzi para que puedas aprender un poco más. Nos vemos en la siguiente clase.
|
| 245 |
+
|
terminal/24-Personalización de terminal con ZSH y temas avanzados.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9ddc680f8580b79c4c5dd18060f70966f738b61570f018a46e05054b64808610
|
| 3 |
+
size 71921629
|
terminal/24-Personalización de terminal con ZSH y temas avanzados.sub.vtt
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:06.960
|
| 4 |
+
En esta clase vamos a hacer un par de configuraciones a nuestra terminal para trabajar mucho más a gusto, ¿y qué es lo que vamos
|
| 5 |
+
|
| 6 |
+
00:00:06.960 --> 00:00:16.635
|
| 7 |
+
a hacer? Vamos instalar un par de temas y vamos a cambiar de Shell para personalizar de manera completa nuestra terminal. Vamos a ello. Nos
|
| 8 |
+
|
| 9 |
+
00:00:16.635 --> 00:00:23.595
|
| 10 |
+
encontramos ya en nuestra terminal y lo primero que voy a hacer va ser instalar una nueva Shell. La Shell que vamos instalar y lo
|
| 11 |
+
|
| 12 |
+
00:00:23.595 --> 00:00:34.680
|
| 13 |
+
vamos a hacer con sudo apt install, va ser la terminal ZSH. Lo vamos a de esta forma, voy a poner mi contraseña y le
|
| 14 |
+
|
| 15 |
+
00:00:34.680 --> 00:00:45.800
|
| 16 |
+
voy a decir que sí, que la quiero instalar. Esto va a tardar unos segunditos y ya quedó completamente instalada, aunque todavía no la utilizamos.
|
| 17 |
+
|
| 18 |
+
00:00:46.095 --> 00:00:57.215
|
| 19 |
+
Para poder personalizar nuestra terminal, lo segundo que voy a usar va ser este tema, ¿vale? OMYZ SH, digamos que es un enhancer, son una
|
| 20 |
+
|
| 21 |
+
00:00:57.215 --> 00:01:06.090
|
| 22 |
+
serie y un conjunto de scripts que nos van a ser mucho más productiva nuestra terminal con ser, por ejemplo, autocompletes, nos permiten mostrar otro
|
| 23 |
+
|
| 24 |
+
00:01:06.090 --> 00:01:12.730
|
| 25 |
+
tipo de caracteres, mayor mayor rango de colores, la verdad te lo recomiendo mucho, yo lo uso en mi día a día y simplemente para
|
| 26 |
+
|
| 27 |
+
00:01:12.730 --> 00:01:23.905
|
| 28 |
+
instalarlo vamos a darle aquí en install on my ZSHY vamos a copiar este comando de aquí, ¿vale? Vamos a regresar a nuestra terminal y
|
| 29 |
+
|
| 30 |
+
00:01:23.905 --> 00:01:36.120
|
| 31 |
+
voy a limpiar la pantalla y voy pegar el comando que acabo copiar. Lo ejecutamos, aquí nos dice que si lo queremos instalar y si
|
| 32 |
+
|
| 33 |
+
00:01:36.120 --> 00:01:48.345
|
| 34 |
+
queremos hacer ZSH nuestra shell por defecto, y le vamos a decir que sí. Aquí nos va a pedir nuestra contraseña, y con esto ya
|
| 35 |
+
|
| 36 |
+
00:01:48.345 --> 00:02:00.270
|
| 37 |
+
sabemos que Oh my ZSH está completamente instalado. Voy a limpiar pantalla y el segundo paso que necesitamos hacer para poder personalizar nuestra terminal es
|
| 38 |
+
|
| 39 |
+
00:02:00.270 --> 00:02:09.150
|
| 40 |
+
instalar un tema llamado power level 10 k. Para poder instalar el tema, me voy ir al navegador y en la sección de recursos vas
|
| 41 |
+
|
| 42 |
+
00:02:09.150 --> 00:02:17.555
|
| 43 |
+
a tener el enlace a este repositorio. Nos vamos a ir a la sección de instalación que se encuentra justo en esta parte y nos
|
| 44 |
+
|
| 45 |
+
00:02:17.555 --> 00:02:27.330
|
| 46 |
+
vamos a al apartado de fuentes. Lo que yo te recomiendo es que descargues todas las fuentes que te recomienda en esta parte, se llama
|
| 47 |
+
|
| 48 |
+
00:02:27.330 --> 00:02:36.930
|
| 49 |
+
Meslo la fuente, y de hecho la NF se llama NerdFont, y es que estas este conjunto de fuentes que vienen tamaño regular, bold, italic
|
| 50 |
+
|
| 51 |
+
00:02:36.930 --> 00:02:49.015
|
| 52 |
+
y todas sus variantes, son fuentes específicas para la terminal porque vienen con un conjunto extendido de caracteres, vienen con íconos especiales, vienen con, en
|
| 53 |
+
|
| 54 |
+
00:02:49.015 --> 00:02:59.870
|
| 55 |
+
general, mucha iconografía que nos permite mostrar diferentes símbolos en nuestra terminal. Yo las estoy descargando aquí en mi escritorio y vamos abrir esta carpeta
|
| 56 |
+
|
| 57 |
+
00:02:59.870 --> 00:03:09.135
|
| 58 |
+
y las tengo aquí completamente instalada. Bueno, las tengo descargadas, las voy a seleccionar, les voy a dar clic derecho, aquí está, les puedo dar
|
| 59 |
+
|
| 60 |
+
00:03:09.135 --> 00:03:17.455
|
| 61 |
+
incluso enter para instalarlas, y aquí las voy a dar en instalar. En mi caso, pues, ya las tengo como instaladas en mi sistema operativo
|
| 62 |
+
|
| 63 |
+
00:03:18.110 --> 00:03:28.350
|
| 64 |
+
y simplemente le vas tener que dar instalar en cada una de estas. Una vez se termine termines de instalar cada una, podemos continuar con
|
| 65 |
+
|
| 66 |
+
00:03:28.350 --> 00:03:41.925
|
| 67 |
+
el siguiente paso. Aquí voy a instalar la última Y listo, con esto ya tenemos nuestras fuentes completamente instaladas. El segundo paso es instalar el
|
| 68 |
+
|
| 69 |
+
00:03:41.925 --> 00:03:51.170
|
| 70 |
+
tema. ¿Cómo lo vamos instalar? Pues bueno, es bastante sencillo. Nos vamos a regresar directamente a la parte de instalación y aquí nos va a
|
| 71 |
+
|
| 72 |
+
00:03:51.170 --> 00:03:59.410
|
| 73 |
+
mostrar, de hecho, o podemos estar viendo aquí todas las distribuciones y terminales donde nosotros podemos instalarlo. Aquí nos vamos a ir a la parte
|
| 74 |
+
|
| 75 |
+
00:03:59.410 --> 00:04:10.725
|
| 76 |
+
de OMIZ SH y simplemente nos vamos a clonar el repositorio, ¿vale? Le voy a dar clic aquí en copiar, me voy a a mi
|
| 77 |
+
|
| 78 |
+
00:04:10.725 --> 00:04:22.110
|
| 79 |
+
terminal y voy a copiar este comando que dice git clone y lo voy a ejecutar. Aquí lo que está haciendo es clonarnos este repositorio
|
| 80 |
+
|
| 81 |
+
00:04:22.110 --> 00:04:31.355
|
| 82 |
+
en nuestra carpeta punto omy ZSH, que se de hecho se creó, y ya vamos a tener este tema completamente configurado. Algo muy importante que
|
| 83 |
+
|
| 84 |
+
00:04:31.355 --> 00:04:40.395
|
| 85 |
+
nosotros tenemos que hacer para que esto quede completamente en nuestra terminal es lo siguiente, nos vamos a ir, en nuestro caso, si estamos usando
|
| 86 |
+
|
| 87 |
+
00:04:40.395 --> 00:04:47.740
|
| 88 |
+
WSL, a la parte de aquí arriba en abrir una pestaña nueva y nos vamos a ir a la parte que dice configuración. También lo
|
| 89 |
+
|
| 90 |
+
00:04:47.740 --> 00:04:58.540
|
| 91 |
+
puedes abrir con la combinación de teclas que es control coma y nos vamos a a la terminal que nosotros queramos, por ejemplo, personalizar. Por
|
| 92 |
+
|
| 93 |
+
00:04:57.565 --> 00:05:04.365
|
| 94 |
+
ejemplo, yo aquí le puedo abrir múltiples terminales, por ejemplo, aquí le puedo dar abrir una nueva, la que normalmente nosotros abrimos por defecto es
|
| 95 |
+
|
| 96 |
+
00:05:04.365 --> 00:05:13.440
|
| 97 |
+
la de Ubuntu, ¿vale? Pero la que yo quiero abrir en este caso, o sea, bueno, que quiero configurar es esta de Ubuntu, esta que
|
| 98 |
+
|
| 99 |
+
00:05:13.440 --> 00:05:22.240
|
| 100 |
+
tiene el Linux de aquí. Ahora, si yo me voy a apariencia, lo que yo tengo que configurar es mi tipo de fuente. El tipo
|
| 101 |
+
|
| 102 |
+
00:05:22.240 --> 00:05:33.195
|
| 103 |
+
de fuente que tú tienes que configurar de todas estas de aquí va ser la Meslow, directamente, la que descargamos GS NerdFont. Siempre que termine
|
| 104 |
+
|
| 105 |
+
00:05:33.195 --> 00:05:41.270
|
| 106 |
+
con NerdFont es la que tú tienes que seleccionar. Aquí la estamos seleccionando y esto, pues, nos va a mostrar diferentes símbolos. También, si tú
|
| 107 |
+
|
| 108 |
+
00:05:41.270 --> 00:05:48.310
|
| 109 |
+
quieres cambiar, como por ejemplo, los colores de tu terminal, lo puedes hacer aquí de manera directa. En mi caso, pues, yo no lo voy
|
| 110 |
+
|
| 111 |
+
00:05:48.310 --> 00:05:58.905
|
| 112 |
+
hacer, simplemente le voy a dar guardar, y ahora voy a abrir mi terminal, de hecho, a ver la de Ubuntu, y aquí ya tenemos,
|
| 113 |
+
|
| 114 |
+
00:05:58.905 --> 00:06:09.240
|
| 115 |
+
digamos, este nuevo tipo de fuente completamente configurada. Lo siguiente que nosotros vamos a hacer va ser activar este tema. ¿Cómo lo vamos activar? Eso
|
| 116 |
+
|
| 117 |
+
00:06:09.240 --> 00:06:17.240
|
| 118 |
+
lo hacemos yéndonos a la configuración y nos dice que primero hay que clonar al repositorio, luego vamos a tener que abrir nuestro archivo de
|
| 119 |
+
|
| 120 |
+
00:06:17.240 --> 00:06:28.605
|
| 121 |
+
configuración ZSHRCY vamos a tener agregar una variable de entorno llamado ZSH sim, y vamos a tener que ponerle este valor. Así que yo lo
|
| 122 |
+
|
| 123 |
+
00:06:28.605 --> 00:06:41.930
|
| 124 |
+
voy a copiar, lo voy a hacer esto, puedo abrir, por ejemplo, este archivo con punto ZSCHRC. En este caso, debo ir a mi directory
|
| 125 |
+
|
| 126 |
+
00:06:41.930 --> 00:06:53.995
|
| 127 |
+
home, vamos a hacer esto un poquito más grande, punto ZSHRCRC, ahí está, y vamos a buscar la variable entorno ZSH tint, en este caso
|
| 128 |
+
|
| 129 |
+
00:06:53.995 --> 00:07:04.960
|
| 130 |
+
está aquí. Recuerda que para poder editar en la terminal simplemente pongo la letra I de insert, voy a borrar esto y lo puedo pegar
|
| 131 |
+
|
| 132 |
+
00:07:04.960 --> 00:07:14.960
|
| 133 |
+
con control v. Aquí tengo un par de comillas extra, las voy a quitar, voy a presionar la tecla esc, dos puntos, w q de
|
| 134 |
+
|
| 135 |
+
00:07:14.960 --> 00:07:30.775
|
| 136 |
+
write y quit. ¿Listo? Ahora voy a hacer una recarga de lo que sería mi archivo de configuración, y se va iniciar el instalador de
|
| 137 |
+
|
| 138 |
+
00:07:30.775 --> 00:07:40.220
|
| 139 |
+
lo que es mi power level diez k, básicamente mi mi instalador del tema. Ahora, nos va empezar a preguntar si podemos ver estos símbolos
|
| 140 |
+
|
| 141 |
+
00:07:40.220 --> 00:07:47.375
|
| 142 |
+
de manera correcta, por ejemplo, aquí yo le voy a poner que sí, que lo veo bien, que sí puedo ver este candado, le voy
|
| 143 |
+
|
| 144 |
+
00:07:47.375 --> 00:07:57.855
|
| 145 |
+
a decir que sí, puedo ver esta flecha hacia arriba, sí, nos pregunta que si este dígito, bueno, esta flecha está apuntando a este dígito,
|
| 146 |
+
|
| 147 |
+
00:07:58.180 --> 00:08:06.260
|
| 148 |
+
te voy a decir que está apuntando hacia el uno. Si estos íconos, que es lo que te decía, por eso es tan importante tener
|
| 149 |
+
|
| 150 |
+
00:08:06.260 --> 00:08:13.915
|
| 151 |
+
la fuente configurada porque nos va permitir ver estos íconos, y sí, de hecho se están viendo bien. Entonces, le voy a poner que sí,
|
| 152 |
+
|
| 153 |
+
00:08:13.915 --> 00:08:22.315
|
| 154 |
+
y entonces ya va a empezar a inicializar, o bueno, nosotros podemos personalizar como queramos nuestra terminal. En mi caso, pues, por ejemplo, a mí
|
| 155 |
+
|
| 156 |
+
00:08:22.315 --> 00:08:33.090
|
| 157 |
+
la que más me gusta es el modo lean, ¿no? Que no tenga como tantas cositas, vamos a darle que sea Unicode directamente, que tenga
|
| 158 |
+
|
| 159 |
+
00:08:33.090 --> 00:08:43.075
|
| 160 |
+
una representación de doscientos cincuenta y seis colores. Sí, que nos muestre la hora en formato de doce horas, le voy a poner uno aquí,
|
| 161 |
+
|
| 162 |
+
00:08:43.395 --> 00:08:52.195
|
| 163 |
+
que lo haga simplemente en dos líneas, sí que los una a través de una línea sólida, y sí que le agregue este efecto como
|
| 164 |
+
|
| 165 |
+
00:08:52.195 --> 00:09:02.190
|
| 166 |
+
de full frame, se ve bastante bastante bien, y aquí nosotros podemos ponerle incluso cómo va ser el frame, que puede ser como muy acentuado,
|
| 167 |
+
|
| 168 |
+
00:09:02.190 --> 00:09:10.055
|
| 169 |
+
puede ser ligero, en mi caso le voy a poner el uno, y incluso nos dice cuando nosotros vayamos escribiendo comandos cómo estos se van
|
| 170 |
+
|
| 171 |
+
00:09:10.055 --> 00:09:16.535
|
| 172 |
+
a estaquear o cómo se van a apilar, y yo le voy a poner que sea el dos, si quiero ver muchos íconos, a mí
|
| 173 |
+
|
| 174 |
+
00:09:16.535 --> 00:09:23.095
|
| 175 |
+
me gusta mucho que se vean muchos íconos, ¿por qué? Porque esto me permite, por ejemplo, saber en qué repositorio de estoy, en qué rama
|
| 176 |
+
|
| 177 |
+
00:09:23.095 --> 00:09:33.660
|
| 178 |
+
de estoy, incluso me va mostrar mi sistema operativo y aquí le voy a poner el dos, ¿listo? Le vamos a poner que sea conciso
|
| 179 |
+
|
| 180 |
+
00:09:34.700 --> 00:09:45.195
|
| 181 |
+
y aquí nos dice que si queremos transient prompts, Bueno, aquí nos muestra como diferentes opciones, en mi caso le voy poner que no, ¿vale?
|
| 182 |
+
|
| 183 |
+
00:09:46.075 --> 00:09:55.620
|
| 184 |
+
Aquí vamos a seleccionar la opción recomendada, ¿no? Que es el Bird Box, y si queremos aplicar estos cambios a nuestro archivo de configuración, y
|
| 185 |
+
|
| 186 |
+
00:09:55.620 --> 00:10:06.235
|
| 187 |
+
ponle que sí, porque si no se van a perder todos estos cambios, ¿vale? Y con esto tenemos configurada nuestra nueva terminal. Como ves, la
|
| 188 |
+
|
| 189 |
+
00:10:06.235 --> 00:10:16.075
|
| 190 |
+
terminal es bastante, bastante sencillo. Sin embargo, no solamente puedes configurar y personalizar tu terminal o tu en este caso estamos personalizando directamente lo que
|
| 191 |
+
|
| 192 |
+
00:10:16.075 --> 00:10:25.120
|
| 193 |
+
es la de ZSH. También puedes personalizar tu editor de BIM a través de Neo BIM y todos los plugins que tiene, puedes personalizar tus
|
| 194 |
+
|
| 195 |
+
00:10:25.120 --> 00:10:34.435
|
| 196 |
+
sesiones de T-Moocs, puedes personalizar en general casi cualquier cosa que tú quieras en la terminal, Aunque parece una aplicación, pues, sencilla a través de
|
| 197 |
+
|
| 198 |
+
00:10:34.435 --> 00:10:43.635
|
| 199 |
+
texto, a lo largo de los años la comunidad, tanto de Linux como, pues, los enfocados a las tecnologías de la información, nos hemos dedicado
|
| 200 |
+
|
| 201 |
+
00:10:43.635 --> 00:10:51.651
|
| 202 |
+
a crear plugins, a crear temas para que este ambiente sea cada vez más cómodo. Nos vemos en la siguiente clase.
|
| 203 |
+
|
terminal/25-Instalación y uso de Warp, terminal con inteligencia artificial.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bd77e1ead79e611bb126a6e0a02f838c4e366a5e3089ebd0173c99c4b539389b
|
| 3 |
+
size 55169279
|
terminal/25-Instalación y uso de Warp, terminal con inteligencia artificial.sub.vtt
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.640 --> 00:00:08.640
|
| 4 |
+
En esta clase te voy a enseñar una de mis herramientas favoritas que es un cliente para terminal, pero que incluye inteligencia artificial dentro. A
|
| 5 |
+
|
| 6 |
+
00:00:08.640 --> 00:00:16.975
|
| 7 |
+
lo largo del tiempo, de hecho, los últimos años de carrera que he tenido en tecnología, estaba muy acostumbrado a que simplemente con la terminal
|
| 8 |
+
|
| 9 |
+
00:00:16.975 --> 00:00:25.535
|
| 10 |
+
y unos cuantos autocompletes podía ser la mayoría de mis tareas. Sin embargo, cuando llegó esta terminal a directamente a mi flujo de trabajo como
|
| 11 |
+
|
| 12 |
+
00:00:25.535 --> 00:00:34.480
|
| 13 |
+
ingeniero de software en todos los trabajos que he tenido últimamente, se ha convertido en un aliado muy poderoso porque simplemente con lenguaje natural yo
|
| 14 |
+
|
| 15 |
+
00:00:34.480 --> 00:00:43.655
|
| 16 |
+
le puedo describir qué comandos quiero ejecutar. Lo más importante de esta terminal es que con un gran poder conlleva una gran responsabilidad, y dado
|
| 17 |
+
|
| 18 |
+
00:00:43.655 --> 00:00:52.775
|
| 19 |
+
que tú ya conoces muchos comandos de la terminal, pues va ser mucho más sencillo que entiendas qué vamos a estar ejecutando con esta terminal
|
| 20 |
+
|
| 21 |
+
00:00:52.775 --> 00:01:00.980
|
| 22 |
+
llamada Warp. Acompáñame a instalarla y ver cómo es que se usa. Nos encontramos en el sitio oficial de Warp y lo primero que vamos
|
| 23 |
+
|
| 24 |
+
00:01:00.980 --> 00:01:08.900
|
| 25 |
+
a hacer va ser descargarla. En mi caso, yo estoy en un sistema operativo Windows, aquí nos va decir que estamos a punto de obtener
|
| 26 |
+
|
| 27 |
+
00:01:08.900 --> 00:01:20.895
|
| 28 |
+
Warp, la voy a descargar en mi escritorio y le voy a dar aquí en guardar. Estamos descargando Warp, le voy a poner que solo
|
| 29 |
+
|
| 30 |
+
00:01:20.895 --> 00:01:29.320
|
| 31 |
+
le instalé para mí, en este caso, le vamos a dar en next, sí que nos cree un shortcut y le vamos a dar en
|
| 32 |
+
|
| 33 |
+
00:01:29.320 --> 00:01:46.325
|
| 34 |
+
instalar. Aquí le vamos a decir que lance Warp y justo aquí tenemos Warp completamente lista para ser utilizada, ¿vale? Aquí nos dice como algunas
|
| 35 |
+
|
| 36 |
+
00:01:46.325 --> 00:01:55.530
|
| 37 |
+
cosas de las que nosotros podemos hacer con Warp, es que nosotros le podemos describir simplemente con lenguaje natural que nos ejecute una serie de
|
| 38 |
+
|
| 39 |
+
00:01:55.530 --> 00:02:08.185
|
| 40 |
+
comandos para hacer algo. Por ejemplo, yo le puedo decir aquí con Warp, ¿no? Que por ejemplo, aquí incluso te lo dice, Create a snake
|
| 41 |
+
|
| 42 |
+
00:02:08.185 --> 00:02:16.745
|
| 43 |
+
game in Python from scratch, ¿no? Lo voy a poner aquí, o y tú le, o sea, simplemente con ponerle este tipo de de cosas
|
| 44 |
+
|
| 45 |
+
00:02:16.745 --> 00:02:24.150
|
| 46 |
+
de de con lenguaje natural, ¿qué es lo que quieres hacer? Warp lo va a empezar a ejecutar y te va decir los comandos que
|
| 47 |
+
|
| 48 |
+
00:02:24.150 --> 00:02:33.295
|
| 49 |
+
tú necesitas para poder hacerlo. Por ejemplo, en este caso me está diciendo que necesito, pues, la versión de Python y primero va a verificar
|
| 50 |
+
|
| 51 |
+
00:02:33.295 --> 00:02:41.295
|
| 52 |
+
si tengo Python instalado, así que le voy a dar aquí, por ejemplo, en enter para ver si tengo Python instalado, y me está diciendo,
|
| 53 |
+
|
| 54 |
+
00:02:41.295 --> 00:02:50.180
|
| 55 |
+
ah, veo que no tienes Python instalado, este, tal vez deberíamos de instalarlo, ¿no? De otra forma. Esta es una de las formas en las
|
| 56 |
+
|
| 57 |
+
00:02:50.180 --> 00:02:57.860
|
| 58 |
+
cuales puede hacer autocomplete, pero te voy a enseñar, os y para no perder más tiempo como en que nos cree este juego en Python,
|
| 59 |
+
|
| 60 |
+
00:02:58.655 --> 00:03:08.095
|
| 61 |
+
voy a enseñar yo cómo la uso usualmente. Aquí voy a crear, de hecho funciona igual que como con WSL, voy a ver una terminal
|
| 62 |
+
|
| 63 |
+
00:03:08.575 --> 00:03:19.110
|
| 64 |
+
aquí nos está diciendo starting Ubuntu, hay que esperar un poco, aquí ya nos abrió directamente lo que sería nuestra terminal de Ubuntu. De hecho,
|
| 65 |
+
|
| 66 |
+
00:03:19.110 --> 00:03:28.695
|
| 67 |
+
yo hago, a hacer un poquito más de zoom para que puedas ver, aquí nos dice que somos code bars, ¿vale? Ahora, por ejemplo, aquí
|
| 68 |
+
|
| 69 |
+
00:03:28.695 --> 00:03:46.820
|
| 70 |
+
tenemos todos nuestros archivos de texto, ¿no? Yo le puedo decir a Warp, simplemente dame un comando que me busque todos mis archivos de texto.
|
| 71 |
+
|
| 72 |
+
00:03:49.300 --> 00:04:00.395
|
| 73 |
+
Aquí va decir que va empezar cargar esto, y por ejemplo, yo le voy a dar aquí con find, por ejemplo, aquí le voy a
|
| 74 |
+
|
| 75 |
+
00:04:00.395 --> 00:04:07.675
|
| 76 |
+
dar, bueno, vamos a usar este comando, dice busca todos los archivos de texto en un directorio y subdirectorios. Aquí dice el directorio en el
|
| 77 |
+
|
| 78 |
+
00:04:07.675 --> 00:04:19.010
|
| 79 |
+
que vamos a buscar estos archivos, ¿no? Y en mi caso, yo le voy decir que sea en este directorio. Dice, ah, no puedes acceder
|
| 80 |
+
|
| 81 |
+
00:04:19.010 --> 00:04:27.625
|
| 82 |
+
como a este archivo, no file or directory, y algo que también nos da Warp, y es lo más interesante, es que yo le puedo
|
| 83 |
+
|
| 84 |
+
00:04:27.625 --> 00:04:37.945
|
| 85 |
+
decir aquí directamente, que es el modo agente, le puedo decir qué es lo que está sucediendo, simplemente hay que pulsar a estos, pues sí,
|
| 86 |
+
|
| 87 |
+
00:04:37.945 --> 00:04:50.790
|
| 88 |
+
como estrellitas que tiene aquí, y le puedo decir qué error tuve en el comando. Mando. Después de que nosotros le ponemos qué error fue
|
| 89 |
+
|
| 90 |
+
00:04:50.790 --> 00:04:58.785
|
| 91 |
+
lo que tuvimos, WARD, como si fuera chat GPT, simplemente nos va a decir por qué ocurrió el error, en nuestro caso es porque no
|
| 92 |
+
|
| 93 |
+
00:04:58.785 --> 00:05:08.625
|
| 94 |
+
sabía que estamos en un entorno Linux, él asumió o la terminal asumió que estábamos en entorno Windows y por eso nos sugirió este comando,
|
| 95 |
+
|
| 96 |
+
00:05:08.625 --> 00:05:18.430
|
| 97 |
+
y nos dice, ah, no te preocupes, puedes ejecutar esto con el comando find punto name punto txt para listar absolutamente todo. Algo que también
|
| 98 |
+
|
| 99 |
+
00:05:18.430 --> 00:05:29.765
|
| 100 |
+
tiene Warp es que podemos visualizar directamente la salida sin siquiera ejecutar el comando y nosotros podemos regresarlo. Otras cosas que también puede hacer, no
|
| 101 |
+
|
| 102 |
+
00:05:29.765 --> 00:05:39.730
|
| 103 |
+
es como, nos dice otra sintaxis que nosotros podemos ejecutar, por ejemplo, o sea, aquí nos dice, fine, es directamente busca desde el directorio actual,
|
| 104 |
+
|
| 105 |
+
00:05:39.730 --> 00:05:51.730
|
| 106 |
+
y esto, the name, es los busca los archivos que podemos hacer. Si nosotros quisiéramos ejecutar como, por ejemplo, este comando, copiar el comando directamente
|
| 107 |
+
|
| 108 |
+
00:05:51.730 --> 00:06:02.105
|
| 109 |
+
de aquí y lo podríamos pegar en esta parte. Y si lo ejecutamos, pues ya tenemos esto de aquí. Ahora, nosotros si damos aquí los
|
| 110 |
+
|
| 111 |
+
00:06:02.105 --> 00:06:11.650
|
| 112 |
+
tres puntos, podemos, como te digo, incluso podemos compartir esta sesión para que alguien más lo pueda ver, podemos copiar el prompt que estuvimos utilizando,
|
| 113 |
+
|
| 114 |
+
00:06:12.690 --> 00:06:22.385
|
| 115 |
+
podemos hacer varias cosas dentro de pero lo más interesante que podemos hacer, sobre todo es, como te digo, nosotros podemos preguntarle a Warp cualquiera
|
| 116 |
+
|
| 117 |
+
00:06:22.385 --> 00:06:45.220
|
| 118 |
+
cosa, y no solamente es como que nos dé un comando, sino que haga procesos, ¿no? Por ejemplo, crea diez directorios con números pares. Aquí
|
| 119 |
+
|
| 120 |
+
00:06:45.220 --> 00:06:57.555
|
| 121 |
+
nos está dando una sentencia y esta es la que se utiliza para, en este caso, vamos a ejecutarla. Aquí tuvimos un error en el
|
| 122 |
+
|
| 123 |
+
00:06:57.555 --> 00:07:06.810
|
| 124 |
+
parse, podríamos hacer lo mismo directamente de buscar qué estuvo, qué fue lo que estuvo sucediendo, ¿no? Pero bueno, ya sabes para qué se utiliza
|
| 125 |
+
|
| 126 |
+
00:07:06.810 --> 00:07:17.545
|
| 127 |
+
Warp. Nosotros podríamos estar iterando continuamente acerca de nuestros comandos y qué fue lo que estuvo sucediendo simplemente utilizando inteligencia artificial. Inteligencia artificial. Sin embargo,
|
| 128 |
+
|
| 129 |
+
00:07:17.545 --> 00:07:25.225
|
| 130 |
+
también Warp es un gran cliente de la terminal, además de que, pues sí, podemos tener, pues aquí como lo ves, varias terminales abiertas a
|
| 131 |
+
|
| 132 |
+
00:07:25.225 --> 00:07:33.620
|
| 133 |
+
la vez, también nos permite tener este modo como lo tiene T-Mooc de paneles, ¿no? Tú puedes tener, aquí por ejemplo, le doy clic derecho
|
| 134 |
+
|
| 135 |
+
00:07:33.780 --> 00:07:42.100
|
| 136 |
+
split paint write, nos va permitir tener otra terminal y esto, pues, como ya lo sabes, nos permite, por ejemplo, yo aquí puedo estar ejecutando
|
| 137 |
+
|
| 138 |
+
00:07:42.100 --> 00:07:51.835
|
| 139 |
+
un top y aquí puedo estar ejecutando cualquier otra cosa, y para, te digo, hacer acceso, o bueno, más bien tener acceso a nuestro agente
|
| 140 |
+
|
| 141 |
+
00:07:51.835 --> 00:08:01.719
|
| 142 |
+
de inteligencia artificial, simplemente ponemos el signo de número o de gato, depende de tu país como lo conozcan, y nosotros podemos preguntarle y ejecutar
|
| 143 |
+
|
| 144 |
+
00:08:01.719 --> 00:08:06.119
|
| 145 |
+
cualquier sentencia solamente con palabras dentro de la terminal.
|
| 146 |
+
|
terminal/26-Recursos complementarios para dominio avanzado de terminal Linux.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6de523809b0caefce0dcce8b1c100c44def6cc6ad4c2d99c55853e6f10644549
|
| 3 |
+
size 31540954
|
terminal/26-Recursos complementarios para dominio avanzado de terminal Linux.sub.vtt
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.640 --> 00:00:08.400
|
| 4 |
+
Hemos llegado al final del curso y no me queda nada más que felicitarte. A lo largo del curso hemos visto múltiples comandos y ya
|
| 5 |
+
|
| 6 |
+
00:00:08.400 --> 00:00:18.285
|
| 7 |
+
estoy seguro que eres un experto acerca de cómo utilizar la terminal. Sin embargo, antes de finalizar, quiero darte unos cuantos tips. El primero de
|
| 8 |
+
|
| 9 |
+
00:00:18.285 --> 00:00:24.845
|
| 10 |
+
ellos es que seas paciente contigo mismo, y es que la terminal no es algo fácil de dominar, no es algo que te va a
|
| 11 |
+
|
| 12 |
+
00:00:24.845 --> 00:00:34.500
|
| 13 |
+
tomar simplemente un par de horas, y aunque estudiando lo vas a lograr, repetición es la clave para ello. Para eso, te he dejado un
|
| 14 |
+
|
| 15 |
+
00:00:34.500 --> 00:00:41.935
|
| 16 |
+
pequeño recurso, velo como un regalo, aquí en la sección de esta clase, en el cual es una cheat sheet, o lo puedes ver como
|
| 17 |
+
|
| 18 |
+
00:00:41.935 --> 00:00:51.055
|
| 19 |
+
una hoja de trucos, en la cual contiene la mayoría de los comandos y unas cuantas características más de lo que vimos alrededor del curso.
|
| 20 |
+
|
| 21 |
+
00:00:51.135 --> 00:00:58.860
|
| 22 |
+
Lo vas a poder consultar siempre que tengas una duda acerca de qué comando deberías de utilizar para cada caso y sus opciones más útiles.
|
| 23 |
+
|
| 24 |
+
00:00:58.860 --> 00:01:04.940
|
| 25 |
+
El segundo consejo que te quiero dar, y sobre todo más que un consejo, es una serie de recursos, te voy a dejar un par
|
| 26 |
+
|
| 27 |
+
00:01:04.940 --> 00:01:13.205
|
| 28 |
+
de libros si tú quieres profundizar acerca de lo que es la terminal. Estos libros son completamente gratis y, de hecho, son open source, el
|
| 29 |
+
|
| 30 |
+
00:01:13.205 --> 00:01:21.365
|
| 31 |
+
primero de ellos es Linux Basic for Hackers, es mi libro favorito para que puedas aprender acerca de la terminal, y en este libro se
|
| 32 |
+
|
| 33 |
+
00:01:21.365 --> 00:01:32.420
|
| 34 |
+
explica de forma detallada cómo la terminal funciona incluso por debajo. Si te quedaste con ganas de más y quieres saber cómo está construida la
|
| 35 |
+
|
| 36 |
+
00:01:32.420 --> 00:01:42.215
|
| 37 |
+
terminal, su historia, e incluso qué herramientas conforman la terminal, este es el libro adecuado para ti. Además, otro de los libros que me gustaría
|
| 38 |
+
|
| 39 |
+
00:01:42.375 --> 00:01:51.090
|
| 40 |
+
recomendarte, si quieres saber incluso más acerca del sistema operativo Linux, pues es de Linux Bible. Este libro no es gratuito, pero te lo recomiendo
|
| 41 |
+
|
| 42 |
+
00:01:51.090 --> 00:02:00.450
|
| 43 |
+
muchísimo. Y también, si quieres saber más acerca del sistema operativo Linux, te recomiendo mucho que tomes el curso de administración de servidores Linux que
|
| 44 |
+
|
| 45 |
+
00:02:00.450 --> 00:02:07.665
|
| 46 |
+
tenemos aquí en Platzi. Es uno de los sistemas operativos más utilizados en el mundo y sin importar a qué te dediques, te doy un
|
| 47 |
+
|
| 48 |
+
00:02:07.665 --> 00:02:17.063
|
| 49 |
+
pequeño spoiler, si sobre todo trabajas en tecnología, en algún punto vas a necesitar saber Linux. Sin nada más por el momento, me queda despedirme
|
| 50 |
+
|
| 51 |
+
00:02:17.063 --> 00:02:19.063
|
| 52 |
+
y recuerda, nunca pares de aprender.
|
| 53 |
+
|
terminal/3-Instalación de terminal Bash en Windows usando WSL.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b310ce5962159ce7d2eae6642bddba275c608279da7e6ec0d5866e74e600d0a2
|
| 3 |
+
size 52676043
|
terminal/3-Instalación de terminal Bash en Windows usando WSL.sub.vtt
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.880 --> 00:00:07.920
|
| 4 |
+
Dado que la mayoría de personas que están iniciando su camino en tecnología lo hacen con un sistema operativo Windows, en esta clase te voy
|
| 5 |
+
|
| 6 |
+
00:00:07.920 --> 00:00:17.695
|
| 7 |
+
a enseñar cómo instalar una terminal Bash usando Windows a través de una utilidad llamada Windows Subsystem for Linux. ¿Qué es lo que vamos a
|
| 8 |
+
|
| 9 |
+
00:00:17.695 --> 00:00:29.135
|
| 10 |
+
realizar? Vamos instalar un sistema operativo emulado a través de una terminal especial llamada WSL. Para ello vas a necesitar un sistema operativo Windows diez
|
| 11 |
+
|
| 12 |
+
00:00:29.135 --> 00:00:39.640
|
| 13 |
+
o Windows once, de preferencia con todas las actualizaciones lo más recientes posibles, porque sino posiblemente no lo vayas a poder instalar. Así que acompáñame
|
| 14 |
+
|
| 15 |
+
00:00:39.640 --> 00:00:47.545
|
| 16 |
+
a una página de Microsoft donde vienen todas las instrucciones de instalación, y la verdad es bastante sencillo, simplemente vamos a ejecutar un par de
|
| 17 |
+
|
| 18 |
+
00:00:47.545 --> 00:00:55.385
|
| 19 |
+
comandos y vamos a tener nuestro sistema WSL completamente listo. En los recursos de esta clase te voy a dejar este enlace que se encuentra
|
| 20 |
+
|
| 21 |
+
00:00:55.385 --> 00:01:03.270
|
| 22 |
+
en la parte de arriba, y lo que yo te recomiendo primero es que vayas a la sección de prerrequisitos. Para ello, te va decir
|
| 23 |
+
|
| 24 |
+
00:01:03.270 --> 00:01:13.555
|
| 25 |
+
qué sistemas operativos son compatibles, como te había mencionado, debes de tener la versión de Windows diez, la versión dos mil cuatro o posterior, específicamente
|
| 26 |
+
|
| 27 |
+
00:01:13.555 --> 00:01:20.595
|
| 28 |
+
esta compilación, para ello simplemente te puedes ir a la parte de acerca de tu equipo y ahí va a venir toda la información. O
|
| 29 |
+
|
| 30 |
+
00:01:20.595 --> 00:01:28.810
|
| 31 |
+
si ya tienes Windows once, es seguro que lo vas a poder instalar y para ello te recomiendo que tengas las últimas actualizaciones. ¿Cómo lo
|
| 32 |
+
|
| 33 |
+
00:01:28.810 --> 00:01:40.585
|
| 34 |
+
vamos instalar? Simplemente vamos ejecutar el comando WSL guion guion install, para ello lo voy a copiar y en donde lo vamos a ejecutar va
|
| 35 |
+
|
| 36 |
+
00:01:40.585 --> 00:01:50.425
|
| 37 |
+
ser en la PowerShell. Pero para ello lo vamos a tener correr como administrador, es algo esencial, si no tienes permiso como administrador en tu
|
| 38 |
+
|
| 39 |
+
00:01:50.425 --> 00:01:59.260
|
| 40 |
+
computadora, pues no vas a poder ejecutar este comando, te recomiendo que tengas estos permisos. ¿Cómo sabes? Si tienes estos permisos, simplemente vas a ir
|
| 41 |
+
|
| 42 |
+
00:01:59.260 --> 00:02:07.435
|
| 43 |
+
aquí a la parte de buscar, le vas a dar aquí en PowerShell, le vas a dar clic derecho y en ejecutar como administrador. Si
|
| 44 |
+
|
| 45 |
+
00:02:07.435 --> 00:02:15.835
|
| 46 |
+
te deja darle que sí sin ningún tipo de contraseña o te sabes la contraseña del administrador, simplemente dale que sí y ejecútalo. ¿Cómo sabes
|
| 47 |
+
|
| 48 |
+
00:02:15.835 --> 00:02:25.370
|
| 49 |
+
que estás corriendo la PowerShell en modo administrador? Y es porque vas a tener que tu ruta de arranque de la terminal es a través
|
| 50 |
+
|
| 51 |
+
00:02:25.370 --> 00:02:35.130
|
| 52 |
+
de c Windows System treinta y dos. Con esto ya sabes que tu terminal está corriendo en modo administrador, lo voy a hacer un poquito
|
| 53 |
+
|
| 54 |
+
00:02:35.130 --> 00:02:45.185
|
| 55 |
+
más grande para que se vea bien, y vamos a pegar nuestro comando que es WSL, guión guión, install. Para ello, también te recomiendo que
|
| 56 |
+
|
| 57 |
+
00:02:45.185 --> 00:02:53.340
|
| 58 |
+
tengas una buena conexión a Internet porque esto va a descargar algunos archivos que tienden a ser bastante pesados. Simplemente le vas a dar enter
|
| 59 |
+
|
| 60 |
+
00:02:53.340 --> 00:03:01.900
|
| 61 |
+
y el comando se va a empezar ejecutar. Lo que va hacer este comando en específico va ser instalar WSL y una vez se termine
|
| 62 |
+
|
| 63 |
+
00:03:01.900 --> 00:03:11.215
|
| 64 |
+
de instalar, va instalar una distribución de Linux, que de hecho es la más usada del mundo, llamada Ubuntu. Es una distribución de Linux basada
|
| 65 |
+
|
| 66 |
+
00:03:11.215 --> 00:03:20.895
|
| 67 |
+
en Debian que ya trae por defecto la de Bash. Esta shell lo que nos va permitir va ser realizar todos los comandos que vamos
|
| 68 |
+
|
| 69 |
+
00:03:20.550 --> 00:03:30.230
|
| 70 |
+
estar haciendo alrededor del curso. Posiblemente esto vaya a tardar un rato, así que déjala ejecutando que en lo que se instala y descarga todo,
|
| 71 |
+
|
| 72 |
+
00:03:30.230 --> 00:03:38.235
|
| 73 |
+
posiblemente lleve de unos minutos a tal vez una hora o dos. En mi caso ya se terminó de descargar Ubuntu y de instalar Ubuntu,
|
| 74 |
+
|
| 75 |
+
00:03:38.235 --> 00:03:50.670
|
| 76 |
+
posiblemente a ti te hayan aparecido más comandos, y aquí ya me dice que distribución instalada correctamente. Se puede iniciar a través de wsl punto
|
| 77 |
+
|
| 78 |
+
00:03:50.670 --> 00:04:02.225
|
| 79 |
+
x, y aquí simplemente nos dice qué distribución vamos a estar ejecutando. Como dato curioso, si quieres administrar tus distribuciones de wsl, simplemente hazlo con
|
| 80 |
+
|
| 81 |
+
00:04:02.225 --> 00:04:15.270
|
| 82 |
+
WSL guion l, y aquí te dice que tu distribución instalada predeterminada es Ubuntu. Para poder seguir con nuestra instalación y ver dónde está nuestro
|
| 83 |
+
|
| 84 |
+
00:04:15.270 --> 00:04:25.270
|
| 85 |
+
WSL, simplemente vas a buscar WSL, y aquí es un pingüinito, y le vas a dar en clic derecho y, ah, aquí, en abrir. Ahí
|
| 86 |
+
|
| 87 |
+
00:04:25.270 --> 00:04:33.925
|
| 88 |
+
está, se va a mostrar esto y va a empezar a ejecutar. Aquí nos está diciendo que se está provisionando la instancia de Ubuntu y
|
| 89 |
+
|
| 90 |
+
00:04:33.925 --> 00:04:42.740
|
| 91 |
+
este paso es sumamente importante, es donde vamos a empezar a crear nuestro usuario. En mi caso, me dice que si quiero crear un usuario,
|
| 92 |
+
|
| 93 |
+
00:04:42.740 --> 00:04:50.100
|
| 94 |
+
yo le voy decir que sí, pero no con el nombre de Enrique, sino de Code Bars. Aquí le voy a poner una contraseña, es
|
| 95 |
+
|
| 96 |
+
00:04:50.100 --> 00:05:00.705
|
| 97 |
+
muy importante que esta contraseña te acuerdes, porque es la que algunas veces te va a pedir la terminal. Aquí pones nueva contraseña, vuelves a
|
| 98 |
+
|
| 99 |
+
00:05:00.705 --> 00:05:12.340
|
| 100 |
+
poner tu contraseña y das enter, y una vez desenter, te van a aparecer todos estos logs donde simplemente ya tenemos instalada nuestra terminal de
|
| 101 |
+
|
| 102 |
+
00:05:12.500 --> 00:05:21.780
|
| 103 |
+
¿Cómo sabemos qué es bash? Vamos a ejecutar uno de nuestros primeros comandos con echo, vamos a poner el signo de dólar y vamos a
|
| 104 |
+
|
| 105 |
+
00:05:21.780 --> 00:05:33.045
|
| 106 |
+
poner la palabra en mayúsculas, esto es muy importante, shell, y aquí podemos ver que dice bin bash. Esto nos indica que tenemos la terminal,
|
| 107 |
+
|
| 108 |
+
00:05:33.045 --> 00:05:44.230
|
| 109 |
+
o bueno, la shell de bash completamente instalada en instalada en nuestro sistema Ubuntu con WSL. Como ves, instalar WSL en Windows es bastante sencillo.
|
| 110 |
+
|
| 111 |
+
00:05:44.310 --> 00:05:53.195
|
| 112 |
+
Sin embargo, si por ciertas limitaciones técnicas, ya sea de tu hardware como que tu computadora no se pueda actualizar a Windows diez incluso o
|
| 113 |
+
|
| 114 |
+
00:05:53.195 --> 00:06:03.035
|
| 115 |
+
once, te recomiendo que instales directamente en tu equipo Ubuntu o si en dado caso tienes, por ejemplo, una Mac y no puedes hacer ninguno
|
| 116 |
+
|
| 117 |
+
00:06:03.035 --> 00:06:11.580
|
| 118 |
+
de este tipo de instalaciones, pues tu problema ya está resuelto, tanto para Linux, que es que instales directamente Ubuntu en tu equipo, o para
|
| 119 |
+
|
| 120 |
+
00:06:11.580 --> 00:06:20.140
|
| 121 |
+
Mac, viene configurado Bash como Shell por defecto en el sistema y vas a poder realizar la serie de comandos que vamos a estar haciendo
|
| 122 |
+
|
| 123 |
+
00:06:20.140 --> 00:06:28.305
|
| 124 |
+
a lo largo del curso. Una pequeña nota y es que algunos comandos en Mac tal vez no te salgan de manera directa, y esto
|
| 125 |
+
|
| 126 |
+
00:06:28.305 --> 00:06:35.745
|
| 127 |
+
es porque Mac no es un sistema Linux completo, es un sistema Unix. Y si tal vez esto te suena en chino porque no sabes
|
| 128 |
+
|
| 129 |
+
00:06:35.745 --> 00:06:46.400
|
| 130 |
+
mucho de sistemas operativos, simplemente imagina que todos los sistemas Linux son peras y, pues Mac es una especie manzana, es un poco diferente. Sin
|
| 131 |
+
|
| 132 |
+
00:06:46.400 --> 00:06:53.314
|
| 133 |
+
embargo, no dejan de ser familiares. Te veo en la siguiente clase para que empecemos a ver nuestros primeros comandos.
|
| 134 |
+
|
terminal/4-Comandos básicos de terminal para principiantes.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d992940891618b6f8a43b5a5ea43681fd2a0d735e3aae5a3339e3110cadc305a
|
| 3 |
+
size 58167470
|
terminal/4-Comandos básicos de terminal para principiantes.sub.vtt
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:08.560
|
| 4 |
+
Esta clase vamos a perderle el miedo a la terminal con nuestros primeros comandos. Te voy a enseñar los comandos más básicos y los más
|
| 5 |
+
|
| 6 |
+
00:00:08.560 --> 00:00:16.795
|
| 7 |
+
útiles que en mi experiencia te van a ayudar a resolver la mayoría de tus problemas porque te sirven para buscar, analizar y sobre todo
|
| 8 |
+
|
| 9 |
+
00:00:16.795 --> 00:00:25.115
|
| 10 |
+
encontrar información de otro tipo de comandos. Así que vamos a nuestra terminal para ejecutar estos comandos juntos. El primer comando que te voy enseñar
|
| 11 |
+
|
| 12 |
+
00:00:25.115 --> 00:00:34.240
|
| 13 |
+
en este momento es el comando who I, pero como es un comando lo vamos a escribir todo juntos. El comando who am I o
|
| 14 |
+
|
| 15 |
+
00:00:34.240 --> 00:00:42.835
|
| 16 |
+
huami, si lo quieres pronunciar así, nos va a indicar cuál es nuestro usuario o con qué usuario estamos logueados actualmente, porque sí, en la
|
| 17 |
+
|
| 18 |
+
00:00:42.835 --> 00:00:50.595
|
| 19 |
+
terminal tenemos un usuario con el cual estamos logueados. De hecho, el usuario que creamos en la clase anterior, así que le voy dar enter
|
| 20 |
+
|
| 21 |
+
00:00:50.595 --> 00:01:02.120
|
| 22 |
+
y aquí podemos ver que mi usuario es Code Bars. Cada uno de nuestros usuarios normalmente tiene un directorio home, y para ver dónde está
|
| 23 |
+
|
| 24 |
+
00:01:02.120 --> 00:01:18.725
|
| 25 |
+
nuestro directorio podemos usar el el comando print working directory. Pero, como buenos desarrolladores, programadores e ingenieros e ingenieras, solemos abreviarlo todo, así que los
|
| 26 |
+
|
| 27 |
+
00:01:18.725 --> 00:01:28.800
|
| 28 |
+
comandos normalmente tienden a ser abreviaciones de todo, en serio, de todo, y el comando print working directory es PWB. Le vamos a dar aquí,
|
| 29 |
+
|
| 30 |
+
00:01:28.800 --> 00:01:38.945
|
| 31 |
+
y aquí me dice que mi folder de usuario se encuentra en home code bars. Aquí es donde va estar viviendo toda la información de
|
| 32 |
+
|
| 33 |
+
00:01:38.945 --> 00:01:50.625
|
| 34 |
+
mi usuario. Si yo quiero mostrar toda la información de mi directorio, dependiendo tu sistema operativo, normalmente en sistemas WSL no hay nada más allá
|
| 35 |
+
|
| 36 |
+
00:01:50.785 --> 00:01:59.520
|
| 37 |
+
de archivos de configuración, pero si estás en Linux o en Mac, posiblemente encuentras más cosas, lo podemos hacer con el comando list o abreviado
|
| 38 |
+
|
| 39 |
+
00:01:59.600 --> 00:02:09.045
|
| 40 |
+
l s. En mi caso, no me muestra nada porque como estoy con WSL, pues no hay carpetas ni archivos, normalmente suele haber carpetas documents,
|
| 41 |
+
|
| 42 |
+
00:02:09.125 --> 00:02:22.090
|
| 43 |
+
downloads, pictures, movies, etcétera. Pero yo puedo pasarle opciones extra a los comandos, de hecho, mayoría de comandos reciben algo llamado options o flags incluso.
|
| 44 |
+
|
| 45 |
+
00:02:22.410 --> 00:02:33.785
|
| 46 |
+
Le voy a dar la opción l s guion a, esto le va a indicar al comando que me muestre todos los archivos, porque sí,
|
| 47 |
+
|
| 48 |
+
00:02:33.785 --> 00:02:44.985
|
| 49 |
+
en Linux la mayoría de archivos pueden ser visibles o no visibles, hay archivos ocultos, normalmente archivos de configuración. Para ello, le doy en l
|
| 50 |
+
|
| 51 |
+
00:02:44.985 --> 00:02:54.530
|
| 52 |
+
s guion a, aquí me va mostrar mis archivos de configuración, por ejemplo, logout, bash r c, de hecho, es la configuración de nuestra shell
|
| 53 |
+
|
| 54 |
+
00:02:54.530 --> 00:03:04.665
|
| 55 |
+
de bash, punto caché y varias cositas que tenemos por ahí. Yo le puedo pasar otro comando, o más bien otra opción, le puedo pasar
|
| 56 |
+
|
| 57 |
+
00:03:04.665 --> 00:03:14.665
|
| 58 |
+
la opción l, y esto lo que va hacer es listarme mis archivos, pero pues no me está mostrando absolutamente nada porque va a listar
|
| 59 |
+
|
| 60 |
+
00:03:14.665 --> 00:03:30.795
|
| 61 |
+
solamente los visibles. Yo puedo combinar estas opciones para hacer comandos todavía más útiles. Si yo combino, por ejemplo, LSLA, me va mostrar toda mi
|
| 62 |
+
|
| 63 |
+
00:03:30.795 --> 00:03:45.630
|
| 64 |
+
información directamente de estos archivos que están aquí ocultos. Si yo incluso cambio el orden de estas opciones, me los va seguir mostrando. Las opciones,
|
| 65 |
+
|
| 66 |
+
00:03:45.630 --> 00:03:56.775
|
| 67 |
+
en la mayoría de comandos, nosotros los podemos cambiar. Ahora, ya estamos viendo demasiada información en nuestra pantalla, debe de existir una forma en la
|
| 68 |
+
|
| 69 |
+
00:03:56.775 --> 00:04:08.615
|
| 70 |
+
cual nosotros podamos limpiarla, y para ello existe el comando clear, y lo vamos a ejecutar. El comando clear es súper útil, nos permite limpiar
|
| 71 |
+
|
| 72 |
+
00:04:08.615 --> 00:04:15.200
|
| 73 |
+
nuestra pantalla y te voy a enseñar aquí un truco de la terminal, y es que si tú presionas la tecla hacia arriba, la flecha
|
| 74 |
+
|
| 75 |
+
00:04:15.200 --> 00:04:24.865
|
| 76 |
+
hacia arriba, nos va mostrar el historial de todos los comandos que hemos ejecutado, así que yo voy a volver a llenar mi pantalla con
|
| 77 |
+
|
| 78 |
+
00:04:24.865 --> 00:04:32.225
|
| 79 |
+
mucho texto, y lo que voy a hacer ahora va ser limpiarlo, pero sin la necesidad del comando clear. Yo lo que puedo hacer para
|
| 80 |
+
|
| 81 |
+
00:04:32.225 --> 00:04:42.260
|
| 82 |
+
limpiarlo en la mayoría de intérpretes de terminal, que puedo presionar control l o command l si estás en Mac, o incluso Mac tiene la
|
| 83 |
+
|
| 84 |
+
00:04:42.260 --> 00:04:52.445
|
| 85 |
+
tecla control y puedes presionar control l y nos va a limpiar completamente nuestra pantalla. Ahora, si yo quiero, por ejemplo, crear texto o algún
|
| 86 |
+
|
| 87 |
+
00:04:52.445 --> 00:05:03.405
|
| 88 |
+
mensajito en nuestra terminal, para eso está el comando echo. Aquí en comando echo yo le puedo pasar, por ejemplo, hola mundo, y nos va
|
| 89 |
+
|
| 90 |
+
00:05:03.405 --> 00:05:16.800
|
| 91 |
+
a mostrar un pequeño mensaje. Aunque el comando echo se usa para cosas más complejas, normalmente scripting es bastante útil. También nosotros podemos hacer o
|
| 92 |
+
|
| 93 |
+
00:05:16.800 --> 00:05:27.925
|
| 94 |
+
visualizar qué opciones tiene un comando, Para ello, la mayoría de comandos, sobre todo los más utilizados, suelen usar, por ejemplo, en l s, algo
|
| 95 |
+
|
| 96 |
+
00:05:27.925 --> 00:05:39.520
|
| 97 |
+
llamado el help. Estos comandos no solo traen opciones, si nosotros normalmente los ponemos con dos guiones, a estos se les llaman flags, y las
|
| 98 |
+
|
| 99 |
+
00:05:39.520 --> 00:05:50.675
|
| 100 |
+
flags normalmente pueden escribirse de esta forma sin recibir un valor, o algunas veces pueden recibir un valor si nosotros, por ejemplo, pusiéramos help igual
|
| 101 |
+
|
| 102 |
+
00:05:50.675 --> 00:06:00.195
|
| 103 |
+
a important. Este no es el caso, pero solamente te lo dejo como dato para que sepas que algunos comandos incluso pueden recibir parámetros para
|
| 104 |
+
|
| 105 |
+
00:06:00.195 --> 00:06:09.410
|
| 106 |
+
hacer cosas obviamente más complejas. Pero a lo que nosotros nos importa principalmente es que si nosotros le ponemos guion guion help a la mayoría
|
| 107 |
+
|
| 108 |
+
00:06:09.410 --> 00:06:22.635
|
| 109 |
+
de comandos, vamos a poder visualizar cuáles son las opciones de este comando. Por ejemplo, aquí yo puedo ver una opción que no te había
|
| 110 |
+
|
| 111 |
+
00:06:22.635 --> 00:06:30.360
|
| 112 |
+
mostrado, que es la guion h, y de hecho esta es una de las opciones más poderosas que tiene el comando ls o list, y
|
| 113 |
+
|
| 114 |
+
00:06:30.360 --> 00:06:41.080
|
| 115 |
+
es que nos puede mostrar en términos humanos o human readable, ¿no? Toda la información que nos muestra este comando. ¿A qué se refiere esto?
|
| 116 |
+
|
| 117 |
+
00:06:41.080 --> 00:06:52.265
|
| 118 |
+
Voy a limpiar pantalla, voy a hacer ls guion la, y aquí vemos como información de un cuatro y cosas ahí medio raras, aquí veo
|
| 119 |
+
|
| 120 |
+
00:06:52.505 --> 00:07:04.430
|
| 121 |
+
algo, pues, unos numeritos, la verdad no sé qué significa, pero si yo le pongo l s guion LAH, aquí dice cuatro kilobytes, y aquí
|
| 122 |
+
|
| 123 |
+
00:07:04.430 --> 00:07:15.795
|
| 124 |
+
dice doscientos veinte. Entonces, nos empieza mostrar información acerca de que esto posiblemente se refiera al tamaño de lo que pesa este archivo, por ejemplo,
|
| 125 |
+
|
| 126 |
+
00:07:15.795 --> 00:07:25.235
|
| 127 |
+
nuestro archivo punto bash r c pesa tres punto siete kilobytes. Algo muy importante que te quiero mostrar también en la terminal son los colores,
|
| 128 |
+
|
| 129 |
+
00:07:25.235 --> 00:07:33.990
|
| 130 |
+
y es que todo lo que se muestre, por ejemplo, en blanco, en mi caso, son archivos, y la mayoría de archivos no vienen aquí
|
| 131 |
+
|
| 132 |
+
00:07:33.990 --> 00:07:46.475
|
| 133 |
+
con una d. Todo lo que venga con una d al inicio suelen ser directorios, y los vas a ver representados usualmente con el color
|
| 134 |
+
|
| 135 |
+
00:07:46.475 --> 00:07:56.555
|
| 136 |
+
azul. Todo esto que se ve con letritas son una serie de permisos que veremos mucho después. A continuación, voy a limpiar mi pantalla, te
|
| 137 |
+
|
| 138 |
+
00:07:56.555 --> 00:08:06.200
|
| 139 |
+
voy a enseñar unos comandos que suelen ser utilidades del sistema. Por ejemplo, si yo uso el comando Uname menos a, esto me va mostrar
|
| 140 |
+
|
| 141 |
+
00:08:06.200 --> 00:08:14.775
|
| 142 |
+
información de mi sistema, aquí dice que es un sistema Linux, esta es mi computadora y, pues bueno, está corriendo sobre lo que es una
|
| 143 |
+
|
| 144 |
+
00:08:14.775 --> 00:08:25.495
|
| 145 |
+
plataforma WSL, por eso el Microsoft estándar WSL dos. Si yo quiero mostrar la fecha, por ejemplo, puedo hacer con date. Ahora, uno de los
|
| 146 |
+
|
| 147 |
+
00:08:25.495 --> 00:08:33.380
|
| 148 |
+
comandos que para mí es son fundamentales y de los más importantes que hay es el comando ¿Qué es man? No, no es de hombre,
|
| 149 |
+
|
| 150 |
+
00:08:33.620 --> 00:08:46.365
|
| 151 |
+
directamente es de manual. Este comando nos permite explorar el manual de cualquier otro comando, por ejemplo, manual de eco. Aquí, si nosotros nos metemos,
|
| 152 |
+
|
| 153 |
+
00:08:46.685 --> 00:08:56.270
|
| 154 |
+
nos va a mostrar una, pues sí, una página, como un pequeño manual dentro de la terminal, el cual nosotros podemos explorar simplemente con las
|
| 155 |
+
|
| 156 |
+
00:08:56.270 --> 00:09:04.670
|
| 157 |
+
flechas de nuestro teclado y nos va a dar todas las opciones que tiene este comando, e incluso aquí podemos ver quién es el autor
|
| 158 |
+
|
| 159 |
+
00:09:04.670 --> 00:09:13.275
|
| 160 |
+
o los autores de estos comandos. En este caso son Brian Fox and Chet Rami. Algo muy importante que también te quiero enseñar es que
|
| 161 |
+
|
| 162 |
+
00:09:13.275 --> 00:09:24.240
|
| 163 |
+
en la mayoría de estas interfaces, usualmente para poder salir, simplemente lo vamos a hacer presionando la tecla q, y con esto ya estamos fuera
|
| 164 |
+
|
| 165 |
+
00:09:24.240 --> 00:09:33.120
|
| 166 |
+
del manual de usuario de este comando que fue el echo. Espero te hayas sentido muy emocionado o emocionada ejecutando tus primeros comandos en la
|
| 167 |
+
|
| 168 |
+
00:09:33.120 --> 00:09:43.835
|
| 169 |
+
terminal, y aún nos faltan muchísimos que explorar, por ejemplo, comandos de red, de compresión, de listado, manipulación de archivos, en fin, hay comandos absolutamente
|
| 170 |
+
|
| 171 |
+
00:09:43.835 --> 00:09:50.672
|
| 172 |
+
para todo, incluso para dibujar dragones que lo veremos mucho después. Así que te veo en la siguiente clase.
|
| 173 |
+
|
terminal/5-Navegación entre directorios en Linux con comandos de terminal.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:27e60f94ac4a9d0aae8a9c357b43b850cf36943dec7f20af54a5709aa38f7db8
|
| 3 |
+
size 84660164
|
terminal/5-Navegación entre directorios en Linux con comandos de terminal.sub.vtt
ADDED
|
@@ -0,0 +1,206 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.560 --> 00:00:10.720
|
| 4 |
+
En esta clase vamos a aprender cómo movernos entre directorios y, en general, cómo navegar alrededor de la terminal. Recuerda que lo que hace una
|
| 5 |
+
|
| 6 |
+
00:00:10.720 --> 00:00:21.465
|
| 7 |
+
Shell o lo que hace en general la terminal es permitirnos interactuar con un sistema operativo simplemente con comandos, y un sistema operativo, como lo
|
| 8 |
+
|
| 9 |
+
00:00:21.465 --> 00:00:32.270
|
| 10 |
+
es Windows, Linux o Mac o cualquier sistema operativo de tu preferencia, incluso Android, suelen tener carpetas y archivos. Y para poder navegar entre carpetas
|
| 11 |
+
|
| 12 |
+
00:00:32.270 --> 00:00:41.425
|
| 13 |
+
y archivos en una interfaz normal, pues tú sueles dar clic a un folder, sueles ir a una ruta en específico, pero eso no lo
|
| 14 |
+
|
| 15 |
+
00:00:41.425 --> 00:00:52.065
|
| 16 |
+
podemos hacer directamente en la terminal, lo que nosotros tenemos que hacer es ejecutar unos comandos para poder movernos entre estas partes. Así que vamos
|
| 17 |
+
|
| 18 |
+
00:00:52.065 --> 00:01:00.840
|
| 19 |
+
a la terminal para que veamos cómo está constituido particularmente los directorios dentro de un sistema Linux, y ya que conozcamos el mapa o cómo
|
| 20 |
+
|
| 21 |
+
00:01:00.840 --> 00:01:15.055
|
| 22 |
+
están estructurado este sistema, ya nos vamos a poder empezar mover, así que acompáñame. Nos encontramos en nuestra terminal, y para ello ya conocemos algunos
|
| 23 |
+
|
| 24 |
+
00:01:15.055 --> 00:01:22.735
|
| 25 |
+
comandos, como por ejemplo, es el ls para listar algunos archivos, pero el primer comando que te quiero enseñar en esta clase es el de
|
| 26 |
+
|
| 27 |
+
00:01:22.735 --> 00:01:34.870
|
| 28 |
+
change directory, el comando c v. Linux, la mayoría de sistemas Linux, de hecho, los sistemas Linux inician a través de una ruta absoluta, y
|
| 29 |
+
|
| 30 |
+
00:01:34.870 --> 00:01:46.285
|
| 31 |
+
esa ruta absoluta nosotros podemos iniciar a través de el símbolo slash. Todo en Linux siempre va estar iniciando a través de un slash, así
|
| 32 |
+
|
| 33 |
+
00:01:46.285 --> 00:01:57.140
|
| 34 |
+
que lo vamos poner aquí en CD, vamos a poner el slash. Ahora, ¿ya ves cómo aquí en mi terminal incluso dice que acabo de
|
| 35 |
+
|
| 36 |
+
00:01:57.140 --> 00:02:06.340
|
| 37 |
+
cambiar de directorio. Normalmente este símbolo que se encuentra aquí, este que es como una s así, chuequita, se le llama el símbolo de virgulilla,
|
| 38 |
+
|
| 39 |
+
00:02:06.340 --> 00:02:15.385
|
| 40 |
+
que es lo que normalmente está encima de la ñ, y este de aquí, pues es nuestro back slash. Este símbolo representa el inicio de
|
| 41 |
+
|
| 42 |
+
00:02:15.385 --> 00:02:24.100
|
| 43 |
+
lo que es un sistema operativo Linux. Ahora, si yo hago un l s aquí, pues ya nos empiezan a aparecer más carpetas. Aquí tenemos
|
| 44 |
+
|
| 45 |
+
00:02:24.100 --> 00:02:33.895
|
| 46 |
+
una carpeta llamada BIN, que como buena abreviación, aquí simplemente hay binarios, dev, init, lib sesenta y cuatro, mount, root, hay muchas carpetas aquí. Vamos
|
| 47 |
+
|
| 48 |
+
00:02:33.895 --> 00:02:42.295
|
| 49 |
+
a ordenarlas un poco más porque nosotros ya sabemos más de comandos y lo que vamos a hacer va ser ordenarlas en una lista. Aquí
|
| 50 |
+
|
| 51 |
+
00:02:42.295 --> 00:02:53.960
|
| 52 |
+
las tenemos. Nuestra lista, y algo que quiero que veas particularmente es nuestra carpeta home, y como te habrás dado cuenta, nosotros cuando ejecutamos el
|
| 53 |
+
|
| 54 |
+
00:02:53.960 --> 00:03:03.895
|
| 55 |
+
comando print working directory, nos decía que nuestra carpeta de usuario, en mi caso code bars, se encontraba en home Codebars, así que vamos navegar
|
| 56 |
+
|
| 57 |
+
00:03:03.895 --> 00:03:15.010
|
| 58 |
+
hacia ella. ¿Cómo lo hacemos? Si todo inicia en la ruta, que simplemente es un slash, pues yo puedo navegar a ella haciendo CD. Aquí
|
| 59 |
+
|
| 60 |
+
00:03:15.010 --> 00:03:22.530
|
| 61 |
+
te voy enseñar un truco que tienen la mayoría de terminales, y es que si yo pongo una ruta absoluta y luego pongo un tabulador,
|
| 62 |
+
|
| 63 |
+
00:03:22.610 --> 00:03:29.865
|
| 64 |
+
no me va a empezar a mostrar hacia dónde puedo navegar, y aquí pues me lista todos los directorios, en mi caso le voy a
|
| 65 |
+
|
| 66 |
+
00:03:29.865 --> 00:03:37.705
|
| 67 |
+
dar home o voy escribir home, aquí puedo autocompletar, por ejemplo, aquí le voy a poner home simplemente, y le voy a dar un tab
|
| 68 |
+
|
| 69 |
+
00:03:37.705 --> 00:03:46.960
|
| 70 |
+
y me va a autocompletar hacia home. Y si ahora yo le pongo, por ejemplo, otro tabulador, me va a autocompletar a Codebars. En mi
|
| 71 |
+
|
| 72 |
+
00:03:46.960 --> 00:03:55.120
|
| 73 |
+
caso, simplemente le voy a dar a home, porque quiero que veas que si yo le doy l s, lo único que hay aquí es
|
| 74 |
+
|
| 75 |
+
00:03:55.120 --> 00:04:09.555
|
| 76 |
+
una carpeta llamada Codebars, y, pues podemos navegar a ella escribiendo CD Code Bars. Y nos encontramos en el mismo lugar de inicio, pero ahora
|
| 77 |
+
|
| 78 |
+
00:04:09.555 --> 00:04:21.220
|
| 79 |
+
te voy a enseñar a navegar de otro tipo de formas. Lo que nosotros hicimos inicialmente se le llama navegación a través de rutas directamente
|
| 80 |
+
|
| 81 |
+
00:04:21.380 --> 00:04:31.315
|
| 82 |
+
fijas, no es a través de rutas relativas. ¿Qué es una ruta relativa? Una ruta relativa es yo decirle al sistema operativo, oye, ¿qué tal
|
| 83 |
+
|
| 84 |
+
00:04:31.315 --> 00:04:40.180
|
| 85 |
+
si te regresas una carpeta hacia atrás o dos hacia atrás? Y eso lo podemos hacer. Por ejemplo, antes de hacer este CD, yo me
|
| 86 |
+
|
| 87 |
+
00:04:40.180 --> 00:04:52.100
|
| 88 |
+
encontraba ubicado en mi carpeta de home. Para ello, voy a usar CD y, si yo hago esto, lo va a hacer de esta forma.
|
| 89 |
+
|
| 90 |
+
00:04:52.260 --> 00:05:02.515
|
| 91 |
+
Ahora, si yo pinto l s, nos vamos a dar cuenta que yo me encuentro ubicado en home y la única carpeta que se encuentra
|
| 92 |
+
|
| 93 |
+
00:05:02.515 --> 00:05:12.630
|
| 94 |
+
aquí es la de print working directory. Voy a limpiar pantalla para seguirte explicando cómo se usan este tipo de operadores. Si yo uso el
|
| 95 |
+
|
| 96 |
+
00:05:12.630 --> 00:05:22.390
|
| 97 |
+
comando Print Working Directory, aquí me va mostrar que me encuentro ubicado en la ruta home. Ahora, si yo quiero, por ejemplo, navegar, pero no
|
| 98 |
+
|
| 99 |
+
00:05:22.390 --> 00:05:35.635
|
| 100 |
+
directamente por el nombre, que sería como lo hice la vez anterior, sino simplemente diciéndole, ok, fíjate directamente en este punto, imagínate que nos vamos
|
| 101 |
+
|
| 102 |
+
00:05:35.635 --> 00:05:44.890
|
| 103 |
+
a parar en este punto, y navega a la única carpeta que hay, en este caso sería punto code bars. Este punto lo único que
|
| 104 |
+
|
| 105 |
+
00:05:44.890 --> 00:05:54.175
|
| 106 |
+
nos está diciendo que es esta ruta específica, que esta ruta en específico es la que nosotros queremos mostrar. Esto es muy útil para muchos
|
| 107 |
+
|
| 108 |
+
00:05:54.175 --> 00:06:03.535
|
| 109 |
+
comandos, como por ejemplo los de búsqueda, cuando queremos buscar únicamente en el directorio en el cual estamos posicionados actualmente, y eso es lo que
|
| 110 |
+
|
| 111 |
+
00:06:03.535 --> 00:06:14.310
|
| 112 |
+
hace el símbolo de punto, así sencillo. Nos dice que empiece a buscar relativo al punto donde nosotros nos quedamos ubicados en ese momento. El
|
| 113 |
+
|
| 114 |
+
00:06:14.310 --> 00:06:23.895
|
| 115 |
+
último operador que nosotros vamos a estar viendo, que nos permite navegar entre directorios, por ejemplo, va ser, si yo me voy a CD a
|
| 116 |
+
|
| 117 |
+
00:06:23.895 --> 00:06:34.695
|
| 118 |
+
la ruta donde lo inicia todo, y yo me quiero regresar a mi directorio home de mi usuario, por ejemplo, usuario, aquí yo voy usar
|
| 119 |
+
|
| 120 |
+
00:06:34.695 --> 00:06:42.670
|
| 121 |
+
el comando whoamy, es code y yo me quiero regresar a nuestro directorio, pues yo ya sé que puedo navegar a través de home, code
|
| 122 |
+
|
| 123 |
+
00:06:42.670 --> 00:06:56.375
|
| 124 |
+
bars, pero si yo uso CD, por ejemplo, el símbolo de la virgulilla que se encuentra justo aquí, pues, yo navego de esta forma, aunque
|
| 125 |
+
|
| 126 |
+
00:06:56.375 --> 00:07:05.520
|
| 127 |
+
parece que no sucedió absolutamente nada, si yo pongo print working directory, nos dice que me encuentro en home code bars, y es que el
|
| 128 |
+
|
| 129 |
+
00:07:05.520 --> 00:07:16.880
|
| 130 |
+
símbolo de Virgulilla lo que hace es que siempre va a estar haciendo referencia a nuestra ubicación del directorio home de nuestro usuario. Esto es
|
| 131 |
+
|
| 132 |
+
00:07:16.880 --> 00:07:41.060
|
| 133 |
+
muy útil, por ejemplo, cuando queremos estar moviendo archivos. Por ejemplo, me voy a a mi directorio root, voy a hacer un l s guion
|
| 134 |
+
|
| 135 |
+
00:07:41.060 --> 00:07:52.215
|
| 136 |
+
LAY digamos que me voy a mover a un lugar, pues, bastante profundo, como por ejemplo, podría ser cd. No, mejor vamos a movernos a
|
| 137 |
+
|
| 138 |
+
00:07:52.215 --> 00:08:09.910
|
| 139 |
+
bar. Ahí suele haber más cosas. Vamos a ver qué hay. Vamos a irnos a local, vamos a irnos a vamos a hacer un LSY
|
| 140 |
+
|
| 141 |
+
00:08:09.910 --> 00:08:20.455
|
| 142 |
+
aquí ya no hay absolutamente nada. Vamos a hacer aquí, o sea, justamente a esta dirección vamos a hacerle un push d. Un push d
|
| 143 |
+
|
| 144 |
+
00:08:20.455 --> 00:08:29.175
|
| 145 |
+
o push directory nos está diciendo, de hecho hay que hacerle push d con referencia al directorio actual, lo que vamos a hacer va ser
|
| 146 |
+
|
| 147 |
+
00:08:29.175 --> 00:08:40.840
|
| 148 |
+
guardar este directorio en una variable, o lo que hace este directorio es como guardar una referencia a un directorio que nosotros queremos regresar, ¿ok?
|
| 149 |
+
|
| 150 |
+
00:08:40.840 --> 00:08:49.505
|
| 151 |
+
Y esto lo vas a ver mucho más sencillo ahorita. Por ejemplo, si yo quiero navegar de manera instantánea y rápida de nuevo este directorio
|
| 152 |
+
|
| 153 |
+
00:08:49.505 --> 00:08:58.545
|
| 154 |
+
sin importar en dónde esté mi sistema, por ejemplo, vamos a irnos a nuestro directorio home en c de home, aquí lo puedo hacer con
|
| 155 |
+
|
| 156 |
+
00:08:58.545 --> 00:09:08.160
|
| 157 |
+
print working directory, estamos en nuestro directorio home y yo hago un pop lo que va hacer el comando pop d es como sacar ese
|
| 158 |
+
|
| 159 |
+
00:09:08.160 --> 00:09:21.195
|
| 160 |
+
directorio y teletransportarnos a esta ubicación. Vamos a hacer ADY directamente nos acaba de mover de regreso a este directorio. No importa cuántas veces navegues,
|
| 161 |
+
|
| 162 |
+
00:09:21.195 --> 00:09:31.900
|
| 163 |
+
no importa cuántos comandos ejecutes, si tú haces un push d a cualquier directorio o a cualquier referencia de directorio y luego haces un popd,
|
| 164 |
+
|
| 165 |
+
00:09:31.900 --> 00:09:42.425
|
| 166 |
+
lo que va hacer es como teletransportarte, moverte al último directorio al cual tenga referencia. Aunque navegar entre directorios pueda parecer un poco difícil al
|
| 167 |
+
|
| 168 |
+
00:09:42.425 --> 00:09:53.000
|
| 169 |
+
inicio porque te puedes tardar en acostumbrarte, trata de pensarlo como una especie de árbol. Si nosotros vemos todos nuestros directorios como un árbol y
|
| 170 |
+
|
| 171 |
+
00:09:53.000 --> 00:10:01.000
|
| 172 |
+
la mayoría de sus subdirectorios como las ramas de ese árbol, nosotros podemos navegar a través de este árbol y podemos ver cada uno de
|
| 173 |
+
|
| 174 |
+
00:10:01.000 --> 00:10:08.175
|
| 175 |
+
sus elementos como las hojas. Hay un punto de nuestro árbol donde ya no vamos a poder estar navegando, ya no va haber más hojas
|
| 176 |
+
|
| 177 |
+
00:10:08.175 --> 00:10:18.575
|
| 178 |
+
que nosotros podamos explorar. Sin embargo, siempre vamos a poder utilizar estos comandos para hacer referencias a lugares específicos de nuestro árbol y ver qué
|
| 179 |
+
|
| 180 |
+
00:10:18.575 --> 00:10:28.950
|
| 181 |
+
estaba pasando en ese momento. También es muy importante que tengas muy en claro para qué nos sirven los símbolos que estuvimos viendo a lo
|
| 182 |
+
|
| 183 |
+
00:10:28.950 --> 00:10:37.110
|
| 184 |
+
largo del sistema, como lo es el punto, que hace referencia al directorio en el cual estamos ubicados. Esto siempre lo puedes ver con print
|
| 185 |
+
|
| 186 |
+
00:10:37.110 --> 00:10:48.055
|
| 187 |
+
working directory, siempre va ser igual al símbolo punto, si tú haces punto punto directamente nos va permitir navegar dos directorios hacia atrás, y de
|
| 188 |
+
|
| 189 |
+
00:10:48.055 --> 00:10:57.780
|
| 190 |
+
hecho, tú usas con rutas relativas punto punto slash punto punto, te va hacer un back slash, es decir, a navegar dos directorios hacia atrás,
|
| 191 |
+
|
| 192 |
+
00:10:57.780 --> 00:11:08.675
|
| 193 |
+
entonces eso suele ser bastante útil en muchas ocasiones. Y por último, símbolo virgulilla que nos va a permitir navegar a nuestro directorio home o
|
| 194 |
+
|
| 195 |
+
00:11:08.675 --> 00:11:18.515
|
| 196 |
+
va a permitirnos hacer referencia a nuestro directorio home, como por ejemplo, simplemente con un comando decir que haga algo en nuestro home o en
|
| 197 |
+
|
| 198 |
+
00:11:18.515 --> 00:11:29.230
|
| 199 |
+
parte de nuestro home. Con esto ya puedes hacer diferentes cosas en el sistema. Te recomiendo que empieces a explorar, tienes un par de LSS,
|
| 200 |
+
|
| 201 |
+
00:11:29.230 --> 00:11:36.386
|
| 202 |
+
un par de CDs a lo largo de todo el sistema Linux, y nos vemos en la siguiente clase para que sigamos aprendiendo más acerca
|
| 203 |
+
|
| 204 |
+
00:11:36.386 --> 00:11:37.266
|
| 205 |
+
de nuestros comandos.
|
| 206 |
+
|
terminal/6-Comandos Linux para crear, mover, copiar y eliminar archivos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6e971f674a572ca2a7034b5cc5dcb74f5fcbd0e9a1105a6be99128d6e987537e
|
| 3 |
+
size 82879768
|
terminal/6-Comandos Linux para crear, mover, copiar y eliminar archivos.sub.vtt
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.560 --> 00:00:12.720
|
| 4 |
+
En esta clase aprenderemos cómo crear archivos y directorios. En general, cómo manipularlos, copiarlos, eliminarlos, moverlos, renombrarlos, todo lo que hacemos directamente desde una interfaz
|
| 5 |
+
|
| 6 |
+
00:00:12.720 --> 00:00:22.425
|
| 7 |
+
gráfica en cualquier sistema operativo que puede ser realmente sencillo, lo vamos aprender a hacer directamente en la terminal. ¿Por qué esto es importante? Pues,
|
| 8 |
+
|
| 9 |
+
00:00:22.905 --> 00:00:33.240
|
| 10 |
+
aunque no lo creas, es de suma relevancia en el mundo de la tecnología, sobre todo si trabajas, por ejemplo, como data scientist, vas a
|
| 11 |
+
|
| 12 |
+
00:00:33.240 --> 00:00:44.120
|
| 13 |
+
tener que trabajar con un volumen de datos enorme, y hacer esto en una interfaz gráfica es la muerte, simplemente es tremendamente lento. Hacer esto
|
| 14 |
+
|
| 15 |
+
00:00:44.120 --> 00:00:53.045
|
| 16 |
+
desde una terminal tiene una ventaja inigualable, y es por eso que tienes que aprender estos comandos porque los vas a estar utilizando en tu
|
| 17 |
+
|
| 18 |
+
00:00:53.045 --> 00:01:01.730
|
| 19 |
+
día a día. Así que acompáñame para que los empecemos a ejecutar juntos. Nos encontramos en nuestra querida terminal y el primer comando que te
|
| 20 |
+
|
| 21 |
+
00:01:01.730 --> 00:01:12.585
|
| 22 |
+
voy a enseñar para crear cualquier clase de archivo es el comando touch. El comando touch nos crea cualquier clase de archivo, recuerda que un
|
| 23 |
+
|
| 24 |
+
00:01:12.585 --> 00:01:21.065
|
| 25 |
+
archivo puede ser un archivo de texto, un archivo markdown, un archivo en general, suelen ser archivos de texto, así que lo voy a poner
|
| 26 |
+
|
| 27 |
+
00:01:21.065 --> 00:01:31.630
|
| 28 |
+
como un archivo punto TXT, así que voy a crear aquí un touch archivo punto TXTY voy a hacer un LSY por primera vez ya
|
| 29 |
+
|
| 30 |
+
00:01:31.630 --> 00:01:45.705
|
| 31 |
+
tenemos algo en nuestro directorio home. Ahora, por ejemplo, si yo quisiera crear una carpeta llamada documentos, por ejemplo, yo puedo hacerlo con el comando
|
| 32 |
+
|
| 33 |
+
00:01:45.705 --> 00:01:58.560
|
| 34 |
+
make directory, pero como están abreviados, lo podemos hacer con el comando mkdir. Para ello, ponemos el nombre de nuestra carpeta, documentos, y le damos
|
| 35 |
+
|
| 36 |
+
00:01:58.560 --> 00:02:10.400
|
| 37 |
+
en en ejecutar. Ahora, voy a navegar a mi carpeta documentos y te voy a enseñar un truco, y es que si yo utilizo el
|
| 38 |
+
|
| 39 |
+
00:02:10.400 --> 00:02:23.705
|
| 40 |
+
comando mkdir con la flag menos p, yo puedo crear una serie de subcarpetas. Por ejemplo, si yo quisiera crear una carpeta de la escuela
|
| 41 |
+
|
| 42 |
+
00:02:24.185 --> 00:02:39.600
|
| 43 |
+
directamente aquí, y, a lo mejor, tengo una materia de matemáticas, me va a permitir esto crear estas carpetas. Aquí tenemos mi carpeta escuela, y
|
| 44 |
+
|
| 45 |
+
00:02:39.600 --> 00:02:51.535
|
| 46 |
+
si yo, por ejemplo, doy LSY le doy en escuela, vemos que dentro tiene la carpeta matemáticas. Ahora que sabemos esto, por ejemplo, si a
|
| 47 |
+
|
| 48 |
+
00:02:51.535 --> 00:03:05.510
|
| 49 |
+
lo mejor yo no quería que este archivo o esta carpeta se llamara escuela y yo la quería llamar, no sé, colegio, por ejemplo, vamos
|
| 50 |
+
|
| 51 |
+
00:03:05.510 --> 00:03:12.835
|
| 52 |
+
a usar el comando m b. El comando m b, ahorita lo vamos a ver también, es para mover. De hecho, te lo voy enseñar
|
| 53 |
+
|
| 54 |
+
00:03:12.835 --> 00:03:24.930
|
| 55 |
+
primero. Por ejemplo, si queremos sacar el la carpeta matemáticas afuera, lo podemos hacer m b, escuela, matemáticas, y le vamos a decir que nos
|
| 56 |
+
|
| 57 |
+
00:03:24.930 --> 00:03:35.345
|
| 58 |
+
la mueva justo al mismo nivel que escuela, es decir, en este mismo directorio. Si le doy aquí l s guion l, nos damos cuenta
|
| 59 |
+
|
| 60 |
+
00:03:35.345 --> 00:03:43.505
|
| 61 |
+
que como yo le dije que fuera en esta misma ruta, pues las dos están al mismo nivel. La vamos a mover de regreso, ¿cómo
|
| 62 |
+
|
| 63 |
+
00:03:43.505 --> 00:03:58.560
|
| 64 |
+
hacemos esto? Pues matemáticas, la carpeta matemáticas la vamos a mover dentro de escuela. Hacemos esto y hacemos un l s de nuestra escuela, y
|
| 65 |
+
|
| 66 |
+
00:03:58.560 --> 00:04:06.585
|
| 67 |
+
aquí está nuestra carpeta matemáticas. Muy bien, nos estamos dando cuenta que nuestros comandos funcionan, y si yo quiero renombrar, que es lo que te
|
| 68 |
+
|
| 69 |
+
00:04:06.585 --> 00:04:16.745
|
| 70 |
+
quería enseñar, yo puedo decirle, por ejemplo, a mi carpeta escuela, que es la que tenemos justo aquí, que no quiero que se llame escuela,
|
| 71 |
+
|
| 72 |
+
00:04:17.380 --> 00:04:26.980
|
| 73 |
+
yo quiero que esta carpeta, en vez de escuela, de hecho, a usarlo así, esta carpeta escuela quiero que se llame colegio. La forma de
|
| 74 |
+
|
| 75 |
+
00:04:26.980 --> 00:04:39.465
|
| 76 |
+
renombrar tanto archivos como directorios en Linux simplemente es con el comando m b. Aquí lo hacemos y, ahora sí listo, vemos que tenemos la
|
| 77 |
+
|
| 78 |
+
00:04:39.465 --> 00:04:51.560
|
| 79 |
+
carpeta llamada colegio y dentro de la carpeta llamada colegio vamos a tener la carpeta llamada matemáticas. Voy a hacer una limpieza de mi pantalla
|
| 80 |
+
|
| 81 |
+
00:04:51.560 --> 00:05:00.305
|
| 82 |
+
para que todo se vea mucho mejor. Dentro de mi carpeta documentos voy a una serie de archivos, por ejemplo, voy a crear un archivo
|
| 83 |
+
|
| 84 |
+
00:05:00.305 --> 00:05:14.280
|
| 85 |
+
llamado archivo dos, para que tengamos referencia de estos archivos, y voy a crear un archivo tres. ¿Cómo puse este comando tan rápido? Recuerda que
|
| 86 |
+
|
| 87 |
+
00:05:14.280 --> 00:05:23.000
|
| 88 |
+
puedes hacer referencia a los comandos que ya hayas usado, simplemente dando clic a la flecha de arriba de tu teclado y te va aparecer
|
| 89 |
+
|
| 90 |
+
00:05:23.320 --> 00:05:38.005
|
| 91 |
+
touch archivo tres y vamos a hacer un l s guion LAY aquí tenemos nuestros archivos. Ahora, muy, muy, muy importante, ¿qué pasa si yo
|
| 92 |
+
|
| 93 |
+
00:05:38.005 --> 00:05:48.030
|
| 94 |
+
quiero eliminar este archivo? Y este es uno de los comandos más peligrosos y más importantes que tienes que aprender en Linux y lo tienes
|
| 95 |
+
|
| 96 |
+
00:05:48.030 --> 00:06:00.935
|
| 97 |
+
que usar con mucho cuidado porque no existe papelera de reciclaje en la terminal, así que 10 cuidado. Existe el comando remove. El comando remove
|
| 98 |
+
|
| 99 |
+
00:06:00.935 --> 00:06:14.560
|
| 100 |
+
nos va a permitir eliminar cualquier archivo que nosotros queramos. Aquí, por ejemplo, si le doy remove archivo tres punto txt, pues nos va permitir
|
| 101 |
+
|
| 102 |
+
00:06:14.880 --> 00:06:26.225
|
| 103 |
+
hacer este archivo, bueno, archivo, de hecho, se acaba de eliminar, ya no existe. Otra forma de crear archivos es con el comando echo y
|
| 104 |
+
|
| 105 |
+
00:06:26.225 --> 00:06:36.545
|
| 106 |
+
podemos crearlos con contenido. Por ejemplo, aquí yo puedo hacer un hola mundo, y si nosotros usamos el símbolo de mayor que de nuestro teclado
|
| 107 |
+
|
| 108 |
+
00:06:36.705 --> 00:06:49.630
|
| 109 |
+
y le ponemos el nombre de este archivo, saludo, por ejemplo, punto txt, y damos un l s guion l a, vamos a ver que
|
| 110 |
+
|
| 111 |
+
00:06:49.630 --> 00:07:00.195
|
| 112 |
+
tenemos ahora un archivo llamado saludo punto txt, ¿y cómo sabemos que tenemos contenido? Porque tiene un peso, esto significa que tiene contenido dentro. También,
|
| 113 |
+
|
| 114 |
+
00:07:00.195 --> 00:07:09.360
|
| 115 |
+
aquí te doy un spoiler, existe un comando llamado cat, que si yo le paso cualquier archivo, va a mostrar su contenido. Voy a limpiar
|
| 116 |
+
|
| 117 |
+
00:07:09.360 --> 00:07:21.395
|
| 118 |
+
pantalla para que veamos cómo yo puedo copiar archivos. Voy a hacer un clear, control l y tenemos nuestra pantalla limpia. Para copiar archivos, lo
|
| 119 |
+
|
| 120 |
+
00:07:21.395 --> 00:07:32.595
|
| 121 |
+
que yo puedo hacer, por ejemplo, puedo hacer un copy de mi saludo punto txt, y ahora lo voy a llamar adiós punto txt. Voy
|
| 122 |
+
|
| 123 |
+
00:07:32.595 --> 00:07:44.150
|
| 124 |
+
a hacer un ls guion LAY aquí tenemos tanto un adiós punto TXT como un saludo punto TXT. Vamos a regresarnos a una carpeta atrás
|
| 125 |
+
|
| 126 |
+
00:07:44.150 --> 00:07:54.855
|
| 127 |
+
porque ya hemos creado muchos archivos en esta parte, y voy a hacer un LSY ahora tenemos una carpeta documentos. Pero, ¿qué pasa si, por
|
| 128 |
+
|
| 129 |
+
00:07:54.855 --> 00:08:03.335
|
| 130 |
+
ejemplo, yo quiero hacer un respaldo de mi carpeta documentos? Pues, vez estés pensando, ah, pues simplemente es hacer una copia, yo voy a hacer
|
| 131 |
+
|
| 132 |
+
00:08:04.030 --> 00:08:18.795
|
| 133 |
+
copia de documents, porque yo ya sé usar la terminal increíblemente bien, y voy a ponerle, por ejemplo, documentos, respaldo de esta forma. Y aquí
|
| 134 |
+
|
| 135 |
+
00:08:18.795 --> 00:08:30.395
|
| 136 |
+
nos va decir que tenemos un error, y es que cuando nosotros intentamos hacer el comando copy de un directorio que ya tiene cosas dentro,
|
| 137 |
+
|
| 138 |
+
00:08:30.395 --> 00:08:42.620
|
| 139 |
+
tenemos que pasarle la flag r o la opción r. Esto significa de recursive o de recursivo, es decir, que lo haga varias veces. Documentos
|
| 140 |
+
|
| 141 |
+
00:08:43.100 --> 00:08:54.395
|
| 142 |
+
respaldo. Vamos hacerlo aquí y ya no lo ejecutó, hacemos un l s guion LAY aquí vemos nuestra carpeta y si vemos el contenido de
|
| 143 |
+
|
| 144 |
+
00:08:54.395 --> 00:09:03.470
|
| 145 |
+
esta carpeta, documentos respaldo, pues nos damos cuenta que es la misma que la de documentos. Voy a hacer una limpieza de pantalla y ahora
|
| 146 |
+
|
| 147 |
+
00:09:03.470 --> 00:09:12.110
|
| 148 |
+
vamos a cambiarle el nombre, pero le vamos a cambiar el nombre a ese respaldo a uno, que es bastante importante. Por ejemplo, si yo
|
| 149 |
+
|
| 150 |
+
00:09:12.110 --> 00:09:22.845
|
| 151 |
+
le quiero cambiar ahora que tenga un espacio, como lo usaría en cualquier interfaz de usuario que nos permite espacio, simplemente yo abro comillas simples
|
| 152 |
+
|
| 153 |
+
00:09:22.845 --> 00:09:35.700
|
| 154 |
+
y ahora nos permite cambiarle el nombre a uno con espacios. Ahora te voy a enseñar uno de los comandos más peligrosos todavía que el
|
| 155 |
+
|
| 156 |
+
00:09:35.700 --> 00:09:43.855
|
| 157 |
+
remove y es el que sirve para borrar el contenido de un directorio y todo el contenido que además tenga dentro, y ese es el
|
| 158 |
+
|
| 159 |
+
00:09:43.855 --> 00:09:55.935
|
| 160 |
+
comando remove menos r. El comando remove menos r nos va permitir borrar todo el contenido de un directorio no vacío de forma, pues, recursiva.
|
| 161 |
+
|
| 162 |
+
00:09:56.450 --> 00:10:07.490
|
| 163 |
+
Aquí le vamos a poner documentos respaldo. Ah, claro, ahora como tiene espacio, pues lo debemos de especificar. Para esto simplemente hacemos esto, documentos respaldo,
|
| 164 |
+
|
| 165 |
+
00:10:07.570 --> 00:10:20.855
|
| 166 |
+
vamos a ponerlo aquí, documentos, respaldo, ahí está, y vamos a borrar. Ahora, si nosotros vemos que hay aquí, nos damos cuenta de que no
|
| 167 |
+
|
| 168 |
+
00:10:20.855 --> 00:10:35.290
|
| 169 |
+
tiene absolutamente nada nuestra carpeta de home, porque acabamos de borrar el documentos respaldo. Normalmente, cuando suelen ser archivos más complejos, suele abrirse algo llamado
|
| 170 |
+
|
| 171 |
+
00:10:35.290 --> 00:10:45.275
|
| 172 |
+
el modo interactivo, que te empieza preguntar si quieres borrarlo de manera uno por uno. En mi caso, también voy a borrar la carpeta de
|
| 173 |
+
|
| 174 |
+
00:10:45.275 --> 00:10:54.730
|
| 175 |
+
documentos y lo voy a hacer ahora, pero con una opción todavía más fuerte llamada force. La opción force, y este es el comando de
|
| 176 |
+
|
| 177 |
+
00:10:54.730 --> 00:11:04.170
|
| 178 |
+
los comandos, de hecho, complicados que suele haber en en Linux, y es que este comando nos permite borrar absolutamente todo sin tener que entrar
|
| 179 |
+
|
| 180 |
+
00:11:04.170 --> 00:11:13.445
|
| 181 |
+
en modo interactivo, sin tener que preguntar absolutamente nada. Si tienes los permisos para poder interactuar con cada uno de esos archivos, lo va ejecutar.
|
| 182 |
+
|
| 183 |
+
00:11:13.525 --> 00:11:20.850
|
| 184 |
+
En mi caso, pues sí lo va hacer porque, pues nosotros los hemos estado creando. Así que si yo le pongo remove menos, bueno, la
|
| 185 |
+
|
| 186 |
+
00:11:20.850 --> 00:11:31.090
|
| 187 |
+
opción de recursive y la f de force, y lo ejecuto y lo vuelvo a listar, pues nos damos cuenta que hemos eliminado todo lo
|
| 188 |
+
|
| 189 |
+
00:11:31.090 --> 00:11:40.425
|
| 190 |
+
que hemos creado en esta clase, pero hemos aprendido bastante en el proceso. Como ves, manipular archivos y directorios en Linux es bastante, bastante sencillo.
|
| 191 |
+
|
| 192 |
+
00:11:40.505 --> 00:11:50.025
|
| 193 |
+
Sin embargo, el comando más peligroso que existe en este sistema operativo es el comando remove. Te recomiendo que siempre trates de hacerlo de forma
|
| 194 |
+
|
| 195 |
+
00:11:50.265 --> 00:11:58.480
|
| 196 |
+
interactiva. Trata de evitar usar el remove guion r force porque no tienes la cantidad, no te imaginas la cantidad de historias de terror que
|
| 197 |
+
|
| 198 |
+
00:11:58.480 --> 00:12:07.105
|
| 199 |
+
he escuchado a lo largo de mi carrera profesional por personas que ejecutaron este comando de forma errónea. Incluso hay historias a lo largo de
|
| 200 |
+
|
| 201 |
+
00:12:07.105 --> 00:12:16.385
|
| 202 |
+
la industria que cuentan cómo este comando ha arruinado proyectos enteros, así que 10 mucha precaución de dónde lo ejecutas y cuándo lo ejecutas, y
|
| 203 |
+
|
| 204 |
+
00:12:16.385 --> 00:12:25.600
|
| 205 |
+
en qué entornos, sobre todo. Así que, una vez sabiendo esto, te veo en la siguiente clase para que puedas aprender más sobre estos comandos.
|
| 206 |
+
|
| 207 |
+
00:12:25.600 --> 00:12:32.975
|
| 208 |
+
Sin embargo, antes de que acabe la clase, te dejo un pequeño reto, y es que ya que sabes más acerca de los comandos que
|
| 209 |
+
|
| 210 |
+
00:12:32.975 --> 00:12:42.335
|
| 211 |
+
hemos explorado, usa el comando man para ver la mayoría de opciones que tienen estos comandos, tanto el copy, el ls, el touch, todo lo
|
| 212 |
+
|
| 213 |
+
00:12:42.335 --> 00:12:51.070
|
| 214 |
+
que hemos visto hasta el momento. ¿Para qué? Para que trates de hacer algunos pequeños ejercicios. Por ejemplo, ¿cómo podría yo copiar un archivo y
|
| 215 |
+
|
| 216 |
+
00:12:51.070 --> 00:13:00.830
|
| 217 |
+
ver qué está haciendo el copy en el proceso? Existe una opción para ello. ¿Cómo podría, por ejemplo, borrar un directorio solamente si está vacío?
|
| 218 |
+
|
| 219 |
+
00:13:00.830 --> 00:13:07.310
|
| 220 |
+
Existen opciones para ello. Así que sé curioso, trata de investigar un poco y nos vemos en la siguiente clase.
|
| 221 |
+
|
terminal/7-Comandos para explorar y manipular archivos de texto en terminal.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d0c7a7b73bff3f59ae1c2bad2092ee6d72e23a0cb3ae37032e376720818505ef
|
| 3 |
+
size 97855562
|
terminal/7-Comandos para explorar y manipular archivos de texto en terminal.sub.vtt
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
WEBVTT
|
| 2 |
+
|
| 3 |
+
00:00:00.800 --> 00:00:10.800
|
| 4 |
+
Esta clase veremos a ver usos más específicos de los comandos de la terminal, y es que en cualquier sistema operativo existe una cantidad enorme
|
| 5 |
+
|
| 6 |
+
00:00:10.800 --> 00:00:21.855
|
| 7 |
+
de archivos de texto plano, Y cuando nosotros estamos procesando, por ejemplo, de datos o estamos descargando cierto tipos de archivos como lo puede hacer
|
| 8 |
+
|
| 9 |
+
00:00:21.855 --> 00:00:29.680
|
| 10 |
+
una página web, un archivo UCB que a mejor contenga cierto tipo de información y no tenemos una interfaz gráfica, como lo puede ser en
|
| 11 |
+
|
| 12 |
+
00:00:29.680 --> 00:00:37.600
|
| 13 |
+
el caso de la terminal, existen comandos que nos van a permitir explorar el contenido de estos archivos. En clases anteriores ya usamos, por ejemplo,
|
| 14 |
+
|
| 15 |
+
00:00:37.600 --> 00:00:46.575
|
| 16 |
+
el comando cat, que nos permite ver el contenido de un archivo, pero existen comandos más avanzados que nos permiten saber tanto información, cómo explorarlos
|
| 17 |
+
|
| 18 |
+
00:00:46.575 --> 00:00:55.935
|
| 19 |
+
de manera más tranquila y sencilla. Así que acompáñame en la terminal para que veamos cómo se utilizan estos comandos con diferentes tipos de archivos.
|
| 20 |
+
|
| 21 |
+
00:00:56.210 --> 00:01:05.090
|
| 22 |
+
Nos encontramos en nuestra terminal y lo primero que voy a hacer va ser crear una carpeta llamada textos. Para ello voy a hacer mkdir
|
| 23 |
+
|
| 24 |
+
00:01:05.090 --> 00:01:14.495
|
| 25 |
+
textos, un LSY aquí está nuestra carpeta textos. En los recursos de la clase te voy a dejar dos archivos, uno llamado cien datos curiosos
|
| 26 |
+
|
| 27 |
+
00:01:14.495 --> 00:01:22.895
|
| 28 |
+
sobre Linux, y el otro uno llamado Marvel Wiki, que estaremos utilizando a lo largo de esta clase. Los voy a seleccionar y los voy
|
| 29 |
+
|
| 30 |
+
00:01:23.375 --> 00:01:33.820
|
| 31 |
+
a copiar. Ahora, voy a abrir un nuevo explorador de archivos y lo siguiente que voy a hacer va ser copiarlos en mi directorio de
|
| 32 |
+
|
| 33 |
+
00:01:33.820 --> 00:01:44.855
|
| 34 |
+
usuario. En mi caso, como estoy usando WSL, donde se encuentra todo lo que es relacionado a mi usuario es directamente en Linux, Ubuntu. Recuerda
|
| 35 |
+
|
| 36 |
+
00:01:44.855 --> 00:01:55.450
|
| 37 |
+
que nuestro usuario se ubica en home, el nombre de nuestro usuario, y aquí está nuestra carpeta textos. Aquí lo voy a pegar, y aunque
|
| 38 |
+
|
| 39 |
+
00:01:55.450 --> 00:02:03.530
|
| 40 |
+
no veas que se haya pegado absolutamente nada, simplemente le tienes que dar aquí en recargar. Dado que estamos copiando de un sistema operativo a
|
| 41 |
+
|
| 42 |
+
00:02:03.530 --> 00:02:15.695
|
| 43 |
+
otro, lo que yo te recomiendo es que borres estos archivos que dicen son identifier, y ya vamos a tener nuestros archivos completamente pegados. Si
|
| 44 |
+
|
| 45 |
+
00:02:15.695 --> 00:02:23.800
|
| 46 |
+
estás usando Linux o Max de de manera nativa, pues simplemente cópialos y pégalos en la carpeta en el sistema de archivos, como lo estás
|
| 47 |
+
|
| 48 |
+
00:02:23.800 --> 00:02:32.440
|
| 49 |
+
utilizando de manera normal en tu día a día. Ahora que ya tenemos copiados nuestros archivos, voy a limpiar pantalla y vamos a empezar a
|
| 50 |
+
|
| 51 |
+
00:02:32.440 --> 00:02:43.695
|
| 52 |
+
hacer la manipulación de nuestros archivos en nuestro sistema operativo. Vamos a navegar a nuestra carpeta textos y aquí vamos tener nuestros dos archivos. ¿Cómo
|
| 53 |
+
|
| 54 |
+
00:02:43.695 --> 00:02:53.280
|
| 55 |
+
podemos ver el contenido de cada uno de estos? Primer comando que vamos usar es el comando cat. Cat lo que va hacer va ser
|
| 56 |
+
|
| 57 |
+
00:02:53.280 --> 00:03:06.045
|
| 58 |
+
mostrarnos todo el contenido de nuestro archivo. Aquí puedes ver cada uno de, pues, los cien datos curiosos que tiene este archivo. Sin embargo, si
|
| 59 |
+
|
| 60 |
+
00:03:06.365 --> 00:03:15.805
|
| 61 |
+
intentamos explorar archivos más grandes de texto, como lo puede ser un archivo CCV con un comando como lo es cat, por ejemplo, vamos a
|
| 62 |
+
|
| 63 |
+
00:03:15.805 --> 00:03:30.960
|
| 64 |
+
hacer de Marvel Wiki, pues nos muestra un montón de texto y ya no vamos a poder leer absolutamente nada. Si nosotros queremos, por ejemplo,
|
| 65 |
+
|
| 66 |
+
00:03:31.600 --> 00:03:41.855
|
| 67 |
+
ver de manera más pausada o incluso navegar a lo largo de este archivo, podemos hacer uso del comando less. Vamos a hacer marvel wiki
|
| 68 |
+
|
| 69 |
+
00:03:41.855 --> 00:03:52.920
|
| 70 |
+
y esto nos va abrir una interfaz interactiva en la cual incluso nosotros podemos buscar algún término, un archivo CCV básicamente es como una minibase
|
| 71 |
+
|
| 72 |
+
00:03:52.920 --> 00:04:03.475
|
| 73 |
+
de datos y en este caso pues tenemos todo que son súper héroes. Por ejemplo, yo podría buscar spider directamente aquí, simplemente presiono dos puntos
|
| 74 |
+
|
| 75 |
+
00:04:03.795 --> 00:04:11.795
|
| 76 |
+
y vamos a poner aquí nuestro input, aquí dice input is not a pipe, ¿ok? A lo mejor es por entorno de WSL que estoy
|
| 77 |
+
|
| 78 |
+
00:04:11.795 --> 00:04:21.680
|
| 79 |
+
ejecutando, pero lo que nos permite es navegar alrededor de nuestro archivo y si yo quiero salir de mi archivo, presiono la tecla q y
|
| 80 |
+
|
| 81 |
+
00:04:21.680 --> 00:04:31.415
|
| 82 |
+
así se acabó, ¿vale? Otro de los comandos que vamos a estar utilizando, por ejemplo, es el comando heft. Si yo quiero mostrar, por ejemplo,
|
| 83 |
+
|
| 84 |
+
00:04:31.735 --> 00:04:43.975
|
| 85 |
+
de mi archivo cien datos curiosos sobre Linux, las primeras diez líneas, con jef lo puedo realizar, pero si quiero mostrar las últimas diez líneas,
|
| 86 |
+
|
| 87 |
+
00:04:44.220 --> 00:04:55.420
|
| 88 |
+
lo puedo hacer con el comando Aquí lo vamos a hacer tail, cien datos curiosos sobre Linux, y nos lo va mostrar. Voy a limpiar
|
| 89 |
+
|
| 90 |
+
00:04:55.420 --> 00:05:04.045
|
| 91 |
+
pantalla y voy a mostrarte algunas de las opciones más útiles que tienen estos comandos. Tanto el comando head como el comando tail tienen la
|
| 92 |
+
|
| 93 |
+
00:05:04.045 --> 00:05:14.630
|
| 94 |
+
opción n. N es el número de líneas que nosotros podemos mostrar, por ejemplo, yo podría pasarle veinte. Y aquí me va a mostrar las
|
| 95 |
+
|
| 96 |
+
00:05:14.630 --> 00:05:33.475
|
| 97 |
+
primeras veinte líneas de este archivo, y tail funciona exactamente igual. Tail n veinte líneas. Y aquí me muestra las últimas veinte líneas que tiene
|
| 98 |
+
|
| 99 |
+
00:05:33.475 --> 00:05:44.240
|
| 100 |
+
este archivo. Voy a directamente limpiar pantalla y te voy a mostrar otros comandos que nosotros podemos usar para obtener información de nuestros archivos de
|
| 101 |
+
|
| 102 |
+
00:05:44.240 --> 00:05:54.275
|
| 103 |
+
texto. Otro comando que podemos usar para saber cuántas líneas de texto tiene un archivo es el comando n l. Por ejemplo, si queremos saber
|
| 104 |
+
|
| 105 |
+
00:05:54.275 --> 00:06:06.240
|
| 106 |
+
el de cien datos curiosos sobre Linux, pues, ponemos NLY aquí nos muestra el número de líneas directamente al lado de nuestro archivo. Aquí ya
|
| 107 |
+
|
| 108 |
+
00:06:06.240 --> 00:06:15.280
|
| 109 |
+
las tenían numeradas, pero es para que veas cómo nosotros podemos numerar. Esto es muy útil, sobre todo cuando nosotros queremos formatear. Importante, esto sirve
|
| 110 |
+
|
| 111 |
+
00:06:15.280 --> 00:06:23.335
|
| 112 |
+
cuando nosotros tenemos archivos de texto. Si nosotros queremos usar n l con otro tipo de archivos de texto, de texto plano, pues tenemos que
|
| 113 |
+
|
| 114 |
+
00:06:23.335 --> 00:06:32.615
|
| 115 |
+
usar una opción directamente de cuál es el input. Te invito a que uses el comando man para que explores qué flag nosotros podemos utilizar
|
| 116 |
+
|
| 117 |
+
00:06:32.615 --> 00:06:40.950
|
| 118 |
+
para poner ese formato y el número que podemos estar utilizando para cada uno de los tipos diferentes de tipos de texto que podemos tener
|
| 119 |
+
|
| 120 |
+
00:06:40.950 --> 00:06:52.845
|
| 121 |
+
en un archivo. Ahora, si nosotros, por ejemplo, queremos contar el número de palabras, existe el comando word count. Con word count, de hecho, vamos
|
| 122 |
+
|
| 123 |
+
00:06:52.845 --> 00:07:02.600
|
| 124 |
+
a ver el manual, aquí no lo puede explicar, nos imprime el número de líneas, letras, incluso puede estar contando el número de bytes que
|
| 125 |
+
|
| 126 |
+
00:07:02.600 --> 00:07:11.240
|
| 127 |
+
puede tener esto, nosotros podemos pasarle que nos imprima el número de caracteres, el número de líneas, el número máximo de líneas, el número de
|
| 128 |
+
|
| 129 |
+
00:07:11.240 --> 00:07:19.885
|
| 130 |
+
palabras, la verdad es un comando bastante potente cuando queremos hacer como análisis por carácter o por línea. Por ejemplo, si nosotros queremos saber cuántas
|
| 131 |
+
|
| 132 |
+
00:07:19.885 --> 00:07:35.040
|
| 133 |
+
palabras tiene nuestro archivo de lo que sería el Marvel Wiki, aquí, tenemos un pequeño typo, no es w x, es w count, y nos
|
| 134 |
+
|
| 135 |
+
00:07:35.040 --> 00:07:44.905
|
| 136 |
+
dice que en total el archivo MarvelWiki punto CUCB tiene doce mil, bueno, ciento veinticuatro mil setecientas cincuenta y cuatro palabras, y si nosotros queremos
|
| 137 |
+
|
| 138 |
+
00:07:44.905 --> 00:07:55.545
|
| 139 |
+
saber, por ejemplo, cuántas líneas tiene, sin necesidad de formatearlas o ponérselas directamente, nosotros nos puede decir que tiene el registro de dieciséis mil trescientos
|
| 140 |
+
|
| 141 |
+
00:07:55.545 --> 00:08:05.620
|
| 142 |
+
setenta y seis, pues personajes de Marvel. Para explorar el siguiente comando, voy a borrar mi terminal y este comando es muy especial, se han
|
| 143 |
+
|
| 144 |
+
00:08:05.620 --> 00:08:16.355
|
| 145 |
+
escrito libros incluso enteros de cómo utilizarlo, y es el comando AWK. Para ver el manual de AWK, vamos a hacer man, AWKY lo que
|
| 146 |
+
|
| 147 |
+
00:08:16.355 --> 00:08:26.790
|
| 148 |
+
nos dice es que AWK es un pattern scanning and processing language. Lo que nos va permitir es que tiene muchísimas, muchísimas opciones, es que
|
| 149 |
+
|
| 150 |
+
00:08:26.790 --> 00:08:37.670
|
| 151 |
+
vamos a poder hacer un match acerca de qué patrón estamos buscando y qué nos va a estar mostrando en nuestra terminal. Usualmente se usa,
|
| 152 |
+
|
| 153 |
+
00:08:37.670 --> 00:08:47.455
|
| 154 |
+
por ejemplo, para hacer manipulación de archivos CCB, para mostrar las primeras columnas o primeras filas. ¿Cómo lo vamos a estar utilizando? Voy a darle
|
| 155 |
+
|
| 156 |
+
00:08:47.455 --> 00:08:59.020
|
| 157 |
+
q aquí para salirnos, y lo que vamos a hacer es, vamos a darle AWK, vamos a pasarle el pattern que nosotros queremos utilizar, y
|
| 158 |
+
|
| 159 |
+
00:08:59.020 --> 00:09:10.775
|
| 160 |
+
le vamos a dar en print, y le vamos a decir qué columna queremos imprimir. En nuestro caso, queremos imprimir la primer columna de nuestro
|
| 161 |
+
|
| 162 |
+
00:09:10.775 --> 00:09:20.215
|
| 163 |
+
archivo Marvel wiki punto CCB. Para esto te invito que si tienes Excel o si no tienes Excel, uses Google Drive, explores el archivo Marvel
|
| 164 |
+
|
| 165 |
+
00:09:20.215 --> 00:09:30.830
|
| 166 |
+
wiki para que veas todos los campos, referencias, columnas y datos que tiene este archivo. Así que una vez ya escribimos nuestro comando, AWK, imprime
|
| 167 |
+
|
| 168 |
+
00:09:30.830 --> 00:09:40.595
|
| 169 |
+
la primer columna, esto lo hacemos simplemente con el signo de dólar y le pasamos la columna que queremos imprimir, pues le damos clic y
|
| 170 |
+
|
| 171 |
+
00:09:40.595 --> 00:09:52.035
|
| 172 |
+
aquí tenemos los nombres, pues de todos nuestros personajes en la primera columna. Voy a limpiar nuestra pantalla, pero ahora, por ejemplo, si quisiéramos imprimir
|
| 173 |
+
|
| 174 |
+
00:09:52.035 --> 00:10:01.310
|
| 175 |
+
tal vez más de una columna, pues tenemos que pasarle más información a nuestra comando. Para ello voy a usar la opción f de format
|
| 176 |
+
|
| 177 |
+
00:10:01.310 --> 00:10:09.215
|
| 178 |
+
y le voy a decir qué separador está usando mi archivo UCB. Un separador normalmente, pues es un símbolo con el cual se separa separa
|
| 179 |
+
|
| 180 |
+
00:10:09.215 --> 00:10:16.655
|
| 181 |
+
la información de un archivo de texto plano. En nuestro caso, para un UCB, que es un coma separated value, se suele usar en la
|
| 182 |
+
|
| 183 |
+
00:10:16.655 --> 00:10:26.520
|
| 184 |
+
coma. Para ello usamos la coma, usamos el patrón que queremos usar, pero ahora ya lo podemos utilizar en nuestra sentencia, y le vamos a
|
| 185 |
+
|
| 186 |
+
00:10:26.520 --> 00:10:35.800
|
| 187 |
+
poner imprime, print, y ya le podemos poner incluso que solo nos imprima, por ejemplo, la columna uno, y nos imprima también, por ejemplo, la
|
| 188 |
+
|
| 189 |
+
00:10:35.800 --> 00:10:48.235
|
| 190 |
+
columna tres, ¿vale? Lo vamos a imprimir, y aquí ya nos imprime más de una columna. Aquí podemos ver cómo nos está imprimiendo, por ejemplo,
|
| 191 |
+
|
| 192 |
+
00:10:48.235 --> 00:10:57.870
|
| 193 |
+
el nombre, ¿no? De en nuestro personaje directamente y también nos está imprimiendo, pues, en donde nació, que en este caso es la Tierra ciento
|
| 194 |
+
|
| 195 |
+
00:10:57.870 --> 00:11:05.790
|
| 196 |
+
dieciséis, o bueno, creo que es su universo. Pero el punto es que, de esta forma, nosotros podemos manipular el texto, sobre todo de archivos
|
| 197 |
+
|
| 198 |
+
00:11:05.790 --> 00:11:15.225
|
| 199 |
+
muy grandes como lo puede ser los UCB. Estos comandos que te acabo de enseñar son elementales para poder explorar la información de cualquier archivo
|
| 200 |
+
|
| 201 |
+
00:11:15.225 --> 00:11:23.430
|
| 202 |
+
de texto. Son muy usados y aunque solo te enseñé la punta del iceberg, te invito a que lea sus manuales, que investigues un poco
|
| 203 |
+
|
| 204 |
+
00:11:23.430 --> 00:11:33.270
|
| 205 |
+
en Internet, que incluso preguntes aquí mismo en Platzi qué otras cosas has hecho. Por ejemplo, tienes un archivo muy grande de información acerca de
|
| 206 |
+
|
| 207 |
+
00:11:33.270 --> 00:11:44.185
|
| 208 |
+
superhéroes y en general personajes de Marvel. Trata de llevarlo al límite, de hacer diferentes configuraciones con AWK, trata de obtener información acerca de este
|
| 209 |
+
|
| 210 |
+
00:11:44.185 --> 00:11:55.080
|
| 211 |
+
tipo de archivos, trata de, en general, manipular el texto y ponerlo en la terminal para que te sea más sencillo entender cómo usar estos
|
| 212 |
+
|
| 213 |
+
00:11:55.080 --> 00:12:05.195
|
| 214 |
+
comandos. Sobre todo, son muy útiles cuando nosotros queremos analizar el texto, por ejemplo, para archivos de logs que nos muestran información del sistema, cuando
|
| 215 |
+
|
| 216 |
+
00:12:05.195 --> 00:12:14.219
|
| 217 |
+
nosotros queremos hacer análisis de datos del sistema operativo, en fin, existen un sinfín de usos. Nos vemos en la siguiente clase para que sigamos
|
| 218 |
+
|
| 219 |
+
00:12:14.219 --> 00:12:16.139
|
| 220 |
+
aprendiendo acerca de más comandos.
|
| 221 |
+
|
terminal/8-Uso de wildcards para búsquedas masivas en la terminal09 46 minutos.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19cd8b1c5d6d60b1cfe86a21d0882a0f1da8b767ae7710fccd6b990cb9fbf815
|
| 3 |
+
size 63875283
|