Potentes herramientas de terminal y línea de comandos (CLI) para el desarrollo web moderno

Publicado: 2022-03-10
Resumen rápido ↬ ¿Cuál es tu herramienta de línea de comandos favorita? Hoy, Louis Lazaris comparte una colección de aplicaciones y utilidades de línea de comandos relevantes con las que se ha encontrado personalmente en los últimos años.

Muchos programadores modernos, incluidos los desarrolladores front-end y full-stack, trabajan a diario con la línea de comandos. Incluso aquellos que son relativamente nuevos en el desarrollo web están adquiriendo habilidades de línea de comandos temprano y están encontrando herramientas y utilidades prácticas para mejorar su productividad en la terminal.

Esta publicación presenta una lista categorizada de muchas aplicaciones de línea de comandos que descubrí personalmente en los últimos años. Algunos de ellos son relativamente nuevos, otros han existido por un tiempo. Así que espero que algo en este resumen te interese y te ayude a hacer cosas cuando trabajes en la terminal.

Puede saltar a una categoría utilizando la navegación a continuación:

  • Aplicaciones de terminal
  • Utilidades y mejoras de la terminal
  • Frameworks y secuencias de comandos de línea de comandos
  • Herramientas de Productividad para la Terminal

Aplicaciones de terminal

Esta sección presenta terminales, multiplexores, emuladores de consola, terminales móviles y espacios de trabajo de línea de comandos que puede usar para reemplazar la aplicación de terminal predeterminada en su sistema.

tmux

tmux es un multiplexor de terminal popular para sistemas operativos similares a Unix que le permite cambiar fácilmente entre varios programas en un solo terminal, con la capacidad de "separar" una sesión (mientras aún se ejecuta en segundo plano) o "volver a adjuntarla" a una diferente Terminal.

tmux
(Vista previa grande)

iTerm2

iTerm2 , el sucesor de iTerm, es un reemplazo para su Terminal en macOS que incluye características como paneles divididos, búsqueda robusta, autocompletar, reproducción instantánea, junto con una gran cantidad de opciones de configuración.

iTerm2
(Vista previa grande)

Mosh

Mosh es una aplicación de terminal remota (o shell móvil) para el uso interactivo de SSH que incluye varias características útiles para aquellos que necesitan realizar tareas basadas en terminales a través de WiFi débil, redes celulares u otras conexiones menos confiables.

Mosh
(Vista previa grande)

Zellij

Zellij es un espacio de trabajo de terminal que tiene la funcionalidad básica de un multiplexor de terminal (similar a tmux) pero incluye funciones que permiten a los usuarios ampliarlo y crear un entorno personalizado a través de paneles/pestañas y complementos.

Zellij
(Vista previa grande)

Hiper

Hyper es una aplicación de terminal basada en Electron para Mac, Windows o Linux que está construida con tecnologías web (HTML/CSS/JS). Incluye docenas de temas y complementos y se basa en la velocidad y la estabilidad.

Hiper
(Vista previa grande)

cmder

cmder es un emulador de consola portátil para Windows que se creó debido a la falta de una buena opción en esta área para los usuarios de Windows.

cmder
(Vista previa grande)

como el infierno

a-Shell es una aplicación para iOS que ofrece un 'terminal en su bolsillo' con control de archivos/directorios, compatibilidad con accesos directos de Apple, varias ventanas y mucho más.

como el infierno
(Vista previa grande)

terminal eterna

Eternal Terminal es otra aplicación de terminal remota inspirada en otros proyectos populares similares.

terminal eterna
(Vista previa grande)

diez manos

Ten Hands es una aplicación de terminal para Mac, Linux y Windows que se anuncia como la forma más sencilla de organizar y ejecutar tareas de línea de comandos, útil para aquellos que ejecutan tareas diarias similares en múltiples proyectos.

diez manos
(Vista previa grande)

interfaz de usuario eDEX

eDEX-UI es un emulador de terminal multiplataforma de pantalla completa y un monitor de sistema fuertemente inspirado en las interfaces de usuario de películas de ciencia ficción, en particular, la película Tron: Legacy.

interfaz de usuario eDEX
(Vista previa grande)

Atigrado

Tabby, anteriormente "Terminus", es una aplicación de terminal multiplataforma personalizable para shells locales, conexiones SSH, seriales y Telnet que incluye soporte para funciones como paneles divididos, pestañas inteligentes, teclas de acceso rápido personalizables y mucho más.

Atigrado
(Vista previa grande)

concha de pescado

Fish Shell es otra opción para un shell de línea de comandos para Linux, macOS y Windows que incluye sugerencias automáticas, finalización de pestañas, color de 24 bits, configuración basada en web, resaltado de sintaxis, entre otras características prácticas.

concha de pescado
(Vista previa grande)
¡Más después del salto! Continúe leyendo a continuación ↓

Utilidades y mejoras de la terminal

Una vez que tenga su espacio de trabajo principal, querrá mejorarlo con varias herramientas, utilidades, temas, etc. Esta sección incluye algunas herramientas útiles para que su experiencia con la terminal sea más placentera.

Oh mi Zsh

Oh My Zsh es un marco de código abierto impulsado por la comunidad para administrar su configuración para Z Shell (o Zsh, un popular shell de Unix). Viene con miles de funciones útiles, ayudantes, más de 300 complementos, más de 140 temas y más. Funciona mejor en macOS o Linux, pero también se puede usar en Windows usando algo como Cygwin o WSL2.

Oh mi Zsh
(Vista previa grande)

Higo

Fig agrega autocompletado estilo VSCode a su terminal existente e incluye soporte para herramientas CLI existentes como Git, npm, Kubernetes, Docker, AWS, Google Cloud y más.

Higo
(Vista previa grande)

fzf

fzf es un buscador rápido, portátil y difuso para la línea de comandos que le permite ejecutar consultas de búsqueda difusa con un conjunto completo de funciones.

fzf
(Vista previa grande)

Historia de la concha

Shell History (no gratis) es una aplicación de macOS que se integra con Bash, Zsh o Fish y le permite realizar copias de seguridad y sincronizar fácilmente a través de iCloud y organizar su historial de shell en "cuadernos".

Historia de la concha
(Vista previa grande)

htop

htop es un visor de procesos interactivo, originalmente solo para Linux pero ahora multiplataforma, que tiene como objetivo mejorar el comando top de Linux al proporcionar funciones adicionales al ver los procesos en ejecución.

arriba
(Vista previa grande)

CLI de GitHub

GitHub CLI, en caso de que se lo haya perdido, es la interfaz de línea de comandos multiplataforma oficial para GitHub, que trae solicitudes de extracción, problemas y otras tareas relacionadas con GitHub a su terminal.

CLI de GitHub
(Vista previa grande)

choza de arroyo

Streamhut te permite compartir tu terminal en tiempo real sin instalar nada. Simplemente ejecute uno de los dos comandos (dependiendo de su configuración), útil para sesiones de terminal en vivo en colaboraciones de equipo, entrevistas o enseñanza.

choza de arroyo
(Vista previa grande)

icdiff

icdiff es una herramienta de diferencias de archivos basada en terminal que hace un buen uso de los colores para presentar las diferencias de una manera más práctica y visual.

icdiff
(Vista previa grande)

>\_TerminalSplash

TerminalSplash , como sugiere el nombre, es como Unsplash, pero para temas de terminales. Elija entre más de 200 temas enviados por usuarios o envíe el suyo propio.

TerminalSplash
(Vista previa grande)

Terminalizador

Terminalizer es una grabadora de terminal personalizable y multiplataforma que le permite grabar sesiones de terminal y luego compartirlas como GIF animados o a través de un reproductor web.

Terminalizador
(Vista previa grande)

ascinema

Asciinema es otra opción popular para grabar y compartir en la terminal, pero no está disponible para Windows. Lo bueno de esto es que la salida grabada no es un video sino una animación de texto sin formato de la sesión del terminal, lo que significa que puede seleccionar y copiar/pegar elementos de las grabaciones.

ascinema
(Vista previa grande)

gtop

gtop es otra mejora en el comando top que proporciona un panel de monitoreo del sistema para su terminal. Requiere Node.js e incluye soporte parcial en Windows.

arriba
(Vista previa grande)

DevDash

DevDash es un tablero de terminal altamente configurable para desarrolladores y creadores. Puede personalizarlo para mostrar información de fuentes como Google Analytics, GitHub, Feedly, salida de comandos de shell y más.

DevDash
(Vista previa grande)

Menciones honoríficas:

  • ora
    Un elegante terminal spinner.
  • tiny-care-terminal
    Un pequeño tablero que trata de cuidarte cuando estás usando tu terminal.
  • theme.sh
    Un script de shell que le permite configurar el tema de su terminal que incluye más de 270 temas precargados.

Frameworks y secuencias de comandos de línea de comandos

Algunas numerosas bibliotecas y marcos le permiten crear y mantener sus propias aplicaciones y utilidades de línea de comandos. A continuación, encontrará algunos de ellos para Bash, JavaScript y más.

Comando y conquista (cac)

Command And Conquer, también llamado cac, es un marco JavaScript ligero para crear aplicaciones de línea de comandos. Por ejemplo, se ha utilizado para crear varias herramientas de andamiaje basadas en Node.js.

Dirigir y conquistar
(Vista previa grande)

zx

zx es una alternativa popular a Bash de los ingenieros de Google que le permite escribir aplicaciones de línea de comandos usando JavaScript con una API fácil de usar que le permite llamar a ejecutables y obtener su salida, manejar errores y más.

zx
(Vista previa grande)

present

present es una herramienta de presentación basada en Markdown para el terminal que incluye colores y efectos y le permite reproducir bloques de código reproducibles pregrabados como diapositivas.

regalo
(Vista previa grande)

Llevar una vida de soltero

Bach es un marco de prueba de Bash que se puede usar para probar scripts que contienen comandos peligrosos como rm -rf / y también incluye API (por ejemplo, @mock , @ignore , @mockallto , etc.) para simular comandos.

Llevar una vida de soltero
(Vista previa grande)

CLUI

CLUI es una API de JavaScript con utilidades que le permiten crear interfaces de línea de comandos con autocompletado contextual en sus aplicaciones (es decir, aplicaciones similares a terminales con las que interactúan los usuarios).

CLUI
(Vista previa grande)

ShellCheck

ShellCheck es una extensión de shell para ayudarlo a encontrar errores en sus scripts de shell.

ShellCheck
(Vista previa grande)

Menciones honoríficas

  • Basho
    Le permite escribir tareas de shell complejas usando JavaScript simple y combina bien con comandos y scripts de shell.
  • import
    Un sistema de módulos rápido y fácil de usar para Bash y otros shells de Unix.
  • Bash Infinity
    Una biblioteca modular y liviana y un marco repetitivo para herramientas de escritura usando Bash.

Herramientas de productividad para la terminal

Finalmente, esta categoría reúne una pequeña muestra de utilidades y programas de línea de comandos que ayudan con diversas tareas relacionadas con la productividad, como mantener las cosas organizadas, compartir archivos y más.

carrera carrera

Dash Dash es un sitio de documentación en línea que presenta las páginas del manual de Unix (es decir, las páginas del manual) en un formato más agradable, para ayudar a aquellos menos familiarizados con la terminal a aprender a usar la línea de comandos.

carrera carrera
(Vista previa grande)

nb

nb es una herramienta de línea de comandos con funciones que incluyen la toma de notas web locales, la creación de marcadores, el archivo y el cifrado. El almacenamiento es en texto sin formato, incluye versiones basadas en Git, enlaces estilo wiki, temas de color y mucho más.

nótese bien
(Vista previa grande)

Rclone

Rclone es un programa de línea de comandos de código abierto que le permite administrar archivos en más de 40 servicios de almacenamiento en la nube (Amazon S3, Dropbox, Google Drive, Azure, etc.). Incluye equivalentes en la nube para comandos Unix familiares y otras funciones.

Rclonar
(Vista previa grande)

navi

navi es una herramienta de hoja de trucos interactiva para su terminal. Además de otras características, puede navegar a través de repositorios de hojas de trucos, importar hojas de trucos o agregar las suyas propias.

navegación
(Vista previa grande)

Cuaderno de tareas

Taskbook es una herramienta rápida de línea de comandos que le permite organizar tareas, tableros y notas en su terminal, con funciones como búsqueda/filtro, ubicación de almacenamiento personalizada y una sintaxis simple y fácil de usar.

Cuaderno de tareas
(Vista previa grande)

Explorador de proyectos

Project Explorer es una herramienta CLI que le permite crear una visualización de árbol de cualquier proyecto. Esto sería útil cuando se incorporen nuevos miembros al equipo o cuando se herede un nuevo proyecto.

Explorador de proyectos
(Vista previa grande)

transfer.sh

transfer.sh es una aplicación rápida y fácil de usar para compartir archivos a través de la línea de comandos. Incluye soporte para servicios como Amazon S3, Google Drive, Storj y el sistema de archivos local.

transferir.sh
(Vista previa grande)

Menciones honoríficas

  • ack
    Una herramienta de búsqueda de código, similar a grep pero optimizada para programadores que buscan grandes árboles de código fuente.
  • goto
    Una utilidad de shell con soporte de autocompletar para navegar a directorios con alias.
  • bashupload
    Cargue archivos (hasta 50 GB) a través de la línea de comandos para compartirlos fácilmente entre servidores, computadoras de escritorio y dispositivos móviles.
  • copyfiles
    Una utilidad de línea de comandos que agrega funciones adicionales para copiar archivos en su terminal.

¿Cuál es tu herramienta de línea de comandos favorita?

Como se mencionó, esto no pretende ser una lista exhaustiva, sino simplemente una gran colección de aplicaciones y utilidades de línea de comandos relevantes que he encontrado personalmente en los últimos años.

Si ha creado algo usted mismo o si hay uno que usa con regularidad que mejora la experiencia de su terminal, ¡siéntase libre de dejarlo en los comentarios!