Compartir a través de


¿Qué es un shell de comandos?

Muchas personas usan los términos shell de comandos, herramienta de línea de comandosy terminal indistintamente, lo que puede resultar confuso. En este artículo se explica la diferencia entre estos conceptos y se proporcionan ejemplos de cada uno.

Un de shell de comandos de es una interfaz de línea de comandos interactiva para administrar un equipo, también conocido como de bucle read-Eval-Print (REPL).

Un shell toma la entrada del teclado, evalúa esa entrada y ejecuta la entrada como un comando de shell o reenvía la entrada al sistema operativo que se va a ejecutar. La mayoría de los shells también pueden leer comandos de un archivo de script y pueden incluir características de programación como variables, control de flujo y funciones.

Tipos de shells de comandos

Hay dos tipos principales de shells de comandos:

  • Shells de comandos de uso general

    Los shells de comandos de uso general están diseñados para trabajar con el sistema operativo y permiten ejecutar cualquier comando que admita el sistema operativo. También incluyen comandos específicos del shell y características de programación. La lista siguiente contiene algunos ejemplos de shells de comandos de uso general:

  • Intérpretes de comandos de utilidad

    Los shells de comandos utilitarios están diseñados para trabajar con aplicaciones o servicios específicos. Estos shells solo pueden ejecutar comandos específicos de la aplicación o el servicio. Algunos shells de utilidad admiten la ejecución de comandos desde un script por lotes, pero no incluyen características de programación. Normalmente, estos shells solo se pueden usar de forma interactiva.

    • Shell de IA: un shell de uso exclusivamente interactivo que se utiliza para comunicarse con servicios de inteligencia artificial como Azure OpenAI.
    • netsh: el shell de red (netsh) es una utilidad de línea de comandos que permite configurar y mostrar el estado de varios componentes de red en Windows. Es una herramienta de línea de comandos y un shell de comandos. También admite la ejecución de comandos desde un archivo de script.

Herramientas de línea de comandos

Una herramienta de línea de comandos es un programa independiente que se ejecuta desde un shell de comandos. Las herramientas de línea de comandos suelen diseñarse para realizar una tarea específica, como administrar archivos, configurar opciones o consultar información. Las herramientas de línea de comandos se pueden usar en cualquier shell que admita la ejecución de programas externos.

  • de la CLI de Azure: una colección de herramientas de línea de comandos para administrar recursos de Azure que se pueden ejecutar en cualquier shell compatible.
  • azure PowerShell: una colección de módulos de PowerShell para administrar recursos de Azure que se pueden ejecutar en cualquier versión compatible de PowerShell.
  • OpenSSH para Windows: incluye un cliente de línea de comandos y un servidor que proporciona comunicación segura a través de una red.
  • Comandos de Windows - una colección de herramientas de línea de comandos integradas en Windows.

En general, las herramientas de línea de comandos no proporcionan una interfaz de intérprete de comandos (REPL). El comando netsh en Windows es una excepción, ya que es una herramienta de línea de comandos y un shell de comandos interactivo.

Terminales

Un terminal es una aplicación que proporciona una ventana basada en texto para hospedar shells de comandos. Algunos terminales están diseñados para trabajar con un shell específico, mientras que otros pueden hospedar varios shells. También pueden incluir características avanzadas como:

  • Capacidad de crear varios paneles dentro de una sola ventana
  • Capacidad de crear varias pestañas para hospedar varios shells
  • Capacidad de cambiar combinaciones de colores y fuentes
  • Compatibilidad con operaciones de copia y pegado

La lista siguiente contiene algunos ejemplos de aplicaciones terminales:

  • Terminal Windows: una aplicación de terminal moderna para Windows que puede hospedar varios shells.
  • Consola de Windows Host: la aplicación anfitriona predeterminada en Windows para aplicaciones basadas en texto. También puede hospedar el Shell de comandos de Windows o PowerShell.
  • Terminal para macOS: la aplicación de terminal predeterminada en macOS que puede hospedar el shell de bash o zsh.
  • iTerm2 para macOS: una popular aplicación de terminal de terceros para macOS.
  • azure Cloud Shell: una aplicación de terminal basada en explorador hospedada en Microsoft Azure. Azure Cloud Shell ofrece la opción de usar Bash o PowerShell. Cada shell viene preconfigurado con muchas herramientas de línea de comandos para administrar recursos de Azure.