Potentes herramientas de terminal y línea de comandos (CLI) para el desarrollo web moderno
Publicado: 2022-03-10Muchos 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.
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.
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.
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.
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.
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.
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.
terminal eterna
Eternal Terminal es otra aplicación de terminal remota inspirada en otros proyectos populares similares.
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.
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.
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.
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.
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.
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.
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.
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".
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.
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.
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.
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.
>\_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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
ShellCheck
ShellCheck
es una extensión de shell para ayudarlo a encontrar errores en sus scripts de shell.
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.
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.
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.
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.
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.
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.
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.
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!