---
# System prepended metadata

title: Terminal
tags: [Sistemas Operativos, OPS, TERMINAL, UNIAT, Clase]

---

---
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