[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,9:59:59.99,0:00:04.84,Default,,0000,0000,0000,,Muy bien. Gracias a todos por venir. Dialogue: 0,0:00:04.84,0:00:07.80,Default,,0000,0000,0000,,Éste es el "Semestre Perdido" \Nen Ciencias de la Computación. Dialogue: 0,0:00:07.80,0:00:10.76,Default,,0000,0000,0000,,Al menos así decidimos llamarle. Dialogue: 0,0:00:10.77,0:00:13.71,Default,,0000,0000,0000,,Si no estás aquí por ésto,\Nestás en la habitación equivocada. Dialogue: 0,0:00:13.71,0:00:15.90,Default,,0000,0000,0000,,Estaremos aquí alrededor de una hora. Dialogue: 0,0:00:17.69,0:00:20.10,Default,,0000,0000,0000,,Primeramente, quiero hablarles un poco Dialogue: 0,0:00:20.10,0:00:22.91,Default,,0000,0000,0000,,sobre por qué creamos este curso. Dialogue: 0,0:00:22.91,0:00:27.07,Default,,0000,0000,0000,,Esta clase se extiende de una observación\Nque Anish, José y yo hicimos cuando Dialogue: 0,0:00:27.08,0:00:30.24,Default,,0000,0000,0000,,fuimos profesores de apoyo en\Nvarias clases aquí en el MIT. Dialogue: 0,0:00:30.24,0:00:34.58,Default,,0000,0000,0000,,Básicamente, todos los científicos de la\Ncomputación, sabemos Dialogue: 0,0:00:34.58,0:00:38.22,Default,,0000,0000,0000,,que las computadoras son excelentes en\Nel desarrollo de tareas repetitivas Dialogue: 0,0:00:38.22,0:00:42.04,Default,,0000,0000,0000,,y automatizando. Sin embargo, se nos pasa que\Nhay muchas herramientas que Dialogue: 0,0:00:42.04,0:00:45.93,Default,,0000,0000,0000,,mejoran nuestros procesos de desarrollo.\NPodemos ser mucho más eficientes en el uso Dialogue: 0,0:00:45.93,0:00:49.62,Default,,0000,0000,0000,,de nuestras computadoras ya que\Nlas empleamos Dialogue: 0,0:00:49.62,0:00:53.64,Default,,0000,0000,0000,,como una herramienta para nosotros,\Nno sólo para crear páginas web o software Dialogue: 0,0:00:53.65,0:00:57.81,Default,,0000,0000,0000,,o ese tipo de cosas… y esta clase es\Nun intento de abordar ésto. Dialogue: 0,0:00:57.81,0:01:02.14,Default,,0000,0000,0000,,Es un intento de mostrarles\Nalgunas de las herramientas Dialogue: 0,0:01:02.14,0:01:05.22,Default,,0000,0000,0000,,que pueden aprovechar enormemente\Nen su día a día, Dialogue: 0,0:01:05.22,0:01:09.94,Default,,0000,0000,0000,,en sus investigaciones y en sus estudios. Dialogue: 0,0:01:09.94,0:01:12.83,Default,,0000,0000,0000,,Y será una clase donde\Nles enseñaremos Dialogue: 0,0:01:12.83,0:01:15.68,Default,,0000,0000,0000,,tanto cómo sacar\Nel mejor provecho Dialogue: 0,0:01:15.70,0:01:18.19,Default,,0000,0000,0000,,de las herramientas que ya usan Dialogue: 0,0:01:18.19,0:01:19.33,Default,,0000,0000,0000,,pero ojalá, enseñarles Dialogue: 0,0:01:19.33,0:01:20.91,Default,,0000,0000,0000,,herramientas que no conocían antes Dialogue: 0,0:01:20.91,0:01:23.52,Default,,0000,0000,0000,,y cómo juntarlas para producir cosas más poderosas Dialogue: 0,0:01:20.91,0:01:24.75,Default,,0000,0000,0000,,y cómo juntarlas para producir cosas más poderosas Dialogue: 0,0:01:24.75,0:01:30.59,Default,,0000,0000,0000,,que las que pudiesen coseguir con\Nlo que conocen ahora. Dialogue: 0,0:01:30.59,0:01:36.03,Default,,0000,0000,0000,,Serán 11 clases, cada una de 1 hora Dialogue: 0,0:01:36.03,0:01:38.12,Default,,0000,0000,0000,,tocando un tema en particular. Dialogue: 0,0:01:38.12,0:01:40.92,Default,,0000,0000,0000,,Pueden ver el sitio web en la descripción\N(https://missing.csail.mit.edu/) Dialogue: 0,0:01:40.92,0:01:43.44,Default,,0000,0000,0000,,con la lista de temas y\Nen qué fecha serán las clases. Dialogue: 0,0:01:40.92,0:01:44.49,Default,,0000,0000,0000,,En su mayoría,\Nserán independientes. Dialogue: 0,0:01:44.49,0:01:48.64,Default,,0000,0000,0000,,Por lo tanto, pueden asistir a las\Nque consideren interesantes. Dialogue: 0,0:01:48.64,0:01:51.45,Default,,0000,0000,0000,,Sin embargo, asumiremos que\Nlas tomaron una a una Dialogue: 0,0:01:51.45,0:01:54.65,Default,,0000,0000,0000,,a medida que progresemos,\Npor lo que no se repetirán temas pasados. Dialogue: 0,0:01:54.65,0:01:57.69,Default,,0000,0000,0000,,Por ejemplo, no les estaré enseñando\Nbash de nuevo. Dialogue: 0,0:01:57.69,0:02:03.32,Default,,0000,0000,0000,,También publicaremos las notas de la clase\Ny las grabaciones en el sitio web. Dialogue: 0,0:02:03.32,0:02:05.95,Default,,0000,0000,0000,,No sabemos cuándo exactamente, \Npero lo haremos. Dialogue: 0,0:02:05.95,0:02:10.11,Default,,0000,0000,0000,,[Nota del traductor:]\NObviamente ya están disponibles! Dialogue: 0,0:02:10.11,0:02:12.33,Default,,0000,0000,0000,,Si no no estaría viendo esto usted. Dialogue: 0,0:02:12.34,0:02:18.69,Default,,0000,0000,0000,,La clase la darán 3 maestros: su servidor \NJohn, Amish, quien está sentado por allá Dialogue: 0,0:02:18.69,0:02:22.31,Default,,0000,0000,0000,,y José quien no pudo estar hoy\Npero dará la clase de mañana. Dialogue: 0,0:02:22.31,0:02:28.69,Default,,0000,0000,0000,,Tengan en cuenta que abordamos\Ndemasiado para tan poco tiempo, Dialogue: 0,0:02:28.69,0:02:32.26,Default,,0000,0000,0000,,por lo que avanzaremos a pasos agigantados Dialogue: 0,0:02:32.26,0:02:41.91,Default,,0000,0000,0000,,pero en caso de que se atoren en algún\Ntema, no duden en contactarnos. Dialogue: 0,0:02:41.91,0:03:07.17,Default,,0000,0000,0000,,(Concerniente a la clase presencial) Dialogue: 0,0:03:07.17,0:03:13.53,Default,,0000,0000,0000,,Debido a la carencia de tiempo Dialogue: 0,0:03:13.53,0:03:16.53,Default,,0000,0000,0000,,no será posible tocar\Ntodas las herramientas detalladamente. Dialogue: 0,0:03:16.53,0:03:21.24,Default,,0000,0000,0000,,Se mencionarán herramientas interesantes\Ny maneras útiles. Dialogue: 0,0:03:21.24,0:03:25.11,Default,,0000,0000,0000,,No necesariamente profundizaremos\Nen los detalles de cómo funcionan Dialogue: 0,0:03:25.11,0:03:27.54,Default,,0000,0000,0000,,o casos de uso más complejos Dialogue: 0,0:03:27.55,0:03:41.62,Default,,0000,0000,0000,,(Concerniente a la clase presencial) Dialogue: 0,0:03:45.84,0:03:48.38,Default,,0000,0000,0000,,Esta clase, en específico,\Ncubrirá prinicipios básicos Dialogue: 0,0:03:48.38,0:03:53.12,Default,,0000,0000,0000,,que utilizaremos en las siguientes\Nclases. Dialogue: 0,0:03:53.16,0:03:56.48,Default,,0000,0000,0000,,Por ejemplo, cómo usar el \Nshell en su terminal. Dialogue: 0,0:03:56.48,0:03:59.66,Default,,0000,0000,0000,,Explicaré qué es para los\Nque lo desconozcan, Dialogue: 0,0:03:59.66,0:04:02.42,Default,,0000,0000,0000,,y después avanzaremos a \Nherramientas más avanzadas. Dialogue: 0,0:04:02.42,0:04:05.75,Default,,0000,0000,0000,,Probablemente, ya se pueden\Ndar una idea de qué vendrá Dialogue: 0,0:04:05.75,0:04:09.58,Default,,0000,0000,0000,,basado en las notas\Nde la clase. Dialogue: 0,0:04:09.58,0:04:12.77,Default,,0000,0000,0000,,Y eso nos trae a la clase de hoy.\NEn esta clase hablaremos de el Dialogue: 0,0:04:12.77,0:04:13.82,Default,,0000,0000,0000,,Shell. Dialogue: 0,0:04:13.82,0:04:16.95,Default,,0000,0000,0000,,Será una de las principales maneras\Nen las que interactuamos con Dialogue: 0,0:04:16.96,0:04:18.67,Default,,0000,0000,0000,,nuestra computadora. Dialogue: 0,0:04:18.67,0:04:22.26,Default,,0000,0000,0000,,cuando quieran empezar a hacer\Ncosas que las interfaces gráficas Dialogue: 0,0:04:22.26,0:04:24.52,Default,,0000,0000,0000,,no les permite hacer. Dialogue: 0,0:04:24.52,0:04:27.88,Default,,0000,0000,0000,,Las interfaces visuales están,\Nde alguna manera, limitadas Dialogue: 0,0:04:27.88,0:04:30.74,Default,,0000,0000,0000,,porque sólo se pueden hacer\Nlas cosas que tienen botones, Dialogue: 0,0:04:30.74,0:04:32.73,Default,,0000,0000,0000,,deslizadores o campos\Nde entrada. Dialogue: 0,0:04:32.73,0:04:35.11,Default,,0000,0000,0000,,La mayoría del tiempo, estas\Nherramientas de texto Dialogue: 0,0:04:35.11,0:04:38.06,Default,,0000,0000,0000,,están diseñadas para ser modulares\Ny funcionar entre sí. Dialogue: 0,0:04:38.06,0:04:42.82,Default,,0000,0000,0000,,Y también tener muchísimas maneras\Nde combinarse y programarse. Dialogue: 0,0:04:42.82,0:04:46.70,Default,,0000,0000,0000,,En esta clase nos estaremos centrando\Nen herramientas de texto, Dialogue: 0,0:04:46.70,0:04:49.57,Default,,0000,0000,0000,,también conocidas como herramientas\Nde la terminal. (command line utilities) Dialogue: 0,0:04:49.57,0:04:50.91,Default,,0000,0000,0000,,El shell será en donde Dialogue: 0,0:04:50.91,0:04:52.67,Default,,0000,0000,0000,,harán la mayoría\Nde su trabajo. Dialogue: 0,0:04:52.67,0:04:54.70,Default,,0000,0000,0000,,Para los que no conozcan lo que \Nes un shell, Dialogue: 0,0:04:54.70,0:04:57.57,Default,,0000,0000,0000,,la mayoría de las plataformas\Nproveen un shell por defecto. Dialogue: 0,0:04:57.57,0:05:01.09,Default,,0000,0000,0000,,En Windows, es Powershell, pero\Ntambién hay otros disponibles... Dialogue: 0,0:05:01.09,0:05:04.14,Default,,0000,0000,0000,,En Linux, encontrarán cientos de \Nterminales, es decir, ventanas que Dialogue: 0,0:05:04.14,0:05:07.41,Default,,0000,0000,0000,,te permiten ver shells. Dialogue: 0,0:05:07.41,0:05:10.50,Default,,0000,0000,0000,,Asimismo, encontrarán diferentes\Ntipos de shell, el más común Dialogue: 0,0:05:10.50,0:05:13.23,Default,,0000,0000,0000,,siendo bash.\NConocido como el Shell Resusitado. Dialogue: 0,0:05:13.23,0:05:15.71,Default,,0000,0000,0000,,(Bourne-Again-SHell) Dialogue: 0,0:05:15.71,0:05:19.55,Default,,0000,0000,0000,,Como éste es un shell tan común,\Nserá el que utilizaremos en la clase. Dialogue: 0,0:05:19.55,0:05:22.05,Default,,0000,0000,0000,,Si están en MacOS, probablemente \Ntendrán una versión de bash. Dialogue: 0,0:05:22.05,0:05:24.10,Default,,0000,0000,0000,,(Nota del traductor): \NLas nuevas versiones de MacOS Catalina (10.15) Dialogue: 0,0:05:24.10,0:05:26.16,Default,,0000,0000,0000,,usan zsh, bastante similar a bash.\NSe abre con la app conocida como Dialogue: 0,0:05:26.16,0:05:27.48,Default,,0000,0000,0000,,Terminal. Dialogue: 0,0:05:27.48,0:05:31.42,Default,,0000,0000,0000,,Tengan en cuenta que la mayoría\Nde esto estará centrado en Linux Dialogue: 0,0:05:31.42,0:05:34.16,Default,,0000,0000,0000,,en términos de cómo lo enseñamos.\NSin embargo, la mayoría de estas Dialogue: 0,0:05:34.16,0:05:37.26,Default,,0000,0000,0000,,herramientas funcionan con otros\Nsistemas operativos. Dialogue: 0,0:05:37.26,0:05:41.09,Default,,0000,0000,0000,,Si quieren instalar una terminal y un\Nshell, y no saben cómo hacerlo Dialogue: 0,0:05:41.09,0:05:46.32,Default,,0000,0000,0000,,les podemos ayudar a hacerlo en las \Nhoras de tutoreo. También pueden Dialogue: 0,0:05:46.32,0:05:53.86,Default,,0000,0000,0000,,simplemente buscarlo en google\Ncomo su plataforma + terminal. Dialogue: 0,0:05:53.86,0:06:01.17,Default,,0000,0000,0000,,Entonces... cuando abrimos una terminal,\Nusualmente se verá así. Tendremos Dialogue: 0,0:06:01.17,0:06:06.100,Default,,0000,0000,0000,,una línea hasta arriba. esto se conoce \Ncomo el Shell Prompt, contiente mi Dialogue: 0,0:06:06.100,0:06:12.09,Default,,0000,0000,0000,,nombre de usuario, el nombre de \Nmi computadora y el directorio Dialogue: 0,0:06:12.09,0:06:16.36,Default,,0000,0000,0000,,en donde estoy. Hablaremos de\N`paths` o directorios más tarde. Dialogue: 0,0:06:16.36,0:06:20.06,Default,,0000,0000,0000,,Y después sólo hay un cursor esperando\Na que reciba alguna entrada. Dialogue: 0,0:06:20.06,0:06:23.63,Default,,0000,0000,0000,,Y este es el shell en donde le \Ndecimos lo que queremos que haga. Dialogue: 0,0:06:23.63,0:06:28.28,Default,,0000,0000,0000,,Podemos personalizar este prompt, puede\Nno necesariamente verse exactamente Dialogue: 0,0:06:28.28,0:06:35.85,Default,,0000,0000,0000,,como el mío pero se puede ver de \Ndiferentes maneras, así, así y así. Dialogue: 0,0:06:35.85,0:06:42.34,Default,,0000,0000,0000,,En esta clase no hablaremos mucho\Nde cómo personalizarlo, eso lo haremos en otra clase. Dialogue: 0,0:06:42.34,0:06:44.65,Default,,0000,0000,0000,,Hoy hablaremos de cómo usamos un Dialogue: 0,0:06:44.65,0:06:47.79,Default,,0000,0000,0000,,shell para hacer cosas útiles. Dialogue: 0,0:06:47.79,0:06:49.86,Default,,0000,0000,0000,,Y esta es la interfaz de texto\Nprincipal en donde Dialogue: 0,0:06:47.79,0:06:50.64,Default,,0000,0000,0000,,escribimos comandos de texto. Dialogue: 0,0:06:50.64,0:06:53.43,Default,,0000,0000,0000,,En el shell, escribimos comandos. Dialogue: 0,0:06:53.43,0:06:55.59,Default,,0000,0000,0000,,Estos comandos pueden ser Dialogue: 0,0:06:55.59,0:06:58.29,Default,,0000,0000,0000,,bastante simples, usualmente, Dialogue: 0,0:06:58.29,0:07:02.00,Default,,0000,0000,0000,,ejecutaremos programas con argumentos,\Nbueno... y ¿cómo se ve eso? Dialogue: 0,0:07:02.00,0:07:04.76,Default,,0000,0000,0000,,Un programa que podemos ejecutar \Ndentro del shell es `date`. Dialogue: 0,0:07:04.76,0:07:09.05,Default,,0000,0000,0000,,Escribimos "date" y presionamos Enter.\NY, naturalmente, nos muestra la fecha Dialogue: 0,0:07:09.05,0:07:13.27,Default,,0000,0000,0000,,y la hora. Asimismo, podemos ejecutar\Nun programa con argumentos, también Dialogue: 0,0:07:13.28,0:07:16.18,Default,,0000,0000,0000,,conocidos como parámetros. Existe un \Nprograma llamado `echo`, Dialogue: 0,0:07:16.18,0:07:16.51,Default,,0000,0000,0000,,el cual simplemente imprime los \Nargumentos que le damos. Dialogue: 0,0:07:16.51,0:07:16.76,Default,,0000,0000,0000,,Los argumentos son "cosas" separadas\Npor espacios que le damos al programa. Dialogue: 0,0:07:16.76,0:07:17.29,Default,,0000,0000,0000,,Entonces, podemos decirle "hola" y\Nnos imprime hola. Dialogue: 0,0:07:17.29,0:07:18.10,Default,,0000,0000,0000,,Nuevamente, no del todo sorprendente,\Npero estos son los básicos de argumentos. Dialogue: 0,0:07:18.10,0:07:22.16,Default,,0000,0000,0000,,También, si se dieron cuenta, dije que\Nlos argumentos están separados por Dialogue: 0,0:07:22.16,0:07:24.62,Default,,0000,0000,0000,,espacios. Y podrían preguntarse, pero \Ncómo le hago para que un argumento Dialogue: 0,0:07:24.62,0:07:25.05,Default,,0000,0000,0000,,tenga espacios. Bueno. pues también podemos\Nponerlo entre comillas y escribir Dialogue: 0,0:07:25.05,0:07:27.33,Default,,0000,0000,0000,,algo como "Hola mundo" en comillas y\Nahora contiente un argumento nuestro Dialogue: 0,0:07:25.05,0:07:29.82,Default,,0000,0000,0000,,programa que contiene espacios. También\Nse pueden usar comillas simples en lugar Dialogue: 0,0:07:27.33,0:07:30.72,Default,,0000,0000,0000,,de dobles. Hablaremos de las diferencias \Ncuando empecemos a hacer scripts Dialogue: 0,0:07:29.82,0:07:32.94,Default,,0000,0000,0000,,en bash. También podemos utilizar el\Ncaracter de escape para un sólo caracter. Dialogue: 0,0:07:30.72,0:07:35.61,Default,,0000,0000,0000,,Todas estas reglas las cubriremos más en\Nespecífico después. Esperemos que no Dialogue: 0,0:07:32.94,0:07:37.05,Default,,0000,0000,0000,,les den contratiempos con esto. Por \Nejemplo, si quiero crear un directorio Dialogue: 0,0:07:35.61,0:07:38.55,Default,,0000,0000,0000,,llamado Mis Fotos se crearán 2 directorios,\Nuno llamado Mis y otro, Fotos. Dialogue: 0,0:07:37.05,0:07:40.38,Default,,0000,0000,0000,,Y probablemente eso no es lo que queremos. Dialogue: 0,0:07:38.55,0:07:42.06,Default,,0000,0000,0000,,Ahora... una cosa que probablemente \Nse preguntarán es cómo sabe a qué Dialogue: 0,0:07:40.38,0:07:44.31,Default,,0000,0000,0000,,programas me refiero y cómo sabe \Ndónde están esos programas y qué Dialogue: 0,0:07:42.06,0:07:47.22,Default,,0000,0000,0000,,tienen que hacer? Y bueno, la respuesta\Nes que su computadora tiene programas Dialogue: 0,0:07:44.31,0:07:50.31,Default,,0000,0000,0000,,que vienen instalados dentro de sus\Ncomputadoras. Justo como podría Dialogue: 0,0:07:47.22,0:07:52.71,Default,,0000,0000,0000,,ir con Windows Explorer, la aplicación\Nde la terminal, Windows Explorer, Dialogue: 0,0:07:50.31,0:07:55.38,Default,,0000,0000,0000,,etc. también viene con aplicaciones \Ncentradas a la terminal. Y, estas, Dialogue: 0,0:07:52.71,0:07:57.54,Default,,0000,0000,0000,,literalmente están en el sistema de\Narchivos. Y, el shell, tiene una manera Dialogue: 0,0:07:55.38,0:07:58.77,Default,,0000,0000,0000,,de determinar dónde están esos \Nprogramas. Báicamente, tiene una Dialogue: 0,0:07:57.54,0:08:00.48,Default,,0000,0000,0000,,manera de buscar en dónde está\Ncada uno de estos programas. Dialogue: 0,0:07:58.77,0:08:03.42,Default,,0000,0000,0000,,Y lo hace con algo llamado, una \Nvariable de entorno (conocida en Dialogue: 0,0:08:00.48,0:08:06.12,Default,,0000,0000,0000,,inglés como ENVIRONMENT variable).\NEs simplemente como una variable Dialogue: 0,0:08:03.42,0:08:09.00,Default,,0000,0000,0000,,que podrían encontrarse en un lenguaje \Nde programación. De hecho resulta que Dialogue: 0,0:08:06.12,0:08:12.15,Default,,0000,0000,0000,,el shell, y el BASH en particular,\Nes un lenguaje de programación. Dialogue: 0,0:08:09.00,0:08:15.72,Default,,0000,0000,0000,,Este prompt que tenemos aquí también\Npuede realizar bucles while, for, Dialogue: 0,0:08:12.15,0:08:17.34,Default,,0000,0000,0000,,condicionales. Podemos definir funciones,\Nentre otras cosas. Esto lo hablaremos en Dialogue: 0,0:08:15.72,0:08:19.59,Default,,0000,0000,0000,,la siguiente clase. \NMientras tanto, veamos esta variable de Dialogue: 0,0:08:17.34,0:08:21.33,Default,,0000,0000,0000,,entorno. Debo notar que las variables de\Nentorno se asignan cada vez que iniciamos Dialogue: 0,0:08:19.59,0:08:23.52,Default,,0000,0000,0000,,nuestro shell en automático. No son\Nvariables que tenemos que cambiar Dialogue: 0,0:08:21.33,0:08:26.07,Default,,0000,0000,0000,,siempre que abrimos un shell.\NHay variables de entorno que nos Dialogue: 0,0:08:23.52,0:08:27.93,Default,,0000,0000,0000,,dicen dónde esta nuestro directorio de \NHOME (casa), el nombre del usuario y Dialogue: 0,0:08:26.07,0:08:29.61,Default,,0000,0000,0000,,también, muy importante, la variable\NPATH (en español, camino). Dialogue: 0,0:08:27.93,0:08:31.92,Default,,0000,0000,0000,,Entonces, si imprimimos con `echo`\Nla variable $PATH esto nos mostrará Dialogue: 0,0:08:29.61,0:08:33.78,Default,,0000,0000,0000,,todos los paths (caminos) en donde el\Nshell buscará programas. Dialogue: 0,0:08:31.92,0:08:35.88,Default,,0000,0000,0000,,Se darán cuenta de que esto es una \Nlista separada por dos puntos, Dialogue: 0,0:08:33.78,0:08:40.01,Default,,0000,0000,0000,,lo cual es bastante difícil de leer, \Npero lo esencial es que cada vez Dialogue: 0,0:08:35.88,0:08:43.23,Default,,0000,0000,0000,,que escribamos el nombre de un \Nprograma buscará dentro de esta Dialogue: 0,0:08:40.01,0:08:45.60,Default,,0000,0000,0000,,lista de paths, por un archivo \Nejecutable que tenga el mismo Dialogue: 0,0:08:43.23,0:08:48.84,Default,,0000,0000,0000,,nombre que escribimos.\NEn mi caso, cuando escribo Dialogue: 0,0:08:45.60,0:08:50.70,Default,,0000,0000,0000,,`echo` buscará en cada uno de\Nestos directorios hasta que Dialogue: 0,0:08:48.84,0:08:53.19,Default,,0000,0000,0000,,encuentre un programa llamado\N`echo` y lo correrá. SI queremos Dialogue: 0,0:08:50.70,0:08:54.00,Default,,0000,0000,0000,,saber dónde está el programa \Nque corre podemos usar el Dialogue: 0,0:08:53.19,0:08:55.44,Default,,0000,0000,0000,,comando llamado `which`.\Npodemos escribir `which echo`. Dialogue: 0,0:08:54.00,0:08:57.00,Default,,0000,0000,0000,,Esto quiere decir que si fuéramos\Na correr un programa llamado `echo` Dialogue: 0,0:08:55.44,0:08:59.76,Default,,0000,0000,0000,,lo correríamos de ese archivo en\Nespecífico. Es imporante mencionar Dialogue: 0,0:08:57.00,0:09:02.58,Default,,0000,0000,0000,,lo que es un path (camino). Los paths \Nson una manera de mencionar la Dialogue: 0,0:08:59.76,0:09:05.34,Default,,0000,0000,0000,,ubicación que tienen tus archivos\Nen tu computadora. En Linux y MacOS Dialogue: 0,0:09:02.58,0:09:07.80,Default,,0000,0000,0000,,los paths están separados por diagonales,\Nespecíficamente, diagonales para adelante. Dialogue: 0,0:09:05.34,0:09:09.57,Default,,0000,0000,0000,,En inglés conocidos como `forward slashes`:\N/ Y verán aquí que estamos en el directorio Dialogue: 0,0:09:07.80,0:09:11.64,Default,,0000,0000,0000,,`root`, eso es lo que indica el primer slash\N(diagonal) y nos dice que nuestro Dialogue: 0,0:09:09.57,0:09:14.82,Default,,0000,0000,0000,,path empieza en la raíz del sistema de \Narchivos (file system). Entonces nos Dialogue: 0,0:09:11.64,0:09:18.21,Default,,0000,0000,0000,,vamos al directorio llamado `usr`, después\Nve en el directorio `bin`y luego encuentra Dialogue: 0,0:09:14.82,0:09:19.95,Default,,0000,0000,0000,,el archivo llamado `echo`. En Windows, \Nlos paths se separan por diagonales hacia Dialogue: 0,0:09:18.21,0:11:21.63,Default,,0000,0000,0000,,atrás \\ Dialogue: 0,0:11:56.37,0:12:02.07,Default,,0000,0000,0000,,En Windows, hay una raíz por cada \Npartición. Puede que hayan visto Dialogue: 0,0:12:00.27,0:12:05.13,Default,,0000,0000,0000,,algo como `C:\` a diferencia de Linux\No macOS que traen todo bajo la misma Dialogue: 0,0:12:02.07,0:12:08.22,Default,,0000,0000,0000,,'raíz'. Tal vez se dieron cuenta de que\Ndije la palabra path absoluto (camino Dialogue: 0,0:12:05.13,0:12:11.34,Default,,0000,0000,0000,,absoluto). Los absolute paths son \Ncaminos que determinan completamente Dialogue: 0,0:12:08.22,0:12:13.05,Default,,0000,0000,0000,,la ubicación de un archivo. En este caso, \Nestamos hablando de un archivo Dialogue: 0,0:12:11.34,0:12:14.85,Default,,0000,0000,0000,,llamado `echo` en específico. Y nos está\Ndando el camino completo al archivo. Dialogue: 0,0:12:13.05,0:12:18.54,Default,,0000,0000,0000,,También tenemos caminos relativos. Y estos,\Ncomo su nombre lo indica, están basados Dialogue: 0,0:12:14.85,0:12:20.01,Default,,0000,0000,0000,,en donde estamos al momento.\NPodemos obtener el path en donde estamos Dialogue: 0,0:12:18.54,0:12:21.69,Default,,0000,0000,0000,,con el comando `pwd`, el cual significa\Nimprime el directorio de trabajo Dialogue: 0,0:12:20.01,0:12:27.36,Default,,0000,0000,0000,,(print working directory).