CursosEmpresasBlogLiveConfPrecios

Shell scripting

Clase 14 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

    21:59 min
  • 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

    Viendo ahora
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
        Juan Carlos Mejia Martinez

        Juan Carlos Mejia Martinez

        student•
        hace 9 años

        Un poco mas de información sobre links.

        Links simbólicos:

        • Son parecidos a los enlaces directos de windows.
        • Tienen un inodo diferente al del archivo al que apuntan.
        • Pueden apuntar a directorios y archivos.
        • Si el archivo o directorio es eliminado el link permanece pero ya no -habra origen al que apunte.

        Links duros:

        • Son una copia del archivo original.
        • Comparte el mismo inodo del archivo original.
        • Solo puede apuntar a archivos.
        • Si el archivo original es eliminado el link duro permanece con la -información del archivo original.

        Ejemplo:

        • Creamos un archivo para realizar la prueba e insertamos contenido en este.
        $ touch archivo_original.txt $ echo 1234 >> archivo_original.txt
        • Creamos un link simbólico apuntando al archivo original.
        $ ln -s archivo_original.txt link_simbolico
        • Listamos con la opcion -i para ver el inodo y podemos ver que son diferentes
        $ ls -li 1515644 -rw-r–r-- 1 owner group 0 Jan 20 17:00 archivo_original.txt 1515666 lrwxr-xr-x 1 owner group 20 Jan 20 17:01 link_simbolico -> archivo_original.txt
        • Ahora creamos el link duro
        $ ln archivo_original.txt link_duro
        • Listamos con la opción -i y en la primer columna podemos ver el mismo inodo.
        ls -li 1515644 -rw-r–r-- 2 owner group 0 Jan 20 17:00 link_duro 1515644 -rw-r–r-- 2 owner group 0 Jan 20 17:00 archivo_original.txt
        • Ahora veremos el contenido de cada uno con el comando cat.
        $ cat link_duro 1234 $ cat link_simbolico 1234 $ cat archivo_original.txt 1234
        • Borramos el archivo origen y volveremos a ver el contenido de cada uno.
        $ cat link_duro 1234 $ cat link_simbolico cat: link_simbolico: No such file or directory $ cat archivo_original.txt cat: archivo_original.txt: No such file or directory

        Como podemos ver el link duro permanece con una copia con el mismo inodo que tenía el archivo original y el link simbólico nos marca error debido a que ya no existe el archivo al que apunta.

          Jairo Ramirez Castaño

          Jairo Ramirez Castaño

          student•
          hace 8 años

          @JCharly_MM buen aporte, gracias.

          Danelia Sanchez Sanchez

          Danelia Sanchez Sanchez

          student•
          hace 8 años

          Excelente aporte, muchas gracias =)

        Julio J Yépez

        Julio J Yépez

        student•
        hace 8 años

        Hay varias formas de encadenar comandos en una sola línea:

        con | hace que la salida del primero se convierta en la entrada del segundo.
        # cmd1 | cmd2

        Con & hará que los dos (o más) comandos se ejecuten de manera simultanea.
        # cmd1 & cmd2

        Con || El segundo comando se ejecutará si el primero termina sin éxito.
        # cmd1 || cmd2

        Con && El segundo comando se ejecutará solo si el primero termina con éxito.
        # cmd1 && cmd2

        Con ; El segundo comando se ejecutará sin importar el resultado del primero.
        # cmd1 ; cmd2

          Julio J Yépez

          Julio J Yépez

          student•
          hace 8 años

          Fuente:

          SEBASTIAN PADUANO

          SEBASTIAN PADUANO

          student•
          hace 8 años

          Gracias

        Pedro Matías Cuevas Meza

        Pedro Matías Cuevas Meza

        student•
        hace 9 años
        Jos Can Su

        Jos Can Su

        student•
        hace 9 años

        Feliz por que apenas terminando este curso ya logre los primeros resultados en mi trabajo

        Daniel Hidalgo

        Daniel Hidalgo

        student•
        hace 8 años

        PERMISOS BÁSICOS:

        Si quieres prevenirte de modificar un archivo importante, simplemente quita el permiso de escritura en tu “archivo” con el comando chmod

        $ chmod -w tuArchivo

        si quieres hacer un script ejecutable, escribe

        $ chmod +x tuScript

        si quieres remover o agregar todos los atributos a la vez

        $ chmod +rwx archivo

        también puedes usar el signo = (igual) para establecer los permisos en una combinación exacta, este comando remueve los permisos de escritura y ejecución dejando solo el de lectura

        $ chmod =r archivo

        Gloria Gonzalez

        Gloria Gonzalez

        student•
        hace 9 años

        esperaba algo de traps

          Juan Carlos Quishpe

          Juan Carlos Quishpe

          student•
          hace 9 años

          Que es traps?

          Francisco Israel Teneda Gallardo

          Francisco Israel Teneda Gallardo

          student•
          hace 9 años

          Trap define y activa las acciones que deben ejecutarse cuando el shell recibe señales u otras condiciones especiales.
          Pues bien, estas señales se pueden capturar, redefinir o ignorar. Por ejemplo, podemos redefinir la acción que se ejecuta por defecto al recibir la señal que se genera al pulsar Ctrl+C y decidir que, en lugar de terminar el programa, nos muestre un simpático mensaje:

          #!/bin/bash #traptest.sh trap "echo Booh!" SIGINT SIGTERM echo "pid is $$" while : #Esto es lo mismo que "while true". do sleep 60 #Esta línea no hace nada. done
        Jairo Ramirez Castaño

        Jairo Ramirez Castaño

        student•
        hace 8 años

        Muy bien explicado, ya estoy listo para presentar el examen.

        Sergio López Humanes

        Sergio López Humanes

        student•
        hace 9 años

        CEST, horario para aprovechar la luz solar = UTC+2

        Luis Enrique Nava Zavala

        Luis Enrique Nava Zavala

        student•
        hace 8 años

        Excelente Curso

        Bernardino Villagra Baez

        Bernardino Villagra Baez

        student•
        hace 8 años

        ./Descargas/prog.sh

          Bernardino Villagra Baez

          Bernardino Villagra Baez

          student•
          hace 8 años

          Yo trabajando en la terminal de Linux

        Diego Abraham Morán Acevedo

        Diego Abraham Morán Acevedo

        student•
        hace 8 años

        Excelente curso, no sabía nada sobre terminal y comandos, se que aún me falta mucho por aprender, pero este curso me ayudo muchísimo y aprendí muchísimo.

        Excelente trabajo saludos! 😄

        Diego Adrián Sánchez Gutiérrez

        Diego Adrián Sánchez Gutiérrez

        student•
        hace 7 años

        chmod modifica los archivos el encabezado es el que decide que programa lo ejecuta

        Daniel Espinosa Arias

        Daniel Espinosa Arias

        student•
        hace 8 años

        ¿ya no se continuará con el curso?
        Estaría bien que dejaran tareas para practicar los temas vistos en el curso

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          La mejor forma de practicar es hacerlo en entornos reales, si tienes dudas de algo puedes volver a las clases y repasar, cada persona tiene necesidades diferentes al momento de usar este tipo de herramientas y es complejo dejar ejercicios que para algunos les van a parecer o muy fáciles o muy complicados.

          Daniel Espinosa Arias

          Daniel Espinosa Arias

          student•
          hace 8 años

          Entiendo, haré ejercicios por mi cuenta. Por otra parte, ¿sabes si habrá un curso de terminal y línea de comandos avanzados?

        Diego Rodas

        Diego Rodas

        student•
        hace 9 años

        genial curso deja claro lo potente que es la shell, gracias.

        Edgar Moises Valdez Faria

        Edgar Moises Valdez Faria

        student•
        hace 9 años

        Se puede ejecutar scripts al momento que se prende la maquina ?

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 9 años

          Se pueden ejecutar scripts cuando inicias tu sesión en la maquina, si quieres ejecutar algo apenas prenda la maquina tienes que hacer otro tipo de procedimiento y es ejecutar tu script por medio de systemd (Programa que gestiona los servicios en las versiones recientes de linux) o init.r (creo que se llama así)

          Edgar Moises Valdez Faria

          Edgar Moises Valdez Faria

          student•
          hace 9 años

          Entiendo… Gracias por la respuesta.
          Y creo que es “init.d”, si no me equivoco, este se usa para levantar servicios

        Blanca Segura Garcia

        Blanca Segura Garcia

        student•
        hace 9 años

        buena clase … Si se pudiera conseguir los scripts … sería bueno.

        Alexander Silvera

        Alexander Silvera

        student•
        hace 9 años

        El comando more desde la consola de Git Bash no me lo reconoce??

          Yeison Daza

          Yeison Daza

          student•
          hace 9 años

          Recuerda que git bash es una emulación de la terminal bash, por esta razón puede que algunos programas como more no funcionen

        Nilton Omar  Santillan Aching

        Nilton Omar Santillan Aching

        student•
        hace 9 años

        Como creas un cronjobs que las transacciones del dia de mi bd mysql. Muestre un ejemplo.
        Gracias

          Diego Forero

          Diego Forero

          Team Platzi•
          hace 9 años

          Hola, no es claro lo que necesitas hacer, puedes ser un poco más claro para poder ayudarte.

          GABRIEL MAGALLON SANCHEZ

          GABRIEL MAGALLON SANCHEZ

          student•
          hace 8 años

          Este es un ejemplo que encontre en internet sobre como realizar de forma diaria un respaldo de la bases de datos, de igual forma se puede realizar cualquier tipo de consulta a la base de datos, que en este caso es que movimientos hubo en la base de datos

          0 0 * * 0 date=date -I; /usr/bin/mysqldump -uDBUSERNAME -pPASSWORD dbname > /home/CPANELUSERNAME/FILE_NAME_HOME_DIRECTORY$date.sql

          La consulta seria algo como esto
          SELECT , ps.user,ps.host, ps.db, ps.command, ps.time, ps.state, trx.trx_state,
          -> FROM information_schema.PROCESSLIST ps
          -> LEFT JOIN information_schema.INNODB_TRX trx
          -> ON ps.id=trx.trx_mysql_thread_id;

        Daniel Hidalgo

        Daniel Hidalgo

        student•
        hace 8 años

        Estoy usando esta tarea para mover todas mis imágenes format o PNG y JPG a una carpeta llamada “contenedor” en mi home… NO me está funcionando, le agradezco a alguien su ayuda:

        * * * * * mv *.png & *.jpg > $HOME/contenedor/```
          Diego Forero

          Diego Forero

          Team Platzi•
          hace 8 años

          Asi no te va a funcionar ya que el & no lo toma como un y debes usar expresiones regulares algo como

          * * * * * mv *\.\(png\|jpg\) $HOME/contenedor/
          Augusto Guzmán

          Augusto Guzmán

          student•
          hace 8 años

          Esto quizá te sirva:

                  • for var in $(ls *.jpg); do mv $var ${var:0:-4}.png; done > $HOME/contenedor/
        Simón Escobar

        Simón Escobar

        student•
        hace 8 años

        Hay diferentes tipos de bashes, para mi gusto está ZSH