CursosEmpresasBlogLiveConfPrecios

Standard Input, Standard Output y Standard Error

Clase 10 de 14 • Introducción a Terminal y Línea de Comandos 2016

Contenido del curso

Bienvenido al curso

  • 1
    Bienvenidos al Curso de Introducción a la terminal

    Bienvenidos al Curso de Introducción a la terminal

    00:49 min
  • 2
    ¿Qué es la terminal o CLI (command line interface) ?

    ¿Qué es la terminal o CLI (command line interface) ?

    04:24 min
  • 3

    Material y lista de comandos usados en el curso

    00:12 min

Introducción a la terminal

  • 4
    Navegación entre directorios y listado de archivos  ( pwd, cd, ls)

    Navegación entre directorios y listado de archivos ( pwd, cd, ls)

    14:33 min
  • 5
    Creación de directorios, mover, copiar y renombrar archivos

    Creación de directorios, mover, copiar y renombrar archivos

    10:47 min
  • 6
     Links (Referencias de archivos o directorios ) y eliminar elementos desde la terminal

    Links (Referencias de archivos o directorios ) y eliminar elementos desde la terminal

    09:25 min
  • 7
    Programas disponibles desde terminal: bc, md5, more, tail, cat, wc

    Programas disponibles desde terminal: bc, md5, more, tail, cat, wc

    17:35 min
  • 8
    Documentación disponible desde terminal ( man )

    Documentación disponible desde terminal ( man )

    03:06 min
  • 9
    Monitoreo de procesos desde la terminal

    Monitoreo de procesos desde la terminal

    18:11 min
  • 10
    Standard Input, Standard Output y Standard Error

    Standard Input, Standard Output y Standard Error

    Viendo ahora
  • 11
    Busqueda de contenido, archivos, carpetas y uso de Grep

    Busqueda de contenido, archivos, carpetas y uso de Grep

    21:44 min

Complementos del curso

  • 12
    Peticiones HTTP desde la terminal con curl

    Peticiones HTTP desde la terminal con curl

    20:16 min
  • 13
    crontab

    crontab

    20:17 min

Sesiones en Vivo

  • 14
    Shell scripting

    Shell scripting

    39:35 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Ricardo Verónica Duran

        Ricardo Verónica Duran

        student•
        hace 9 años

        STDIN = 0
        STDOUT = 1
        STDERR = 2

        “| pipe” = Manda el STDOUT o el resultado a otro comando o programa:
        cat operaciones.bc | bc -q

        “> mayor que” = Imprime el STDOUT a un archivo
        operaciones.bc > resultados.txt

        “< menor que” = Lo mismo que el pipe, pero sin necesidad de ejecutar otro comando
        bc -q < operaciones.bc

          Nacho Cornejo

          Nacho Cornejo

          student•
          hace 9 años

          < herramienta one liners. A diferencia de cat no necesita de la ejecución de otro programa para funcionar.

        Luis Enrique Galindo Arenas

        Luis Enrique Galindo Arenas

        student•
        hace 9 años

        Excelente, muy útil! Muchas Gracias @beco

        Mi resumen, con otro ejemplo similar, tal vez más sencillo:

        Creamos un archivo por ejemplo suma.txt que contiene 1 sola linea que dice 5+5

        Entonces si leemos con cat el archivo suma.txt escribiendo cat suma.txt nos muestra en la salida o StandarOutput: 5+5

        Así que si escribimos cat suma.txt | bc le estamos pasamos esa salida de cat como entrada o StandardInput a bc (la calculadora) ésta procesa la operación y nos muestra como salida final 10 (obviamente el resultado de la suma)

        Finalmente si escribimos cat suma.txt | bc > resultado.txt nos guardará el resultado de la suma (la Salida de bc) en resultado.txt

        Lo mismo de arriba lo podemos hacer con: bc < suma.txt que es como meter o pasar la salida de suma.txt a bc

        Y escribiendo bc < suma.txt > resultado.txt agregamos la funcionalidad de guardar la salida de bc en el archivo resultado.txt (Osea 10)

        Con esto básicamente estamos manipulando/controlando las entradas y salidas de procesos o programas desde la terminal! Which is awesome! 😄

          Carlos Eduardo Diaz Polanco

          Carlos Eduardo Diaz Polanco

          student•
          hace 9 años

          Me iba a poner a llorar con este ejercicio, realmente la explicación del curso es nivel Dios, jajajajaaj no como para empezar, ahora si lo entiendo, muchas gracias @GnuLegax

          Walkin Ortiz

          Walkin Ortiz

          student•
          hace 8 años

          Excelente ejemplo, muy útil. Gracias compañero.

        José Paulino do Barreiro Silva

        José Paulino do Barreiro Silva

        student•
        hace 8 años

        Por defecto, todas las salidas son dirigidas hacia la pantalla. Usando el símbolo mayor que (>) se puede redirigir la salida. Se redirige hacia un archivo el estándar STDOUT (usando >) o el estándar STDERR (usando 2 >).

        $ ls /tmp /tmmp > archivo = STDOUT es redirigido a “archivo” y STDERR a pantalla
        ls: /tmpp: No such file or directory

        $ ls /tmp /tmmp 2> errores = STDERR es dirigido a “errores” y STDOUT a pantalla

        $ ls /tmp /tmmp 2> errores > salida = STDERR y STDOUT son dirigidos a “salida”

        $ ls /tmp /tmmp > todo 2>&1 = Tanto STDERR como STDOUT son dirigidos a “todo”

        $ ls /tmp >> todo = Usando dos símbolos de mayor que (>>) los streams se adjuntan en el archivo “todo”

          Julio J Yépez

          Julio J Yépez

          student•
          hace 8 años

          Excelente resumen, gracias Paulino.

          José A Azocar

          José A Azocar

          student•
          hace 8 años

          Muy buen resumen

        Alejandro Velásquez Molina

        Alejandro Velásquez Molina

        student•
        hace 10 años

        Cuando usamos el < no necesitamos ejecutar ningún programa a diferencia del pipe que ejecuta  cat.

        Joaquin Araujo

        Joaquin Araujo

        student•
        hace 8 años
        • Mayor que >: Manda todas las salidas output a un archivo, sí el archivo no existe lo crea, sí existe lo reescribe añadiéndole líneas nuevas (con la información de la operación realizada).
        • Menor que <: Lee un archivo y manda el output a un programa que lo leerá ese resultado como input.
        • Mayor, mayor que >>: Tiene la misma función que > con la diferencia que este suma, concatena los resultados en un archivo.
        • Para concatenar Outputs |: Se usa |, por ejemplo: cat file.txt | bc -q (esto leerá el archivo “file.txt” y luego lo ejecutará con el programa bc sin mostrar “el mensaje de bienvenida” ya que la bandera -q omite eso).

        Si necesitas una guía rápida de todos los comandos que se verán en el curso (incluso estos) aquí la tienes.

          Luis Scozzese

          Luis Scozzese

          student•
          hace 8 años

          Muy buen resumen gracias!

          Joaquin Araujo

          Joaquin Araujo

          student•
          hace 8 años

          Me alegra que te haya servido!

        Omar Gaston

        Omar Gaston

        student•
        hace 8 años

        Standard Input - STDIN(0) = es por donde entran los datos al script (Desde otro archivo o ingresados por el usuario).

        Standard Output - STDOUT(1) = es la salida por donde script arroja (imprime, muestra) los datos procesados.

        Standard Error - STDERR(2)= es la salida por donde el script muestra los errores.

        PIPE " | " : este une el STDOUT de un comando a el STDIN del proximo.Ej: cat operaciones.bc | bc -q

        Mayor que “>” : este imprime (escribe, almacena) el STDOUT a un archivo desde el principio(reescribe). Ej: operaciones.bc > resultados.txt

        Menor que “<” : este recibe desde un archivo los datos por el STDIN. Ej: bc -q < operaciones.bc

        Mayor mayor que “>>”: este imprime (escribe, almacena) el STDOUT a un archivo desde su ultima linea utilizada(concatena). Ej: operaciones.bc >> resultados.txt

        Josué Isaac Fuentes López

        Josué Isaac Fuentes López

        student•
        hace 8 años

        Aca les escribo el codigo para uso de standard output y standard error en python

        import sys import time print "numero:" d = input() i =0 while(True): i =i+1 if((i % d) ==0): sys.stdout.write("El %d es multiplo de %d \n " %(i,d)) else: sys.stderr.write("NO!!! ALARMA: el %d No es multiplo de %d!!!\n" %(i,d)) time.sleep(1)
        Alex

        Alex

        student•
        hace 9 años

        No entiendo qué hace el comando echo.

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 9 años

          echo imprime en consola la variable que tu le envías.

          Por ejemplo echo $PATH

          Jairo Ramirez Castaño

          Jairo Ramirez Castaño

          student•
          hace 8 años

          yo lo uso cuando quiero agregar algún dato a un archivo sin necesidad de abrirlo, teniendo en cuenta el concepto de esta clase. 😃

        Jairo Ramirez Castaño

        Jairo Ramirez Castaño

        student•
        hace 8 años

        Ya con esto es mucha las cosas que se pueden hacer, muy bien.

        Diego Adrián Sánchez Gutiérrez

        Diego Adrián Sánchez Gutiérrez

        student•
        hace 7 años

        todo lo que imprime en la pantalla es el output del programa en terminal hay tres streams para recibir y sacar información standard input 0 es por donde le llega la información al programa standard output 1 es por donde sale los resultados del programa standard error 2 es donde salen los errores de ejecución > envia el standard output a un archivo >> | encamina la salida de un comando a la entrada de otro < trae de un archivo los datos hacia el estandard input 2>&1 manda lo del estandard error al estandard output 2> manda el estandard error a un archivo tail -f para ver lo que se va agregando a un archivo

        Walter Lopez

        Walter Lopez

        student•
        hace 8 años

        Les dejo el código PHP del ejercicio del video por si lo quieren interpretar en su consola.

        <?php echo "número: "; $d = trim(fread(STDIN, 100)); $i = 0; while (true) { if (++$i % $d == 0) { fwrite(STDOUT, sprintf("El %d es múltiplo de %d\n", $i, $d)); } else { fwrite(STDERR, sprintf("NO!! ALARMA: el %d NO es múltiplo de %d!!!\n", $i, $d)); } sleep(1); }
        Martin Mendoza

        Martin Mendoza

        student•
        hace 8 años

        No me queda muy claro el STDIN ,STDOUT & STDERR, se me hace algo complejo pero es importante tenerlo claro, donde puedo encontrar mas ejemplos?

        Ignacio Esteban Aredez Diaz

        Ignacio Esteban Aredez Diaz

        student•
        hace 8 años

        Ahora solo falta aprendermelos todos, gracias por el videos

        Santiago Rios

        Santiago Rios

        student•
        hace 8 años

        Tengo un problema a la hora de usar bc con un archivo me tira el error “illegal character: ^M”. Que debo hacer para que me resuelva las operaciones?

          Ricardo Celis

          Ricardo Celis

          teacher•
          hace 8 años

          hola Santi, en qué sistema operativo estás siguiendo el curso? puede ser que es windows?

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          Esto te puede server , el problema es porque en windows y unix los finales de linea son diferentes, para usar por ejemplo un archivo en bc primero debes convertir los finales de linea para que no tengas ese tipo de problemas.

        Diego Andrés Rojas González

        Diego Andrés Rojas González

        student•
        hace 8 años

        resumen-rápido

        | Standard–| Sintaxis----| Identificador de str |
        | Input-------| STDIN-----| 0-----------------------|
        | Output-----| STDOUT–| 1-----------------------|
        | Error-------| STDERR–| 2-----------------------|

        *standard-input : datos de entrada.
        *standard-output : datos de salida.
        *standard-error : datos erróneos.

        °cat : imprime un archivo.
        °pipe “|” : adquiere datos de salida y los puede convertir en datos de entrada.
        ejemplo: “cat operaciones.bc | bc -q”

        ° < : lee directamente el archivo y lo sube a la ejecución de un programa.
        ° > : (por defecto) dirige los procesos con identificador-str 1 a un nuevo archivo; se puede cambiar el identificador si se pone el identificador deseado antes del “>”.

          Diego Andrés Rojas González

          Diego Andrés Rojas González

          student•
          hace 8 años

          El script de beco (min 2:06)

          <?php echo "número: "; $d = trim (fread(STDIN,100)); $i = 0; while(true){ if(++$i % $d == 0){ fwrite(STDOUT, sprintf(“El %d es múltiplo de %d\n ”, $i, $d)); } else { fwrite(STDERR, sprintf(“NO!! ALARMA: el %d NO es m ultiplo de %d!!!\n”, $i, $d)); } sleep(1); }
        Yury D. Morales

        Yury D. Morales

        student•
        hace 8 años

        Diagrama que representa la estructura del Standard Input, Standard Output y Standard Error

        Standard Input y Standard Error - Script.png
        Luis Fernando Quiroga

        Luis Fernando Quiroga

        student•
        hace 6 años

        (3:20) Cuál es la diferencia entre > y >>

          Manuel Gil

          Manuel Gil

          student•
          hace 6 años

          Un ejemplo es que si quieres copiar información a un archivo tal que:

          • date > test.log
          • date >> test.log

          El operados > va a eliminar el contenido que ya tenga el archivo y va a escribir el dato solicitado

          El operador >> va a abrir el archivo y escribir el dato solicitado al final de archivo

        franco grillo

        franco grillo

        student•
        hace 4 años

        explicacion nivel DIOS

        Christian Martinez

        Christian Martinez

        student•
        hace 5 años

        Estos comentarios tan viejos y yo por aca como 🤯

          Reinaldo Mendoza

          Reinaldo Mendoza

          student•
          hace 4 años

          Nunca pares de aprender

        Francisco Israel Teneda Gallardo

        Francisco Israel Teneda Gallardo

        student•
        hace 9 años

        Se puede enviar los errrores a la salida estándar 2 > &1, o a un archivo 2 > “archivo”

          Mauro

          Mauro

          student•
          hace 9 años
          > fileName 2>&1

          se puede abreviar a

          &> fileName