2999a commited on
Commit
65297ff
·
verified ·
1 Parent(s): 2816b47

Upload 52 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +26 -0
  2. terminal/1-Ventajas de dominar la terminal de comandos para profesionales.mp4 +3 -0
  3. terminal/1-Ventajas de dominar la terminal de comandos para profesionales.sub.vtt +44 -0
  4. terminal/10-Tipos de comandos en Linux y cómo identificarlos.mp4 +3 -0
  5. terminal/10-Tipos de comandos en Linux y cómo identificarlos.sub.vtt +113 -0
  6. terminal/11-Redirecciones de terminal en Linux con operadores básicos.mp4 +3 -0
  7. terminal/11-Redirecciones de terminal en Linux con operadores básicos.sub.vtt +209 -0
  8. terminal/12-Operadores de control para encadenar comandos en Linux.mp4 +3 -0
  9. terminal/12-Operadores de control para encadenar comandos en Linux.sub.vtt +140 -0
  10. terminal/13-Configuración de alias permanentes en terminal Linux.mp4 +3 -0
  11. terminal/13-Configuración de alias permanentes en terminal Linux.sub.vtt +146 -0
  12. terminal/14-Gestión de permisos en archivos y directorios de Linux.mp4 +3 -0
  13. terminal/14-Gestión de permisos en archivos y directorios de Linux.sub.vtt +251 -0
  14. terminal/15-Variables de entorno en Linux creación y configuración global08 27 minutos.mp4 +3 -0
  15. terminal/15-Variables de entorno en Linux creación y configuración global08 27 minutos.sub.vtt +155 -0
  16. terminal/16-Uso de APT para gestionar paquetes en Linux07 37 minutos.mp4 +3 -0
  17. terminal/16-Uso de APT para gestionar paquetes en Linux07 37 minutos.sub.vtt +140 -0
  18. terminal/17-Instalación y uso básico de Homebrew en macOS.mp4 +3 -0
  19. terminal/17-Instalación y uso básico de Homebrew en macOS.sub.vtt +137 -0
  20. terminal/18-Procesos en foreground y background en la terminal.mp4 +3 -0
  21. terminal/18-Procesos en foreground y background en la terminal.sub.vtt +125 -0
  22. terminal/19-Administración de procesos en Linux con PS, Top y Kill.mp4 +3 -0
  23. terminal/19-Administración de procesos en Linux con PS, Top y Kill.sub.vtt +248 -0
  24. terminal/2-Qué es una terminal y cómo funciona con comandos básicos.mp4 +3 -0
  25. terminal/2-Qué es una terminal y cómo funciona con comandos básicos.sub.vtt +80 -0
  26. terminal/20-Empaquetado y compresión de archivos con TAR y GZIP en Linux.mp4 +3 -0
  27. terminal/20-Empaquetado y compresión de archivos con TAR y GZIP en Linux.sub.vtt +140 -0
  28. terminal/21-Editores de texto Vim y Nano en la terminal.mp4 +3 -0
  29. terminal/21-Editores de texto Vim y Nano en la terminal.sub.vtt +194 -0
  30. terminal/22-Tmux para gestionar múltiples terminales y paneles.mp4 +3 -0
  31. terminal/22-Tmux para gestionar múltiples terminales y paneles.sub.vtt +158 -0
  32. terminal/23-Comandos de red en la terminal para verificar conectividad.mp4 +3 -0
  33. terminal/23-Comandos de red en la terminal para verificar conectividad.sub.vtt +245 -0
  34. terminal/24-Personalización de terminal con ZSH y temas avanzados.mp4 +3 -0
  35. terminal/24-Personalización de terminal con ZSH y temas avanzados.sub.vtt +203 -0
  36. terminal/25-Instalación y uso de Warp, terminal con inteligencia artificial.mp4 +3 -0
  37. terminal/25-Instalación y uso de Warp, terminal con inteligencia artificial.sub.vtt +146 -0
  38. terminal/26-Recursos complementarios para dominio avanzado de terminal Linux.mp4 +3 -0
  39. terminal/26-Recursos complementarios para dominio avanzado de terminal Linux.sub.vtt +53 -0
  40. terminal/3-Instalación de terminal Bash en Windows usando WSL.mp4 +3 -0
  41. terminal/3-Instalación de terminal Bash en Windows usando WSL.sub.vtt +134 -0
  42. terminal/4-Comandos básicos de terminal para principiantes.mp4 +3 -0
  43. terminal/4-Comandos básicos de terminal para principiantes.sub.vtt +173 -0
  44. terminal/5-Navegación entre directorios en Linux con comandos de terminal.mp4 +3 -0
  45. terminal/5-Navegación entre directorios en Linux con comandos de terminal.sub.vtt +206 -0
  46. terminal/6-Comandos Linux para crear, mover, copiar y eliminar archivos.mp4 +3 -0
  47. terminal/6-Comandos Linux para crear, mover, copiar y eliminar archivos.sub.vtt +221 -0
  48. terminal/7-Comandos para explorar y manipular archivos de texto en terminal.mp4 +3 -0
  49. terminal/7-Comandos para explorar y manipular archivos de texto en terminal.sub.vtt +221 -0
  50. 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