--- slideOptions: transition: slide --- ###### tags: `UNIAT` `TERMINAL` `OPS` `Clase` `Sistemas Operativos` # Terminal ![term](https://cdn4.iconfinder.com/data/icons/small-n-flat/24/terminal-512.png "term" ) (linea de comandos) 1. Es la herramienta mas potente de la computadora 2. Ventana a las herramientas más potentes, que no tienen interface. --- ### Configuraciones y acciones 1. Modificar Texto. 2. Descomprimir un zip. 3. compilar código. ---- ~~Hackear la NSA~~. ![hackerman](https://i.kym-cdn.com/entries/icons/original/000/021/807/4d7.png) ---- ### Ventajas * Si existe un error te lo va mostrar. * Configuraciones precisas. * Es mas eficiente. * Documentado. * Puedes combina varios comandos. ![image alt](https://i.pinimg.com/originals/9a/7e/45/9a7e45f182d545a6bcf342b83a083e19.gif) --- ## Terminal La terminal de los sistemas tipo unix distinta a la terminal nativa en Windows. Alternativas para homogenizar el standar 1. PowerShell. 2. Git console. 3. PuTTY. --- ### Sintaxis Usualmente al abrir una ventana de terminal aparece algo como esto ![](https://i.imgur.com/VDNIuiL.jpg) Al inicio de cada linea esta descrito ya sea el path actual o el nombre del usuario. ---- Usualmente cada comando sigue la siguiente forma **Comando** *Banderas* *“Parametro”* * En la mayoria de los comandos existe la bandera -help * Muestra información de uso. * Ex: ```Ping -help``` --- ## Importancia de TAB Tab es el acronimo de tabulacion. (conjunto de espacios). Este boton autocompleta y ofrece opciones al usar la terminal. --- ## Ex ### ls (list) Muestra los archivos en el directorio actual Puedes agregar banderas. ``` ls ``` --- <!-- data-background="#1A237E" --> ## flecha ">" (stream) Dirige el flujo del texto hacia un archivo. ```Comando > texto.txt``` ```ipconfig > pings.txt``` win:```$null > file.txt``` osx: ```touch file.txt``` --- ## Mkdir (crear directorio) * Crea una nueva carpeta. ```Mkdir NombreYPathCarpeta``` --- ## cd (change Directory) Mueve el directorio actual de la terminal a un nuevo directorio (path). ```cd NombreCarpeta``` --- ## mv (move) Cambia de ubicación algún archivo ```mv archivo destinoPath``` --- ## cp (copy) Copia un archivo. ```cp archivo destino.``` --- ## .. y . .. hace referencia al directorio padre. . Hace referencia al directorio actual ``` cd .. ``` cambia el directorio al padre. ## Home Address: ~ :new: Utilizando la virgulilla podemos acceder al directorio Home del usuario. ```cd ~``` ## Variables de entorno :new: Son variables siempre disponibles por el sistema operativo. El nombre va antes de un simbolo de $ . `$name = 1234` `echo $name` -> `1234` Imprime el valor guardadoen la variable $name ## Combinando mas de uno comando :new: `"text" > "$(date -f yyyy-mm-dd).txt"` --- ## Start Ejecuta variedad de inciar apps. ```start``` (Abre otra ventana de terminal). ```start . ```( Abre otra ventana pero del explorador) ```start www.google.com``` (En caso de ser una url, lo abre el navegador) --- ## rm( remove) Elimina archivos o directorios ``` rm filePath``` ``` rm file.cs ``` ``` rm ./files/``` --- ## WildCard * Selecciona uno o mas archivos que cumplan con una búsqueda - ```rm *.cs``` // Elimina todos los archivos .cs que existan - ```rm text.*``` //Elimina todos los archivos que contengan la palabra “text.” antes del * - ```cp ./folder/* . ``` Copia todos los archivos al directorio especifico. --- ## Recursos Utiles: ```cat ```Previsualiza el texto. ```tasklist``` Muestra las aplicaciones actualmente siendo utilizadas. ```taskkill -f -im explorer.exe``` Mata al proceso explorer.exe ```Shutdown -s -f -t 00```Apaga la PC inmediatamente ```Wget ```Obtiene informacion de algun sitio. # Practica1: 1. Crear un directorio de pruebas llamado test1 y accesar a el. 2. Crear un directorio llamado testF y accesar a el. 3. Crear 7 archivos con distintos nombres y terminaciones: * file.cs * file1.cs * file2.cs * ExtraFile.h * ExtraFile1.h * hFile.h * config.json * config.xml 4. Ir al directorio padre y crear un Folder con el nombre files. 3. Mover todos los archivos file al Folder files. ( recuerda utilizar " * ": ```mv file*```) 4. Crear un folder llamado headers. 5. Mover todos los archivos con terminación h al Folder headers. 6. Copia el archivo config.json al folder headers. 7. Copia el archivo config.json al folder files. 8. Elimina todos los archivos del folder testF. 9. Cambia el nombre al folder “files” a “csFiles” 10. Done! # Temas: OSX: * People, Contexto. * UNIX * NEXT * OSX * iOS * Futuro… LINUX: * Personas. Contexto. * OpenSource culture ( codigo abierto.) * Distros. * Ahora ( servers, Android) * Future... Windows: * Personas. Contexto. * Windows evolution, microsoft. * Versiones. * Problems. * Futuro... # Contacto: [oscar@ebron.tech](mailto:oscar@ebron.tech) # Evaluacion: ![](https://i.imgur.com/NybHmcd.jpg) # Pres: ### Deadline: 18-Sep-2019 # Equipo 1 Linux Alfredo De Jesús Dzib Damian Emerson Eduardo Diaz Laurean Enrique Salazar Ortiz Michel Cosilion Carrillo Rebecca Bañaga Benton # Equipo 2 MacOS Eduardo Daniel Pérez Román Isaac Johanan Mijangos Rodriguez Miguel Navarro Grandet Saul Alejandro López Cervantes José Francisco Olivas García # Equipo 3 Windows Juan Pablo Ortega Ruelas Kamila Ahumada Aceves David Gonzalo Benitez Puente Sergio Eliab Buñuelos Ayón Gustavo Perez Maldonado ## Order: - OSX - Windows. - Linux # people Kamila Ahumada Aceves Rebecca Bañaga Benton David Gonzalo Benitez Puente Sergio Eliab Buñuelos Ayón Michel Cosilion Carrillo Emerson Eduardo Diaz Laurean Alfredo De Jesús Dzib Damian Saul Alejandro López Cervantes Isaac Johanan Mijangos Rodriguez Miguel Navarro Grandet José Francisco Olivas García Juan Pablo Ortega Ruelas Gustavo Perez Maldonado Eduardo Daniel Pérez Román Enrique Salazar Ortiz ## Tema siguiente Maquina virtual https://hackmd.io/@ETrs8IH-TXGRgF0lUhdYMg/S1oSj2rPr