Ferramentas poderosas de terminal e linha de comando (CLI) para desenvolvimento web moderno
Publicados: 2022-03-10Muitos programadores modernos, incluindo desenvolvedores front-end e full-stack, trabalham diariamente com a linha de comando. Mesmo aqueles que são relativamente novos no desenvolvimento da Web estão adquirindo habilidades de linha de comando cedo e encontrando ferramentas e utilitários práticos para aumentar sua produtividade no terminal.
Esta postagem apresenta uma lista categorizada de muitos aplicativos de linha de comando que descobri pessoalmente nos últimos anos. Alguns deles são relativamente novos, outros já existem há algum tempo. Portanto, espero que algo neste resumo o interesse e o ajude a fazer as coisas ao trabalhar no terminal.
Você pode pular para uma categoria usando a navegação abaixo:
- Aplicativos de terminal
- Utilitários e aprimoramentos do terminal
- Scripts e estruturas de linha de comando
- Ferramentas de Produtividade para o Terminal
Aplicativos de terminal
Esta seção apresenta terminais, multiplexadores, emuladores de console, terminais móveis e áreas de trabalho de linha de comando que você pode usar para substituir o aplicativo de terminal padrão em seu sistema.
tmux
tmux
é um multiplexador de terminal popular para sistemas operacionais do tipo Unix que permite alternar facilmente entre vários programas em um único terminal, com a capacidade de "desanexar" uma sessão (enquanto ainda está em execução em segundo plano) ou "reanexá-la" a um terminal.
iTerm2
iTerm2
, o sucessor do iTerm, é um substituto para o seu Terminal no macOS que inclui recursos como painéis divididos, pesquisa robusta, preenchimento automático, repetição instantânea, além de várias opções de configuração.
Mosh
Mosh é um aplicativo de terminal remoto (ou shell móvel) para uso interativo de SSH que inclui vários recursos úteis para quem precisa realizar tarefas baseadas em terminal em WiFi fraco, redes celulares ou outras conexões menos confiáveis.
Zellij
Zellij é um espaço de trabalho de terminal que tem a funcionalidade básica de um multiplexador de terminal (semelhante ao tmux), mas inclui recursos que permitem aos usuários estendê-lo e criar um ambiente personalizado por meio de painéis/guias e plugins.
Hiper
O Hyper é um aplicativo de terminal baseado em Electron para Mac, Windows ou Linux desenvolvido com tecnologias da Web (HTML/CSS/JS). Inclui dezenas de temas e plugins e é baseado em velocidade e estabilidade.
cmder
cmder
é um emulador de console portátil para Windows que foi construído devido à falta de uma boa opção nessa área para usuários do Windows.
como o inferno
a-Shell é um aplicativo iOS que oferece um 'terminal no seu bolso' com controle de arquivos/diretórios, compatibilidade com atalhos da Apple, várias janelas e muito mais.
Terminal Eterno
Eternal Terminal é outro aplicativo de terminal remoto inspirado em outros projetos populares semelhantes.
Dez Mãos
Ten Hands é um aplicativo de terminal para Mac, Linux e Windows que é anunciado como a maneira mais simples de organizar e executar tarefas de linha de comando, útil para quem executa tarefas diárias semelhantes em vários projetos.
eDEX-UI
eDEX-UI é um emulador de terminal multiplataforma em tela cheia e monitor de sistema fortemente inspirado em UIs de filmes de ficção científica, em particular, o filme Tron: Legacy.
Malhado
Tabby, anteriormente “Terminus”, é um aplicativo de terminal multiplataforma personalizável para shells locais, conexões SSH, serial e Telnet que inclui suporte para recursos como painéis divididos, guias inteligentes, teclas de atalho personalizáveis e muito mais.
Casca de peixe
Fish Shell é outra opção para um shell de linha de comando para Linux, macOS e Windows que inclui sugestão automática, preenchimento de guias, cores de 24 bits, configuração baseada na web, realce de sintaxe, entre outros recursos práticos.
Utilitários e aprimoramentos do terminal
Depois de obter seu espaço de trabalho principal, você desejará aprimorá-lo com várias ferramentas, utilitários, temas e assim por diante. Esta seção inclui algumas ferramentas úteis para tornar sua experiência de terminal mais agradável.
Oh meu Zsh
Oh My Zsh é uma estrutura de código aberto orientada pela comunidade para gerenciar sua configuração para o Z Shell (ou Zsh, um shell Unix popular). Ele vem com milhares de funções úteis, auxiliares, mais de 300 plugins, mais de 140 temas e muito mais. Funciona melhor no macOS ou Linux, mas também pode ser usado no Windows usando algo como Cygwin ou WSL2.
FIG
O Fig adiciona o preenchimento automático no estilo VSCode ao seu terminal existente e inclui suporte para ferramentas CLI existentes, como Git, npm, Kubernetes, Docker, AWS, Google Cloud e muito mais.
fzf
fzf
é um localizador rápido, portátil e difuso para a linha de comando que permite executar consultas de pesquisa difusa com um conjunto abrangente de recursos.
Histórico do casco
Shell History (não gratuito) é um aplicativo macOS que se integra ao Bash, Zsh ou Fish e permite que você faça backup e sincronize facilmente via iCloud e organize seu histórico de shell em “cadernos”.
htop
htop
é um visualizador de processos interativo, originalmente apenas para Linux, mas agora multiplataforma, que visa melhorar o comando top
do Linux, fornecendo recursos extras ao visualizar processos em execução.
CLI do GitHub
A CLI do GitHub, caso você tenha perdido, é a interface de linha de comando multiplataforma oficial do GitHub, trazendo solicitações de pull, problemas e outras tarefas relacionadas ao GitHub para o seu terminal.
Streamhut
Streamhut permite compartilhar seu terminal em tempo real sem instalar nada. Basta executar um dos dois comandos (dependendo da sua configuração), útil para sessões de terminal ao vivo em colaborações de equipe, entrevistas ou ensino.
icdiff
icdiff
é uma ferramenta de comparação de arquivos baseada em terminal que faz bom uso de cores para apresentar diferenças de uma maneira mais prática e visual.
>\_TerminalSplash
TerminalSplash
, como o nome sugere, é como Unsplash, mas para temas de terminal. Escolha entre mais de 200 temas enviados por usuários ou envie o seu próprio.
Terminalizador
O Terminalizer é um gravador de terminal personalizável e multiplataforma que permite gravar sessões de terminal e compartilhá-las como GIFs animados ou por meio de um player da web.
Asciinema
Asciinema é outra opção popular para gravação e compartilhamento de terminal, mas não está disponível para Windows. O legal disso é que a saída gravada não é um vídeo, mas uma animação de texto simples da sessão do terminal, o que significa que você pode selecionar e copiar/colar itens das gravações.
gtop
gtop
é outro aprimoramento do comando top
que fornece um painel de monitoramento do sistema para o seu terminal. Requer Node.js e inclui suporte parcial no Windows.
DevDash
DevDash
é um painel de terminal altamente configurável para desenvolvedores e criadores. Você pode personalizá-lo para exibir informações de fontes como Google Analytics, GitHub, Feedly, saída do comando shell e muito mais.
Menções honrosas:
-
ora
Um spinner terminal elegante. -
tiny-care-terminal
Um pequeno painel que tenta cuidar de você quando você está usando seu terminal. -
theme.sh
Um script de shell que permite definir seu tema de terminal que inclui mais de 270 temas pré-carregados.
Scripts e estruturas de linha de comando
Algumas inúmeras bibliotecas e estruturas permitem que você crie e mantenha seus próprios aplicativos e utilitários de linha de comando. Abaixo, você encontrará alguns deles para Bash, JavaScript e muito mais.
Comande e Conquiste (cac)
Command And Conquer, também chamado de cac, é uma estrutura JavaScript leve para criar aplicativos de linha de comando. Por exemplo, ele foi usado para criar várias ferramentas de scaffolding baseadas em Node.js.
zx
zx
é uma alternativa popular ao Bash dos engenheiros do Google que permite escrever aplicativos de linha de comando usando JavaScript com uma API fácil de usar que permite chamar executáveis e obter sua saída, lidar com erros e muito mais.
present
present
é uma ferramenta de apresentação baseada em Markdown para o terminal que inclui cores e efeitos e permite reproduzir blocos de código reproduzíveis pré-gravados como slides.
Bach
Bach é uma estrutura de teste Bash que pode ser usada para testar scripts que contêm comandos perigosos como rm -rf /
e também inclui APIs (por exemplo, @mock
, @ignore
, @mockallto
, etc.)
CLUI
CLUI
é uma API JavaScript com utilitários para permitir que você crie interfaces de linha de comando com autocompletar sensível ao contexto em seus aplicativos (ou seja, aplicativos semelhantes a terminais com os quais os usuários interagem).
ShellCheck
ShellCheck
é uma extensão de shell para ajudá-lo a encontrar bugs em seus scripts de shell.
Menções Honrosas
-
Basho
Permite escrever tarefas de shell complexas usando JavaScript simples e combina bem com comandos e scripts de shell. -
import
Um sistema de módulos rápido e fácil de usar para Bash e outros shells Unix. -
Bash Infinity
Uma biblioteca modular e leve e uma estrutura padrão para escrever ferramentas usando o Bash.
Ferramentas de produtividade para o terminal
Por fim, esta categoria reúne uma pequena amostra de utilitários e programas de linha de comando que ajudam em várias tarefas relacionadas à produtividade, como manter as coisas organizadas, compartilhar arquivos e muito mais.
Traço Traço
Dash Dash é um site de documentação online que apresenta as páginas de manual do Unix (ou seja, páginas de manual) em um formato mais palatável, para ajudar aqueles menos familiarizados com o terminal a aprender a usar a linha de comando.
nb
nb
é uma ferramenta de linha de comando com recursos que incluem anotações na Web local, marcação, arquivamento e criptografia. O armazenamento é em texto simples, inclui versionamento baseado em Git, links no estilo wiki, temas de cores e muito mais.
Rclone
Rclone
é um programa de linha de comando de código aberto que permite gerenciar arquivos em mais de 40 serviços de armazenamento em nuvem (Amazon S3, Dropbox, Google Drive, Azure, etc.). Inclui equivalentes de nuvem para comandos Unix familiares e outros recursos.
navi
navi
é uma ferramenta interativa de cheatsheet para o seu terminal. Além de outros recursos, você pode navegar pelos repositórios de cheatsheets, importar cheatsheets ou adicionar o seu próprio.
Livro de tarefas
O Taskbook é uma ferramenta de linha de comando rápida que permite organizar tarefas, quadros e notas em seu terminal, com recursos como pesquisa/filtro, local de armazenamento personalizado e uma sintaxe simples e amigável.
Explorador de Projetos
Project Explorer é uma ferramenta CLI que permite construir uma visualização em árvore de qualquer projeto. Isso seria útil ao trazer novos membros da equipe ou ao herdar um novo projeto.
transfer.sh
transfer.sh
é um aplicativo rápido e fácil de usar para compartilhar arquivos através da linha de comando. Inclui suporte para serviços como Amazon S3, Google Drive, Storj e sistema de arquivos local.
Menções Honrosas
-
ack
Uma ferramenta de pesquisa de código, semelhante ao grep, mas otimizada para programadores que pesquisam grandes árvores de código-fonte. -
goto
Um utilitário de shell com suporte de preenchimento automático para navegar para diretórios com alias. -
bashupload
Carregue arquivos (até 50 GB) por meio da linha de comando para compartilhar facilmente entre servidores, desktops e dispositivos móveis. -
copyfiles
Um utilitário de linha de comando que adiciona recursos extras para copiar arquivos em seu terminal.
Qual é a sua ferramenta de linha de comando favorita?
Como mencionado, isso não era para ser uma lista exaustiva, mas apenas uma grande coleção de aplicativos e utilitários de linha de comando relevantes que eu encontrei pessoalmente nos últimos anos.
Se você construiu algo sozinho ou se há um que você usa regularmente que sobrecarrega sua experiência no terminal, sinta-se à vontade para deixá-lo nos comentários!