# Contenidos ## Nombres de archivos y carpetas - Recordamos que en Github si creamos un archivo hemos de incluir la extensión `md` para que lo trate como un texto `markdown` y por tanto lo procese correctamente. - En Github los nombres del primer archivo se llaman `README.md` para que lo leas (¡léeme!) y de alguna forma como homenaje a los archivos del software que se leía en pantallas en blanco y negro donde se prefería las mayúsculas para la mejor lectura. - En vuestro caso yo optaría por nombrar tanto los archivos como las carpetas en minúsculas y separando las palabras con guiones medios, es decir: `esta-es-una-carpeta` y `esto-es-un-archivo.md`. - Hay otras formas posibles pero es importante que seáis metódicos para que siempre lo hagamos así y sepamos por tanto acceder y recuperar nuestros archivos y carpetas. ## Repaso del día anterior - Después de repasar todo llegamos a que algunas personas con Mac no habían conseguido instalar XCode. A partir de ahí hemos empezado con la instalación o puesta a punto de la terminal. ## Windows ### Cygwin - Se puede descargar en - Emulador de la terminal POSIX en Windows - Ofrece un cojunto de herramientas y programas que emulan una distribución Linux en Windows. - Tiene desventajas conocidas: instalación, actualización, usabilidad de la instalación… - ¡Atención! Una vez que lo descargáis y lo instaláis, no tiréis el instalador ya que es necesario para su actualización. - La primera vez que lo usamos descargamos `lynx`, un navegador en línea de comandos. - Para no tener que correr manualmente el instalador cada vez que queremos actualizar Cygwin con algún paquete/programa, usaremos `apt-cyg` ### apt-cyg - Cygwin es una herramienta muy potente para Windows pero muy tediosa de utilizar. - [apt-cyg](https://github.com/transcode-open/apt-cyg) es un gestor de paquetes de Cygwin que funciona en línea de comandos. - El nombre proviene de ser como un [apt](https://wiki.debian.org/Apt) para Cygwin. - Un APT (*Advanced Package Tool*) es un conjunto de herramientas para manejar los paquetes –programas– de los sistemas [Debian](https://www.debian.org) [GNU](https://gnu.org)/[Linux](https://linux.org). Se ha hecho muy popular su funcionamiento y otros sistemas operativos lo han imitado porque permite: - Instalar programas. - Desinstalar programas. - Actualizar programas. - Resolver dependencias de los programas de forma automática. - Sin apt-cyg, cada vez que queremos instalar algo hay que abrir el programa de instalación de Cygwin. - Con apt-cyg conseguimos instalar o actualizar programas que usamos en Cygwin desde la propia consola de Cygwin. ### Instalación de apt-cyg Para instalarlo, tal como cuentan en su página web, usamos dos líneas de comandos: lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg install apt-cyg /bin La primera línea dice que ejecutará `lynx` con la opción `-source` para descargar el código fuente de la página `rawgit.com/transcode-open/apt-cyg/master/apt-cyg` y ese texto lo envía con `>` al archivo `apt-cyg`. `Lynx` es un navegador en línea de comandos que se puede utilizar para esto. El próximo día probaremos con otras páginas. En este momento y en el directorio/carpeta/ruta donde estemos, creamos un archivo con nombre `apt-cyg` que contiene el texto del código fuente de esa URL, que es un script para usar Cygwin e instalar programas sin correr manualmente el instalador. Para comprobar que está hacemos un `ls`, un comando para listar los contenidos de la carpeta/directorio. Si está, pasamos a la siguiente línea. Con `install` instalamos el archivo `apt-cyg`, que es un programa, en la carpeta *bin*, que son los programas o binarios. Si no ha dado error será que lo tenemos. Para probarlo escribimos `apt-cyg install wget`, que es la instrucción para instalar el programa `wget`, una herramienta para descargar archivos que usa precisamente `apt-cyg` ## MacOSX ### Terminal - La terminal es una aplicación que encontramos disponible en "Utilidades -> Terminal" pero, de un tiempo a esta parte, está capada y no se puede utilizar con todo su potencial. - Para ello requiere [activar Xcode](https://guide.macports.org/#installing.xcode). Esto lo conseguimos por dos vías posibles. En ambos casos debemos tener cuenta de Apple. - O bien descargamos [xcode](https://apps.apple.com/us/app/xcode/id497799835), que son muchos Gb. - O bien en la página de [developer](https://developer.apple.com/downloads/index.action) de MacOSx buscamos "Command line tools for Xcode", que es menos de medio Gb. - En cualquier caso, leed bien las instrucciones para la instalación de estos enlaces y no tengáis miedo a las advertencias de Mac sobre lo que vas a hacer pues lo único que vas a hacer es usar algo que tu ordenador es capaz de tener. - Una vez tenemos Xcode, instalamos `brew` que es un gestor de programas para la terminal de Mac, algo así como el `apt-cyg` de Cygwin. ### Brew - Puedes ver el proyecto en - Se trata de un gestor de programas en MacOSX. - Hay una alternativa llamada [macports.org](https://www.macports.org/), no son incompatibles, por si alguien se anima a experimentar. - Sirven para instalar programas que se usan en la Terminal. - La instalación fácil hasta hace poco está en la página de brew.sh - Copiamos esta línea `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` y la pegamos en la terminal. - Sin embargo esto ha cambiado sensiblemente porque MacOSX ha dejado de utilizar `BASH` como el dialecto que entiende la terminal y ahora utiliza `ZSH`. Aunque son dialectos varían en algunas cosas. En el curso usaremos `Bash` por lo que recomiendo hacer lo siguiente: - [spirosfromlondon](https://discussions.apple.com/thread/252176464) nos cuenta que tendremos que lanzar `brew update` y luego `brew install bash`. Comprobamos con `bash --version` y para que MacOSX no olvide esto, editamos el archivo `~/.bash_profile` con `nano`, por ejemplo y añadimos esta línea: `export BASH_SILENCE_DEPRECATION_WARNING=1`. - `nano` es un editor en línea de comandos, lo veremos el próximo día. - Luego ya podemos instalar programas. Por ejemplo, `wget` con `brew install wget`. - Quizás surjan otros problemas, como [este](https://apple.stackexchange.com/questions/224511/how-to-use-bash-as-default-shell)… no dudéis en comentarlos. - Si quisierais seguir con `zsh` y no os da problemas, genial. [Aquí](https://stackoverflow.com/questions/65619529/fixing-zsh-command-not-found-brew-installing-homebrew) hablan de algunos problemas que se han encontrado. ## Repaso - [ ] Control ordenador. - [ ] Emulador de terminal con Cygwin (W$) o activando XCode (MacOSX) para aplicaciones CLI - [ ] Editor de textos con `nano` - [ ] Sintaxis `Markdown` - [ ] Control de versiones `git`. - [ ] Github para repositorios de documentación y servidor web. - [ ] Python para algunas funcionalidades. # Pruebas - ¿Qué tipos de archivos de documentos de texto hemos visto hasta ahora? ¿Qué extensiones tienen? - ¿Qué programas se pueden utilizar para usar la terminal en Windows? - ¿Qué programa sirve para gestionar programas en la terminal de OSX? - ¿Qué es nano? - ¿Qué son git y Github?