Linux1 Linux RHC030 Modulo 7. Standard I/O y tuberias (Pipes) Relator : Cristian Leiva.

Slides:



Advertisements
Presentaciones similares
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Advertisements

INSTITUTO TECNOLOGICO SUPERIOR DE SANTIAGO PAPASQUIARO
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Maquina Virtual La máquina virtual de Java o JVM es un entorno de ejecución para aplicaciones de Java, cuya finalidad es la de adaptar los programas Java.
Tema 5 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto
STEPHANNIE RODRIGUEZ BATUN. La información que necesita en un programa para su función se obtiene mediante una entrada de datos de una fuente que puede.
Programación II Ing. Diego J. Arcusin 3 – Uso del Shell.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Entornos de programación
Instalacion de paquetes
Programación 1 Presentación de c++
PROGRAMACIÓN ORIENTADA A OBJETOS
Instrumentos Virtuales (VIs)
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
FILTROS SISTEMAS OPERATIVOS II Docente: MIGUEL ANGEL NIÑO ANDRES CORREDOR VIDAL ANDRES SANCHEZ DULCE JUAN ANDRES MARTINEZ Sexto semestre de Sistemas de.
Multiprogramación Procesos Cecilia Hernández
Sistemas Operativos Oscar Bedoya
Archivos Programación.
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Ingeniero Anyelo Quintero
Taller de Linux Practica 11 Redireccionamiento de entrada LSC Veronica Quizan Garcia.
Estructura de un programa en C
TRINO ANDRADE G UNIVERSIDAD ECOTEC. PRESENTACIÓN DE OUTLOOK EXPRESS Microsoft Outlook Express es una herramienta necesaria que le permite administrar.
Archivos.
Ingrese a su correo desde la página de la UMC en el enlace de correo empleados.
Informática Ingeniería en Electrónica y Automática Industrial
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
HERNANDEZ RAMIREZ CAROLINA CONALEP IXTAPALUCA 236.
Programación de Sistemas
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
Linux RHC030 Modulo La Shell Bash Relator : Carlos Villanueva.
Modulo Usuarios y Grupos
Capítulo 1: Entrada estándar y salida estándar. 1. El comando hostname informa su nombre de máquina asignado de la estación actual. Ejecute el comando.
PROTOCOLO H T T P.
Comandos Linux CentOS.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 5: Comandos de manipulación de Directorios y.
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
Introducción a Procesos.  Contexto de ejecución: Conjunto de variables y parámetros, que tiene independencia de otro procesos.  Contexto de E/S ◦ Descriptores.
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.
Eng. Ivan E. Juárez. Preliminary Activity The different kind of tools that we will use during this course require to use a gmail account, even if you.
Teoría de Sistemas Operativos Administración de Archivos.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
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
Menú presentación Dispositivos de salida Software y hardware
Redireccionamiento Realizado por Kepa Bengoetxea.
NOMBRE: LUIS VIRACOCHA CURSO: 5 B. Uso de la línea de comandos Muchas ordenes de gestión del sistema operativo El entorno de texto, es un sistema muy.
Sistemas Operativos.
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.
Jorge De Nova Segundo. SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo del nivel de aplicación.
VII. IMPLANTACIÓN DE SISTEMAS OPERATIVOS.
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
Computación I. CI-2125 Tema VIII
INSTITUTO TÉCNICO INDUSTRIAL ÁREA DE INFORMÁTICA ALUMNO: CRISTIAN DAVID RODRÍGUEZ GÓMEZ GRADO:11-02.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 2: El sistema de archivos de LINUX Nombre unidad.
IPCsTD III – 2008 – Guillermo Osso 1. ¿Qué es? Es un proceso, un programa, que corre en background. D.A.E.MON.: Disk And Execution MONitor En Windows.
CODIGO ASCII.
Instituto Tecnológico Superior de Libres Ingeniería en Sistemas Computacionales Segundo semestre Materia: Programación Orientada a Objetos Asesora: Ing.
Linux1 MANEJO DE SISTEMAS OPERATIVOS Montaje y Sistema de Archivos Linux.
Programación II Ing. Diego J. Arcusin 1 - Introducción a UNIX.
Taller de Linux Practica 19 Mando find Búsqueda de archivos LSC Veronica Quizan Garcia.
Comandos básicos Linux I. Comandos BásicosI $ date $ cal$ cal $cal Encadenado de comando: $ date;pwd;cal Visualizar texto por pantalla:
ARCHIVO Es una colección de información o bien es una secuencia de bits, bytes, líneas o registros definida por su creador.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Jugando con redirección en Bash
Programación de Sistemas Operativos
Transcripción de la presentación:

Linux1 Linux RHC030 Modulo 7. Standard I/O y tuberias (Pipes) Relator : Cristian Leiva

2© 2007 Linux. Todos los derechos reservados. Unidad 7 – Sistemas de Archivos Linux  Entrada estándar y salida estándar  Error estándar  Tuberías

3© 2007 Linux. Todos los derechos reservados.  Conceptos Claves  Los programas basados en la terminal tienden a leer información desde una fuente y a escribir la información en un destino.  La fuente desde donde se leen los programas se conoce como una entrada estándar (stdin, del inglés standard in) y suele estar conectada al teclado de la terminal.  El destino al que los programas escriben se conoce como una salida estándar (stdout, del inglés standard out) y suele estar conectada a la pantalla de la terminal.  Cuando se utiliza la shell bash, la stdout puede redirigirse mediante > o >> y la stdin puede redirigirse mediante <. Entrada estándar y salida estándar

4© 2007 Linux. Todos los derechos reservados. Tipos de Programas  Programas gráficos –Los programas gráficos están diseñados para ejecutarse en el entorno gráfico X. –Expect the user to be using a mouse, popup menus and buttons, for user input –Esperan que el usuario utilize el mouse y los componentes gráficos comunes tales como menús emergentes y botones para la entrada de datos –Ejemplo – Mozilla Web Browser  Programas de pantalla –Los programas de pantalla esperan utilizar una consola de texto. –Apropiados para terminales y consolas virtuales –Ejemplo – vi y nano  Programas de terminal –Reunen entradas y salidas de pantalla en un flujo –suelen llamarse simplemente comandos. –Ejemplo – ls y cat

5© 2007 Linux. Todos los derechos reservados. Entrada estándar (stdin) y salida estándar (stdout)  Los programas de terminal suelen leer información como un flujo desde una sola fuente tal como el teclado de una terminal (stdin)  Generalmente, escriben información como un flujo a un solo destino como por ejemplo una pantalla (stdout)  Generalmente, stdin y stdout están conectadas a la terminal que ejecuta el comando.  Se considera conveniente redirigir (stdin) desde (stdout) hacia los archivos.

6© 2007 Linux. Todos los derechos reservados. Escritura de una salida a un archivo  La shell bash usa > para redirigir un flujo de stdout de proceso a un archivo. elvis]$ ps aux > sluggish.txt elvis]$ elvis]$ head sluggish.txt USERPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root ? S Jun02 0:04 init [ root ? SW Jun02 0:00 [keventd] root ? SW Jun02 0:00 [kapmd]

7© 2007 Linux. Todos los derechos reservados. Agregando una salida a un archivo  Para agregar una salida de un comando a un archivo, en lugar de sobrescribirlo, bash usa >>. elvis]$ date > sluggish.txt elvis]$ ps aux >> sluggish.txt elvis]$ head sluggish.txt Tue Jun 3 16:57:23 EDT 2003 USERPID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root ? S Jun02 0:04 init [ root ? SW Jun02 0:00 [keventd] root ? SW Jun02 0:00 [kapmd]

8© 2007 Linux. Todos los derechos reservados. Redirección de stdin  bash usa < para hacer que lean entradas desde alguna parte diferente al teclado. [elvis]$ mail -s "Computer is sluggish" Hey root... I'm sending a list of processes that were running in a separate . Thanks! --elvis. Cc: [elvis]$ mail -s "ps output" < sluggish.txt

9© 2007 Linux. Todos los derechos reservados. Archivos abiertos y descriptores de archivos  Con el fin de leer o escribir información en un archivo un proceso debe abrir el archivo.  Los procesos de Linux (y Unix) mantienen el registro de los archivos que están abiertos mediante la asignación de un número entero a cada uno.  El número entero se conoce como un descriptor de archivos.

10© 2007 Linux. Todos los derechos reservados. Archivos abiertos y descriptores de archivos  Cada proceso tiene un subdirectorio asociado bajo /proc llamado como su PID (ID del proceso). –El subdirectorio del proceso a su vez tiene un subdirectorio llamado fd (del inglés file descriptor). –Dentro del subdirectorio /proc/pid/fd, existe un enlace simbólico para cada archivo abierto por el proceso. –El nombre del enlace simbólico es el número entero del descriptor de archivo abierto y el enlace simbólico apunta al archivo mismo.

11© 2007 Linux. Todos los derechos reservados. Ejemplos stdin / stdout elvis]$ cat /etc/termcap [1]+ Stopped cat /etc/termcap elvis]$ elvis]$ ps PID TTY TIME CMD 1368 pts/1 00:00:00 bash 1910 pts/1 00:00:00 cat 1911 pts/1 00:00:00 ps elvis]$ ls -l /proc/1910/fd total 0 lrwx elvis elvis 64 Sep 13 06:42 0 -> /dev/tty1 lrwx elvis elvis 64 Sep 13 06:42 1 -> /dev/tty1 lrwx elvis elvis 64 Sep 13 06:42 2 -> /dev/tty1 lr-x elvis elvis 64 Sep 13 06:42 3 -> /etc/termcap

12© 2007 Linux. Todos los derechos reservados. Descriptores de Archivos  Como protocolo de Linux (y Unix), cada proceso hereda tres archivos abiertos tras el inicio. –Primero, descriptor de archivo 0, es la entrada estándar. –Segundo, descriptor de archivo 1, es la salida estándar. –Tercero, descriptor de archivo 2, es el error estándar. FlujoDescriptorAbreviación Standard In0stdin Standard Out1stdout Standard Error2stderr

13© 2007 Linux. Todos los derechos reservados. Descriptores de Archivos <>

14© 2007 Linux. Todos los derechos reservados. Redireccionamiento elvis]$ cat /etc/termcap > /tmp/foo [1]+ Stopped cat /etc/termcap >/tmp/foo elvis]$ elvis]$ ps PID TTY TIME CMD 1368 pts/1 00:00:00 bash 1910 pts/1 00:00:00 cat 1911 pts/1 00:00:00 ps elvis]$ ls -l /proc/1910/fd total 0 lrwx elvis elvis 64 Sep 13 06:42 0 -> /dev/tty1 lrwx elvis elvis 64 Sep 13 06:42 1 -> /tmp/foo lrwx elvis elvis 64 Sep 13 06:42 2 -> /dev/tty1 lr-x elvis elvis 64 Sep 13 06:42 3 -> /etc/termcap

15© 2007 Linux. Todos los derechos reservados.  Conceptos Claves  Los programas Unix reportan condiciones de error a un destino llamado error estándar (stderr).  Usualmente, stderr está conectado a una pantalla de terminal y los mensajes de error se encuentran entremezclados con las salidas estándar.  Cuando se utiliza la shell bash, el flujo de stderr puede redirigirse a un archivo mediante 2>.  Al utilizar bash, el flujo de stderr puede combinarse con el flujo de stdout mediante 2>&1 o >& Error estándar

16© 2007 Linux. Todos los derechos reservados. Error estándar (stderr)  En la siguiente secuencia, elvis está utilizando el comando head -1 para generar una lista de las primeras líneas de todos los archivos en el directorio /etc/rc.d.  elvis]$ head -1 /etc/rc.d/*  ==> /etc/rc.d/init.d <==  head: /etc/rc.d/init.d: Is a directory  ==> /etc/rc.d/rc <==  #! /bin/bash  ==> /etc/rc.d/rc0.d <==  head: /etc/rc.d/rc0.d: Is a directory  ==> /etc/rc.d/rc1.d <==  head: /etc/rc.d/rc1.d: Is a directory  ==> /etc/rc.d/rc2.d <==  head: /etc/rc.d/rc2.d: Is a directory  ==> /etc/rc.d/rc3.d <==  head: /etc/rc.d/rc3.d: Is a directory  ==> /etc/rc.d/rc4.d <==  head: /etc/rc.d/rc4.d: Is a directory  ==> /etc/rc.d/rc5.d <==  head: /etc/rc.d/rc5.d: Is a directory  ==> /etc/rc.d/rc6.d <==  head: /etc/rc.d/rc6.d: Is a directory  ==> /etc/rc.d/rc.local <==  #!/bin/sh  ==> /etc/rc.d/rc.sysinit <==  #!/bin/bash  ==> /etc/rc.d/rc.sysinit.rpmsave <==  #!/bin/bash

17© 2007 Linux. Todos los derechos reservados. Ejemplo de Error estándar (stderr)  elvis]$ head -1 /etc/rc.d/* > rcsummary.out  head: /etc/rc.d/init.d: Is a directory  head: /etc/rc.d/rc0.d: Is a directory  head: /etc/rc.d/rc1.d: Is a directory  head: /etc/rc.d/rc2.d: Is a directory  head: /etc/rc.d/rc3.d: Is a directory  head: /etc/rc.d/rc4.d: Is a directory  head: /etc/rc.d/rc5.d: Is a directory  head: /etc/rc.d/rc6.d: Is a directory

18© 2007 Linux. Todos los derechos reservados. Error estándar (stderr)  Segundo flujo de salida –usado para reportar condiciones de error  Aunque no es obvio desde el principio, los comando realmente estan enviando salida a dos flujos independientes. –(stdout) –(stderr) [elvis]$ head -1 /etc/rc.d/* > rcsummary.out 2> rcsummary.err [elvis]$

19© 2007 Linux. Todos los derechos reservados. Combinación de stdout y stderr  Usando 2>&1 para combinar stdout y stderr se introdujo en la shell Unix original, la shell Bourne (sh). Dado que bash está diseñado para ser compatible con sintaxis anteriores sh también soporta esta sintaxis. Sin embargo, la sintaxis no es conveniente.  Para simplificar las cosas, bash usa >& para combinar stdin y stdout como en el siguiente ejemplo. [ elvis]$ head -1 /etc/rc.d/* >& rcsummary.both

20© 2007 Linux. Todos los derechos reservados. Redirección de stdin, stdout y stderr en bash

21© 2007 Linux. Todos los derechos reservados.  Conceptos Claves  El flujo de stdout desde un proceso puede estar conectado al flujo de stdin de otro proceso mediante lo que Unix llama una "tubería".  Varios de los comandos en Unix están diseñados para operar como un filtro, leer la entrada desde stdin y enviar la salida a stdout.  bash usa "|" para crear una tubería entre dos comandos. Tuberías

22© 2007 Linux. Todos los derechos reservados. Tubería (Pipes)  Pipe o tubería es una de las formas más comunes y eficaces para redirigir una combinación de la salida (salida estándar) de un comando la cual es "entubada" directamente dentro de la entrada (entrada estándar) de otro comando.  Con el fin de crear una tubería por medio de bash, los dos comandos se unen con una barra vertical |

23© 2007 Linux. Todos los derechos reservados. Ejemplo Tuberia (Pipe)  Usando el comando find para listar los archivos alfabeticamente [prince]$ find /etc -size +100k 2>/dev/null | sort /etc/aep/aeptarg.bin /etc/lynx.cfg.ja /etc/makedev.d/cciss /etc/squid/squid.conf /etc/squid/squid.conf.default /etc/termcap [prince]$

24© 2007 Linux. Todos los derechos reservados. Filtro de salida con grep  El comando grep se utiliza para buscar y extraer líneas que contengan una cadena de texto específico.  Ejemplo: Se trata de hallar un directorio llamado templates que se creó hace unos meses. Utiliza el comando locate para encontrarlo. [prince]$ locate templates | grep prince /home/prince/.kde/share/apps/quanta/templates /home/prince/proj/templates [prince]$  prince]$ locate templates  /etc/openldap/ldaptemplates.conf  /usr/share/doc/libxslt /html/libxslt- templates.html  /usr/share/doc/libxslt /templates.gif  /usr/share/doc/docbook-style-xsl /docsrc/templates.xml  /usr/share/man/man5/ldaptemplates.conf.5.gz  /usr/share/man/man3/ldap_free_templates.3.gz  /usr/share/man/man3/ldap_init_templates_buf.3.gz  /usr/share/man/man3/ldap_init_templates.3.gz ... Con el fin de reducir la información a archivos más importantes, prince toma la stdout desde el comando locate y crea una tubería para la stdin del comando grep, "buscando" la palabra "prince".

25© 2007 Linux. Todos los derechos reservados.