66.69 Criptografía y Seguridad Informática TP Shell Scripting en Unix/Linux

Documentos relacionados
Shell Script Sistemas Operativos III - ITS EMT - CETP

PROGRAMACIÓ E SHELL DE LI UX.

PROGRAMACIÓN DEL INTÉRPRETE DE COMANDOS DE UNIX/LINUX

Creación De Scripts Ejecutables

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Manual de Usuario Módulo Utilitarios Sistema Integrado de Gestión Administrativa SIGA

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.

FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera de Ingeniería Informática

Sistemas Operativos sesión 13: shell-scripting

EJERCICIOS MANEJO DE ESTRUCTURAS BÁSICAS SCRIPTS

Estructuras de Control. Cecilia Curlango Rosas

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Facultad de Ingeniería Universidad de Buenos Aires 7508 Sistemas Operativos

Introducción al lenguaje C

Nombre de la práctica: Sistema Operativo.

Rawel E. Luciano B Sistema Operativo III. 6- Creación de Script. José Doñe

EJERCICIOS. 2) Hacer un script que muestre información sobre los parámetros del programa. (params.sh)

FUNDAMENTOS DE PROGRAMACIÓN LABORATORIO SESIÓN 2

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Estructuras de Control

PRÁCTICA 20 MANDATOS DE TRATAMIENTO DE CADENAS. CREACIÓN DE SCRIPTS DE SHELL SENCILLOS

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

Definición Es una directiva using que ayuda al compilador a localizar una clase que se usa en la aplicación.

Control de Accesos SisMod

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Administración UNIX: Programación en bash

Manual de Usuario Módulo Utilitario Sistema Integrado de Gestión Administrativa SIGA

SEMANA N 9 NOMBRE EXPERIENCIA: Funciones, variables y arreglos en BASH UNIDAD DE APRENDIZAJE: Introducción a los SCRIPTS

Tema 3. Estructuras de control

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

Informática General Cátedra: Valeria Drelichman Pedro Paleo Leonardo Nadel Norma Morales

PROGRAMACIÓN DEL SHELL

Programación shell en Unix/Linux ksh, bash, sh (con ejercicios corregidos) (4ª edición)

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

COMO SE PROGRAMA EN VISUAL FOXPRO

[FECHA] SISTEMA DE CONTRATACIONES MENORES [SUBTÍTULO DEL DOCUMENTO] ROSA LIDIA ESPINDOLA CUENCA [NOMBRE DE LA EMPRESA] [Dirección de la compañía]

FUNDAMENTOS DE INFORMÁTICA

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION

Creación de Shell Scripts

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

1.9. SENTENCIAS DE CONTROL DE PROGRAMA

Práctica No. 4 Programas en Lex

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

PROGRAMACIÓN PLAN 2008

LUA scripting NXA standard functions

Estructuras de control

Estructura de Datos Unidad 1: Repaso del Lenguaje Java

Tema: Estructuras de Selección en C#.

Informática General 2018 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

Taller de programación shell

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

BASH Scripting. Contenidos. BASH: Bourne-Again SHell. Hola mundo!

a Office 365 Guía de acceso

PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD

Variables lógicas y sentencia IF. Seminario de Computación Verano de 2009

Cadenas de caracteres

PROGRAMACION I Archivos directos

Programación shell-scripts 1 LA SHELL

Guía para el Contribuyente. MANUAL DE INSTALACIÓN DEL DIMM ANEXOS Y FORMULARIOS Linux Versión 1.10 DIMM - LINUX

Manual de Usuario para Empresas SISTEMA DE CONTRATACIONES MENORES GOBIERNO AUTÓNOMO MUNICIPALDE TARIJA

Teoría 8: Segunda Parte. Estructuras de Datos y Funciones de Entrada en Lenguaje C

Node.JS Raspberry Pi (RPi) 2015/05/08 Juan V. Capella

Scripts en GNU/Linux

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)

Cuáles son los lenguajes que pueden utilizarse para programar Karel?

MANUAL DE USUARIO (PERFIL EGRESADO NOTAS CERTIFICADAS) SISTEMA ÚNICO DE REGISTRO ACADÉMICO

Tema 06: Estructuras y sentencias de control en C

Manual usuario TPV ingenico

La resolución de problemas es una tarea únicamente humana comprobable en todos los casos con los mismos resultados.

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Tema: Estructuras de Repetición en C#.

INSTRUCTIVO DE INSTALACION

Transcripción:

Universidad de Buenos Aires Facultad de Ingeniería 66.69 Criptografía y Seguridad Informática TP Shell Scripting en Unix/Linux 1. Objetivo El objetivo de este trabajo práctico es introducir al alumno en la programación de scripts básicos en SO Unix/Linux y brindar los conocimientos para comprender scripts ya realizas, toman como referencia los elementos del SO estudias en TPs anteriores. 2. Variables 2.1. Imprima el valor de la variable var1 # $var1 2.2. Asigne un valor numérico a la variable var1, un valor alfanumérico a la variable var2. # var1=1 # var2= abcdefghijklmnopqrstuvwxyz # $var1 # $var2 2.3. - Verique la longitud de las variables # ${#var1} # ${#var2} # `expr length $var2` (Notar que lo que esta entre ` se ejecuta primero) 2.4. - Extraiga las ultimas 10 letras de la variable var2 (3 maneras distintas). Extraiga las letras entre la c y la f. Opcion 1 # ${var2:16} Opcion 2 # longitud_varaible2=$( ${#var2}) # ${var2:`expr $longitud_variable2 10`} Opcion 3 # ${var2:`expr ${#var2} 10`} # ${var2:2:4} 3. Test if then else 3.1. Ver la salida de los siguientes commans # [ -e /etc/passwd ] # [ -x /etc/passwd ] # [ -f /etc/hosts ] # [ -d /etc ] # [ -L /crypto ] TP Shell Scripting en Unix/Linux Pág. 1 de 6

3.2. Escriba un script que verique la existencia de un archivo (pasa por parámetro) y en caso que exista haga un backup y en caso contrario imprima un error. $1 If [ -e $1 ] then cp $1 ${1}.bkp && Archivo resguarda else el archivo no existe 4. For, while, case, select 4.1. Ejecutar el script que se muestra a continuación. for planet in Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune $planet ne Cómo muestra la salida? for planet in "Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune" $planet ne Cómo muestra la salida ahora? Que diferencias hay con la anterior? for planetoide in $planet $planetoide ne Cómo muestra la salida? Y ahora? for planetoide in "$planet" $planetoide ne 4.2. Ingresar una línea en blanco luego de cada línea del archivo pasa por parámetro previo chequeo de que exista y pueda ser leí. if [ $# -ne 1 ]; then USO: $0 archivo exit 2 if [ -f $1 ] ; then TP Shell Scripting en Unix/Linux Pág. 2 de 6

No existe el archivo exit 3 while read linea $linea ne < $1 4.3. Ejecutar el siguiente script y analizar la salida # Se asocia cada planeta con su distancia al centro egocentrico. for planet in "Mercury 36" "Venus 67" "Earth 93" "Mars 142" "Jupiter 483" A=$( $planet cut -d" " -f1) B=$( $planet cut -d" " -f2) "$A tiene $B de distancia" ne Qué hace A=$( $planet cut -d" " -f1)?. Hacer man cut y ver qué son los parámetros d y f. Por qué los pares Planeta distancia van entre? Que pasa si se sacan las? 4.4. El siguiente script pide que ingrese algo por tecla hasta que se ingrese end while [ "$var1"!= "end" ] "Ingrese una linea" read var1 "Ingresó: $var1" ne Termino 4.5. El siguiente script pide que ingrese un caracter por tecla y dice que tipo de caracter es. Para salir se debe presionar F while [ "$Keypress"!= "F" ] ; "entre una letra segui de enter (F PARA SALIR)." read Keypress case "$Keypress" in [[:lower:]] ) "Minuscula";; [[:upper:]] ) "Mayuscula";; [0-9] ) "Numerico";; * ) "Error en el ingreso del caracter";; esac ne Termino TP Shell Scripting en Unix/Linux Pág. 3 de 6

4.6. El siguiente script imprime un menú y permite que se seleccione un item PS3='Seleccione una materia: ' select materia in "crypto" "Circuitos1" "Senales" "Trabajo Profesional" "Chino" "La materia seleccionada es $materia." "mas suerte la proxima!" break ne 5. Funciones 5.1. Corra el siguiente script y analice la salida. Este script imprime mensajes usan funciones para tal n. imprimecartel () { "Cartel de Inicio del sistema." "siga los pasos." } imprimemensaje () { if [ $1 == "ERR" ]; then "ERROR: $@" else "El mensaje es: $@" } imprimecartel imprimemensaje "ERR" Mensaje importante imprimemensaje "OK" Otro Mensaje importante Qué es $1 dentro de la función imprimemensaje()? Qué es $@ dentro de las función imprimemensaje()? 6. Expresiones Regulares 6.1. Ejecute el siguiente script A="Matematica Discreta es genial" B="Pipeta es una bomba" C="Escopeta es un peligro" $A TP Shell Scripting en Unix/Linux Pág. 4 de 6

$B $C read $A sed "s/.*ta/crypto/g" $B sed "s/.*ta/crypto/g" $C sed "s/.*ta/crypto/g" read $A sed "s/m.*ta/crypto/g" $B sed "s/m.*ta/crypto/g" $C sed "s/m.*ta/crypto/g" "ingresar una string" read D $D sed "s/m.*ta/crypto/g" $A sed "s/[mp].*ta/crypto/g" $B sed "s/[mp].*ta/crypto/g" $C sed "s/[mp].*ta/crypto/g" 6.2. Ejecute el siguiente script A="Matematica Discreta es genial" B="Pipeta es una bomba" C="Escopeta es un peligro" $A $B $C presione ENTER para continuar read Salida 1 $A sed "s/es//g" Salida 2 $A sed "s/es//g" sed "s/genial/aburrida/g" Salida 3 $A sed "s/(m.*ta)/ vino \1/g" Salida 4 $A sed "s/\(m.*ta\).*/ vino \1/" Qué sucede en cada salida? 7. Compilación de Código C 7.1. Escribir el programa C #vi pepe.c int main(void) { printf("hello world\n"); exit(55); } 7.2. Compilar el programa gcc -o programa pepe.c 7.3. Correr el programa compila #./programa TP Shell Scripting en Unix/Linux Pág. 5 de 6

8. Ejercicios de scripting 8.1. Ejercicio Nº1 Escribir un script que contenga: Una función que permita saber si un archivo existe (el archivo se pasa por parámetro). Una función que verique la existencia de un usuario pasa por parámetro. Un menú con las siguientes opciones o Vericar la existencia de un usuario (al usuario lo lee de la consola) e imprime cual es su directorio HOME en caso que exista. o Vericar la existencia de un archivo. Este punto debe desplegar un menú con el path de al menos 4 archivos o Escribir un programa que pida el ingreso de una lista de palabras hasta presionar la letra F. Luego vericar de esas palabras cuales empiezan con minúscula, cuales con mayúsculas y cuales con números. Link para ayuda: http://www.tldp.org/ldp/abs/html/ 8.2. Ejercicio Nº2 Escribir un script que permita efectuar las siguientes acciones Indicar la dirección IP de la interfaz de red (ej: eth0) Obtener una IP en forma automática mediante DHCP Congurar manualmente IP y máscara de red, solicitan estos datos al usuario Mostrar el conteni del archivo /etc/hosts Mostrar la tabla de ruteo Mostrar los puertos TCP/UDP activos Efectuar un ping a un destino indica por el usuario TP Shell Scripting en Unix/Linux Pág. 6 de 6