Programación II Ing. Diego J. Arcusin 3 – Uso del Shell.

Slides:



Advertisements
Presentaciones similares
Integrando Obras y Oficina
Advertisements

Cuestiones y problemas
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 3: Comandos de manipulación de Archivos Nombre.
CLASE 4 EL ENSAMBLADOR.
Una vez completada esta lección, podrá:
Relacionando Datos Arrays
Programa SEL para validar archivos SUA
BASE DE DATOS Primeros pasos
Estimación de los Errores de Muestreo Encuestas de Salud Reproductiva   RHS Usando SPSS 19.
Por: Ronald Toscano Pretelt
TUBERÍA | Toma la salida de un comando como entrada de otro. Ejemplo:
Técnicas de Programación con Visual Basic
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Entornos de programación
Programación en Matlab
Índice Sesión I Bloque I (09:30 a 10:30 Horas) Configuración Inicial
Ejemplo: Creación y mutación de procesos
Sistema de Ficheros, Permisos de archivos y Propietarios de los Mismos.
Date | Place Programación de Computadores Utilidades para la realización de las prácticas.
Las variables en PHP Programación en Internet II.
Primer Programa en JAVA
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
FILTROS SISTEMAS OPERATIVOS II Docente: MIGUEL ANGEL NIÑO ANDRES CORREDOR VIDAL ANDRES SANCHEZ DULCE JUAN ANDRES MARTINEZ Sexto semestre de Sistemas de.
TÉCNICO EN PROGRAMACIÓN DE SOFTWARE Instructor: Ingeniero Adrián Guerrero Taborda
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Sistemas Operativos Oscar Bedoya
Practica 16 Expresiones regulares LSC Veronica Quizan Garcia
Formas de que PHP escriba dentro de HTML Programación en Internet II.
Almacenar variables en cookies en PHP
Programación II Ing. Diego J. Arcusin 8 – Perl.
Constantes en PHP Programación en Internet II. Constantes en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa.
TRINO ANDRADE G UNIVERSIDAD ECOTEC. PRESENTACIÓN DE OUTLOOK EXPRESS Microsoft Outlook Express es una herramienta necesaria que le permite administrar.
Programación II Ing. Diego J. Arcusin 1 – El editor VI.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
ACIDE A C onfigurable I ntegrated D evelopment E nvironment (Un entorno integrado de desarrollo configurable)
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
PHP TODO SOBRE PHP.
1 - Introducción a UNIX Programación II Ing. Diego J. Arcusin
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
PROGRAMACIÓN DE SHELL SCRIPTS
MATERIA: SISTEMAS OPERATIVOS II INTEGRANTES: CARLOS NAJERA LUIS ACOSTA ANGEL CASTILLO.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 5: Comandos de manipulación de Directorios y.
Elementos básicos del lenguaje
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 7: Control del flujo en BASH Nombre unidad de.
Red de Datos Universidad del Cauca
Modulo 2. Filesystem Bàsico
Capítulo 1: Entrada estándar y salida estándar.  Programas gráficos: diseñados para ejecutarse en el entorno gráfico X. Utilizan mouse y teclado  Programas.
Administración de Servicios de Red 1 Escuela de Informática y Telecomunicaciones Suplementos: Shell scripts rpm RHA 030 Sistemas Operativos de Red.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 8: Control del flujo en BASH Nombre unidad de.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 4: Comandos de manipulación de Archivos y filtros.
Propiedades de Archivos regulares y Permisos  Linux es un entorno multiusuario  Varias personas pueden estar trabajando al mismo tiempo ◦ Ejemplo 
Comandos de manipulación de Archivos
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
PEDRO ALBERTO ARIAS QUINTERO. El shell es un intérprete de órdenes, los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Ihr Logo PHP Parte 2 “php toma muchas sintaxis de lenguajes de alto nivel conocidos para poder trabajar”
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
Las variables de entorno forman un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos en una computadora.
Práctica Profesional PHP.
¿QUE ES EL DIAGRAMA DE ESTADO ?
Programación II Ing. Diego J. Arcusin 5 – Programación con Shell.
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
Programación II Ing. Diego J. Arcusin 1 - Introducción a UNIX.
Comandos básicos Linux I. Comandos BásicosI $ date $ cal$ cal $cal Encadenado de comando: $ date;pwd;cal Visualizar texto por pantalla:
Programación de Sistemas Operativos
Transcripción de la presentación:

Programación II Ing. Diego J. Arcusin 3 – Uso del Shell

Comandos En su forma más simple es una palabra aislada. Los terminadores de comandos indican al shell donde finaliza un comando. Nueva Línea ; & Precedencia de operadores | tiene mayor precedencia que ; No es lo mismo: date; who | wc que (date; who) | wc Los paréntesis se utilizan para agrupar comandos

Metacaracteres Conjunto de caracteres con propiedades especiales para el shell: > >> < | Para evitar que el Shell interprete los metacaracteres: Utilizar. Por ejemplo: $echo *** o anteponer una barra invertida antes de cada metacaracter. Por ejemplo: $echo \*\*\* Nota: Es posible usar comillas dobles pero el shell interpreta dentro de las mismas los caracteres $, `...` y \ * ? [abc] ; & \....

Metacaracteres (Cont.) Los delimitadores de un tipo protegen los delimitadores de otro tipo. Por ejemplo: $ echo se puede incluir aqui ? se puede incluir aqui ? $ No es necesario que los delimitadores encierren al argumento completo. Por ejemplo: $ echo x * y x * y $

Metacaracteres (Cont.) Las cadenas con delimitadores pueden contener caracteres de nueva línea. Por ejemplo: $ echo hola > mundo hola mundo La cadena > es el prompt secundario PS2 desplegado por el Shell cuando espera más entrada por parte del usuario. Una diagonal invertida al final de una línea hace que la línea continúe. Esta es la forma de presentar al Shell una línea larga $ echo abc\ > def\ > ghi abcdefghi $ El metacaracter # se utiliza para comentarios. El shell ignora todo a la derecha de # $ echo Hola #Mundo Hola $

Nuevos Comandos El Unix permite la creación de nuevos comandos con facilidad. Por ejemplo. Comando que indica cuantos usuarios hay logueados: $ echo who | wc –l > cuentausuarios $chmod +x cuentausuarios Si un archivo es ejecutable y contiene texto, entonces el shell supone que es un shell script (Archivo de comando de Shell) Este shell script también pudo ser ejecutado mediante: sh <cuentalineas, o sh cuentalineas En cualquiera de estos casos el script no requiere permisos de ejecución sino de lectura. El Shell crea un proceso hijo para su ejecución (llamado subshell)

Argumentos y Parámetros El Shell asigna a la variable $1 el valor del primer argumento recibido. Hace lo mismo para los siguientes argumentos con las variables $2... $9 La variable $* contiene a la totalidad de argumentos recibidos. $0 es el nombre del script que se está ejecutando. Por ejemplo el Script buscaperm. Busca todos los archivos pertenecientes que tengan los permisos especificados. find / -perm $1 –print Otro ejemplo. Script haceejecutable chmod +x $*

Salida como argumentos Mediante la utilización de las comillas invertidas `...` en un comando, se puede ejecutar otro comando y su salida será incluida en el primer comando. Por ejemplo: $echo la hora actual es `date` $haceejecutable `buscaperm 655`

Variables de Shell El shell permite la utilización de variables como la mayoría de los lenguajes de programación. Algunos variables ya vistas: $1, $PATH, $PS1 Para asignar una variable: VARIABLE=valor; Para referirse a una variable $VARIABLE Algunos ejemplo de asignación de variables: nombre=Diego directorio=´pwd´

Variables de Shell (cont.) El valor de las variables se asocia al shell que la crea y no se pasa directamente a los hijos del Shell. $x=hola $sh $echo $x $exit $echo $x hola $ Para permitir que una variable sea accesible desde un subshell se utiliza el comando export

Más comandos El comando set muestra todas las variables definidas por el usuario. El comando. permite la ejecución de un script en el Shell actual. tee – copia la entrada a un archivo (o archivos) y a la vez envía la entrada a la salida estándar time – Ejecuta un comando y despliega en el error estándar cuánto tardo dicho comando. pick – Presenta sus argumentos uno a la vez y pide confirmación. Su salida son aquellos donde se confirmó mediante un yes. sleep – espera un número especificado de segundos antes de terminar. Ejemplo Script alarma. Recibe 2 parámetros (Cant. Segundos y Texto a displayar). sleep $1 echo $2

Salida de Error Si bien, por default, la salida de error es direccionada a la terminal, también puede ser redireccionada. Para esto se utiliza: $comando 2> archivo En alguna situación, podría requerirse enviar la salida de error hacia el mismo flujo que la salida estándar. Para esto se puede utilizar: $comando 2> &1 Por ejemplo: $ time wc /etc/passwd > wc.out 2>&1 De la misma forma se puede direccionar la salida estandar a la salida de error mediante: 1> &2

Introducción a las Iteraciones For. Permite iterar con una lista de palabras. Sintaxis for var in lista de palabras do comandos done Ejemplos: for i in * (...) for i in $i (...) for i in ´cat archivo´ (...) for i in ´pick *´ (...) for i in ; (...)

Juntándolo todo Ejemplo de un Script algo más complejo. ¿Qué hace este script? for i in ´pick *´ do echo ===================== echo Archivo: $i echo ===================== cat $i echo echo done

Preguntas ?

Ejercicios 3.1. suponiendo que hay 5 usuarios logueados. Cuál sería la salida de los siguientes comandos: $who; date | wc –l$(who; date) | wc -l 3.2. Desarrolle los siguientes comandos: snooze- Comando que a los 9 minutos displaye: Despertate!!! (Util para las clases teóricas de Programación II) restringe- Comando que quita todos los permisos al grupo y al mundo Qué diferencia hay entre los siguientes comandos (ejecutelos en /bin) $echo d*e 3.4. Para qué sirve la opción –n del echo ?

Ejercicios 3.5. Prediga que hará cada uno de los siguientes comandos: $grep \$$grep \.\ $grep \\$$grep \\\\ $grep \\ \ $ $grep \$ $grep \$$grep $ 3.6. ¿Cómo indicaría a grep que busque un patrón que empiece con - ? 3.7. Qué sucede con: $cat x y > y$cat x >> x 3.8. Si ejecuta: $rm * ¿Por qué rm no puede advertir al usuario que está por borrar todos sus archivos? 3.9. Qué ocurre si utiliza $10 como variable de Shell para que sea reemplazada por el argumento número de 10.

Ejercicios Investigue cuantos de los comandos de /bin y /usr/bin son realmente archivos de Shell. ¿Cómo averiguarlo? Ejecute: $`date` ¿Qué ocurre? Qué diferencia hay entre: for i in * y for i in $* Diseñe un programa que reciba una cadena arbitraria y realice una búsqueda de ese texto dentro de los nombre de los archivos del Home directory del usuario Describa tres formas de ejecutar un Shell Script Muestre los nombres y valores de todas las variables del Shell Modifique la variables PS1 de su.profile para que muestre su nombre de usuario y el directorio de trabajo.

Ejercicios Desarrolle un Script que reciba un directorio como argumento y muestre el archivo más nuevo de dicho directorio Desarrolle un Script llamado agregapath que reciba n argumentos y los agregue a la variable $PATH Desarrolle un script llamado auditor. Este script recibe 2 argumentos: Un usuario y un directorio. El Script deberá encontrar todos los archivos pertenecientes al usuario especificados que contengan la palabra sexo y se encuentren dentro del directorio especificado (y sus subdirectorios).