Jugando con redirección en Bash

Slides:



Advertisements
Presentaciones similares
Gestion de Configuracion: RANCID
Advertisements

1 Teclado basico Modulo de CYC-Curso de Computadora Basica
Asterisk Administración 1 1.
Historia y Sistemas UNIX
Programación II Ing. Diego J. Arcusin 3 – Uso del Shell.
= { BA; B A } A C B BABA Definición de probabilidad condicionada (,, P) P(. /A): A [0,1] función de probabilidad (,, P( · /A)) Espacio de probabilidad.
ha salido un número primo ha salido un número par P(A)= B Resultados favorables = A B P(A/B)=P(A/C)= Definición de probabilidad.
Date | Place Programación de Computadores Utilidades para la realización de las prácticas.
 Intervención o no de todos los elementos Intervención o no de todos los elementos  Influencia o no del orden de los elementos Influencia o no del orden.
FILTROS SISTEMAS OPERATIVOS II Docente: MIGUEL ANGEL NIÑO ANDRES CORREDOR VIDAL ANDRES SANCHEZ DULCE JUAN ANDRES MARTINEZ Sexto semestre de Sistemas de.
Sistemas Operativos Oscar Bedoya
Archivos Programación.
Taller de Linux Practica 11 Redireccionamiento de entrada LSC Veronica Quizan Garcia.
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
Estructura del sistema de Archivos de
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.
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.
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.
LINUX BASICO. TEMARIO COMANDOS ARCHIVOS GRUPOS PERMISOS PERSONALIZACION SCRIPS GRUB UNIDADES FISCIAS PROGRAMACION EN LINUX KERNEL(POSIBLE) RED(POSIBLE)
Date | Place Estructura de Computadores Utilidades para la realización de las prácticas.
Linux1 Linux RHC030 Modulo 7. Standard I/O y tuberias (Pipes) Relator : Cristian Leiva.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 4: Comandos de manipulación de Archivos y filtros.
Comandos de manipulación de Archivos
Redireccionamiento Realizado por Kepa Bengoetxea.
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.
¿Qué es un interprete de Comandos?
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.
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.
Comandos básicos Linux I. Comandos BásicosI $ date $ cal$ cal $cal Encadenado de comando: $ date;pwd;cal Visualizar texto por pantalla:
Comandos Sistema de Archivos Linux deberias-conocer/#info.
I.E.S. Sierra Palomera. Escribir un correo nuevo Correos enviados Bandeja de entrada Etiquetas Destacados.
Programación de Shell Scripts (I) Antonio Durán. La Shell ● La shell, o intérprete de comandos, es el programa que interpreta las peticiones del usuario.
SHELL I.S.C. BERTHA GEORGINA FLORES DÍAZ. INTRODUCCIÓN ➲ Mas de 200 comandos basicos que se incluyen con el sistema operativo ➲ La real fortaleza de los.
Copias de Seguridad. Copia de Seguridad Utilidad export: este es un programa que realiza una copia binaria de los datos que solo puede ser leído por su.
Bienvenido. Agenda ● Instalar software ● Entorno texto ● Permisos ● Entornos gráficos.
Flujos de datos Un flujo es un canal por donde fluyen los datos.
PRUEBA VEAMOS QUE PASA.
Lección de PROGRAMACION PARA PRINCIPIANTEs
PROGRAMACION.
LECCION DE PROGRAMACION EV3 PARA PRInCIPIANTES
Lección de Programación PARA Principiantes
Línea de Comando de Unix
Comandos Básicos Comandos Básicos Jornadas Octubre 2009 GUL – UC3M
Introducción a Sistemas Operativos (clase práctica)
Actualizando el Software y Firmware
El Correo corporativo de
Desde el Software Libre hasta la Cultura Libre
Algunos algoritmos para Scratch
¿Cómo han sido y son los ordenadores?
ACTUALIZACION NOD32 Hacer clic en el icono de NOD32 que esta en la barra de Inicio de Windows.
MATLAB 6.5 Clase 3: Funciones básicas e Introducción a la Programación
LECCION DE PROGRAMACION EV3 PARA PRInCIPIANTES
Repaso de los verbos -ar
ACTIVIDAD No.3: UBUNTU, INSTALACION Y COMANDOS BASICOS
Base de datos PubMed (Curso básico: módulo 4, parte B)
Programación de Sistemas Operativos
Comandos de Linux Luna Luna Francisco Jesús
Identificadores de Objetos Digitales (DOIs)
organizada Bandeja de entrada Limpiar carpetas
Palabras de uso frecuente 1er grado
MANEJO DE UBUNTU COMANDOS SHELL / TERMINAL.
THE FAMILY IN THE HOME.
Bucles e Iteración – Parte 4
Más Patrones de Ejecución Condicional
Expresiones– Parte 3 PYTHON PARA TODOS Crear un Programa.
Lenguajes de Bucle: Lo Que Hacemos en los Bucles
1era. Unidad Administración de Sistema Operativo Linux Desarrollado por Guillermo Verdugo Bastias
Trabajo de computación
Transcripción de la presentación:

Jugando con redirección en Bash Debian Day 2017 La Paz Este post tiene un artículo de consulta en: https://rmgss.net Rodrigo Garcia

Un pedazo de la filosofía UNIX Haz que cada programa haga bien una cosa. Espera que la salida de cada programa se convierta en la entrada de otro programa, incluso desconocido. The UNIX philosophy is documented by Doug McIlroy

Streams y File-descriptors Con la consola BASH (bourne again shell) se aprovechan los file-descriptors y streams para enviar la salida de un programa a un lugar, luego otro programa puede sacarla de ese lugar y utilizarla como su entrada. lsof -p $BASHPID ls /proc/<PID>/fd/

Streams y File-descriptors File-descriptor (FD) Stdin (Entrada estándar) Stdout (Salida estándar) 1 Stderr (Error estándar) 2 lsof +f g -ap $BASHPID -d 0,1,2

Operadores comando > archivo comando >> archivo comando1 | comando2 comando 2> archivo

Jugemos un poco ls $HOME > lista ls -l $HOME >> lista ls no.existe > lista ls no.existe 2>> lista ls -R /var/log | grep “*.txt” find $HOME | grep “txt$” > mis_txts

¿Salida estándar? Veamos a donde apunta: lsof +f g -ap $BASHPID -d 1 A mi me aparece: /dev/pts/1 y /dev/pts/1 es esta misma terminal por eso lo que sale en la salida estándar aparece en la pantalla. Si la redirigimos: ls -l $HOME > archivo Ahora stdout saldrá en “archivo”

¿Entrada estandar? ls no lee nada de stdin por eso: Digamos: echo “/var/log” > arch Luego: ls < arch # QUE? No sera : cat arch | ls #?? Es: cat arch | xargs ls # Ahhh! ls no lee nada de stdin por eso: ls < arch # no funciona En cambio si funciona: read A < arch echo $A

Error estándar Es similar a stdout solo que típicamente ahí solo van los mensajes de error. mv no.ex ex mv no.ex ex 2> errores combinando: ls no.existe 2>&1 reporte cat reporte Que pasa aqui, donde esta “reporte”?

El orden importa! nada hace que se apunte a “reporte” ls no.existe 2>&1 reporte # hace: ----------------------------------- File descriptor (FD) Archivo 0 ---------> /dev/pts/5 1 ----·----> /dev/pts/5 / 2 --´ nada hace que se apunte a “reporte”

Se evalúan primero los operadores antes que los comandos ls algo-que-no-existe > reporte 2>&1 >: File descriptor (FD) Archivo 0 ---------> /dev/pts/5 1 ---------> archivo 2 ---------> /dev/pts/5 2>&1: 1 -----·---> reporte / 2 ---´

Ahora se puede jugar más ps aux --sort -rss | head for nombre in * do NS=$(echo $nombre | tr " " "_") mv "$nombre" "$NS" 2> /dev/null done

Aprovechando algunos comandos tar -zcvf - carpeta/ | gpg \ -- symmetric --no-use-agent \ -- passphrase "123456" > \ carpeta.gpg # descifrar gpg --decrypt --no-use-agent \ -- passphrase \ carpeta.gpg | \ tar -C . -xvf -

Creative Commons Attribution 4.0 International License. Gracias Esta presentación está bajo la licencia libre: Creative Commons Attribution 4.0 International License. Referencia más completa sobre esta charla: https://rmgss.net