shell - unam

26
Shell L.I. Francisco Ruiz Sala Instituto de Astronomía UNAM

Upload: others

Post on 07-Nov-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Shell - UNAM

ShellL.I. Francisco Ruiz SalaInstituto de Astronomía

UNAM

Page 2: Shell - UNAM

Que es una TerminalUn terminal de texto, o a menudo solo terminal(consola ), es un terminal con una interfazserial para comunicarse con un computador,un teclado para entrada de datos y unapantalla para exhibición de únicamentecaracteres alfanuméricos (sin gráficos)

El VT100 de Digital Equipment Corporation (DEC)

Page 3: Shell - UNAM

Tipos de TerminalEste tipo de terminal tonto todavía es soportado ensistemas modernos tipo Unix ajustando la variable de entorno TERM.Cliente liviano• VT52, VT100, VIP, IBM 3270, ETD, IBM 3270, TV

Typewriter, BlitUn emulador de terminal o emulador de consola es un programa que simula el funcionamiento de un terminal de computadora en cualquier dispositivo de visualización.En particular:PuTTY es un cliente SSH, Telnet, rlogin, y TCP raw con licencia libre.

Page 4: Shell - UNAM

Protocolos de comunicación TCP/IP y conexiones remotas

Protocolo de comunicación TCP/IP (Transfer Conection Protocol/ Internet Protocol) son es una serie de reglas que no se alteran y que permiten establecer comunicaciones entre equipos de cómputo y comunicacion (Ejemplos: http, https, ssh, telnet entre otros).

Una conexion remota se lleva acabo mediante un “Cliente” y un “Servidor” mediante uno de estos protocolos de comunicación TCP/IPEl servicio de ssh o telnet sirve para emular una terminal remota mediante TCP/IP, el cual nos permite ingresar al servicio de shell de equipo “Servidor” desde nuestro equipo “Cliente”

Page 5: Shell - UNAM

Como conectarnos a nuestro servidor:

Nombre del Servidor: Calamar

Direccion ip: 132.248.1.15

Puerto de conexion: 9512

Servicio:SSH (Secure Shell)

Page 6: Shell - UNAM

Definición:-Shell:Es un programa que brinda una interfaz al

usuario, la cual permite la comunicación del usuario con el sistema operativo, esto mediante una ventana o pantalla la cual permite al usuario dar órdenes al sistema operativo. En otras palabras podemos decir que el Shell es un programa que funciona de intermediario entre un operador y el sistema operativo.

Page 7: Shell - UNAM

Tipos de shell:- sh (llamado "Bourne shell")- bash ("Bourne again shell")- csh ("C Shell”) - Tcsh ("Tenex C shell”) - ksh ("Korn shell”)- zsh ("Zero shell") etc.

Page 8: Shell - UNAM

Algunos Comandos en de Unix en shell (Bash)

https://triton.astroscu.unam.mx/fruiz/introduccion/shell/tutorial_linux.pdf

Los Comandos en el shell siempre no se usaran MayusculasA esta caracteristica se le llama Case sensitive de UNIX

Un comando es un programa que se ejecuta en el shell y Se ejecuta de la siguiente manera:Ejemplo:

Prompt Comando Opciones ejecucion[root@calamar ~]# ls <espacio> -la

Page 9: Shell - UNAM

Comando Accion Ejemplopwd Muestraeldirectorio

Actual

exit cierralaterminal cd cambiaaldirectorio

especificadocd/home

ls listalosarchivos ls-ltramv cambiadenombre mvoriginalnuevocp copiaunarchivo cporiginalcopiarmdir renombraundirectorio more depliegaunarchivopor

páginamorearchivo

less despliegaunarchivoenmododinamico

lessarchivo

cat despliegaunarchivo catarchivodiff comparaarchivos difforiginalcopiaview despliegacaracteristicas

deunarchivoviewarchivo

man ayuda manmanwhoami quiensoyyo date fecha clear limpialapantalla history muestraelhistorialde

comando

ssh conexionseguraremota sshlocalhostps listalosprocesos ps-auxdmesg muestramensajesdelS.O. dmesg|more

ALGUNOS COMANDOS EN SHELL

Page 10: Shell - UNAM

Sistema de archivosEs parte del sistema operativo es el encargado de administrar el uso de recursos de almacenamiento fijo.Se encarga de la administración del espacio libre y del acceso a los datos almacenados de manera fija, (normalmente un disco duro de una computadora, usb etc), que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos.

La mayoría de los sistemas operativos manejan su propio sistema de archivos.

Generalmente se maneja por bloques de un mismo tamaño, Tambien son llamados Cilindros, Sectores y BloquesEl Sistema Operativo es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados.

Los sistemas de archivos proveen métodos para crear, mover, renombrar y eliminar tanto archivos como directorios

Page 11: Shell - UNAM

http://dis.um.es/~lopezquesada/documentos/IES_1213/LMSGI/curso/xhtml/xhtml11/Paginas/Sistema%20Archivos.html

Page 12: Shell - UNAM

Usuarios y Permisos

Permisos y número de enlace usuario grupos Tamaño Fecha y hora de última

modificación Nombre del Archivo

(o Directorio)

Usuario root

Usuarios estandar

Usuarios invitados

Page 13: Shell - UNAM

CRTL + c : finaliza el procesoCTRL + z : parar un proceso en primer plano el shell toma el control y 'duerme' al proceso que estaba en ejecuciónComando.& :ejecuta el comando en segundo plano

Control de procesosbg : continua un proceso parado, en segundo plano. Siexisten varios procesos parados, podemos ponerlecomo argumento el índice que el comando jobs nosmostró.

Page 14: Shell - UNAM

Variables bash:Como declarar una Variable:identificador=contenido$identificador-----Ejemplo:variable=Holaecho $variable

Page 15: Shell - UNAM

Tipo de shell y terminal?echo $SHELLTambién puede saber qué shell está usando, por medio de ver el prompt por defecto. Si usted observa un signo de peso $entonces está usando Bourne, bash o Korn Shell, en tanto que si observa un signo de porcentaje%entonces está usando la shell C. -- Tipo de terminal

echo $TERM

Page 16: Shell - UNAM

¿Que es un compilador?Un compilador es un programa informático que traduce un programa que ha sido escrito en un lenguaje de programación de alto nivel a un lenguaje de máquina, aunque también puede ser traducido a un código intermedio (ensamblador). Este proceso de traducción se conoce como compilación.

Page 17: Shell - UNAM

¿Que es un Intérprete?

Los intérpretes sólo realizan la traducción de lenguaje de alto nivel a código de maquina a medida que sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.

Page 18: Shell - UNAM
Page 19: Shell - UNAM

Operaciones aritméticasSi queremos que el shell sustituya una expresión aritmética por su valor:$((expresión))evalua la expresión aritmética y reemplaza el bloque por el resultadoEjemplo:sin evaluación:$ echo 1+1con evaluación:$ echo $((1+1))

Operadores:+ suma* mutiplicación- resta/ división entera% resto de la división entera( ) agrupar operaciones

Page 20: Shell - UNAM

if ... then ... [ else ... ]Esta es la principal estructura que nos permitirá ejecutar un bloque de códigoLa construción es:

if CONDICION; thenbloque de comandos b1

fiÓ

if CONDICION; thenbloque de comandos b1

elsebloque de comandos b2

fi

Page 21: Shell - UNAM

if ... then ... [ else ... ]Ejemplos:read linea# comparamos cadenas de texto, así que usamos comillasif [ "$linea" = "secreto" ]; thenecho bingo!fiif ! $(ping -c 1 192.168.0.100 > /dev/null); thenecho La máquina 192.168.0.100 no respondeelseecho La máquina 192.168.0.100 está ahí!fi

Page 22: Shell - UNAM

Ciclos o buclesEl shell aporta mecanismos para realizar tareas repetitivas mediante el empleo de estructuras que permiten repetir un bloque de comandos.Los buclesExisten distintas construcciones de bucles según el shell, vamos a ver dos:

for ... in ...

while ...

Page 23: Shell - UNAM

forfor VARIABLE in SERIE; dobloque de comandosDone--------Ejemplos:# equivalente a seq 1 5for i in 1 2 3 4 5; doecho $idone# lo mismo pero con palabrasfor palabra in uno dos tres cuatro cinco; doecho $palabradone

Page 24: Shell - UNAM

while

Ejemplo:

#!/bin/bash# equivalente a seq 1 5i=1while [ $i -lt 6 ]; doecho $ii=$(($i+1))done

Ejemplo:

#!/bin/bash# lee de stdin hasta que se introduzca 'quit'read lineawhile [ "$linea" != "quit" ]; doread lineadone

while CONDICION; dobloque de comandosdone

Page 25: Shell - UNAM

#!/bin/bash# Programa que hace sequiencia de numeros de xecho Dame un numero:read xfor ((i=1; i<=$x; i++)); doecho $idone

Page 26: Shell - UNAM

Tarea

Realizar un programa en bash, que pueda Formar un circulo de 0 con la sentencia while o for e if

# Programa que escribe un cuadrado de 10x10 con0#!/bin/bash# Este programa dibuja un cuadrado de 10x10 con 0for ((i=1; i<=4; i++)); doecho 0000000000done