Ferramentas CLI que você não conseguirá viver sem

Ferramentas CLI que você não conseguirá viver sem :wrench:

(Alicia Sykes - DEV Community)

Alicia Sykes Subscriber

Postado em 19 de janeiro de 2023 • Editado em 21 de janeiro de 2023


Uma lista de 50 ferramentas de linha de comando que você definitivamente deveria conferir!

#bash rust tooling productivity


Como desenvolvedores, passamos muito tempo no terminal. Existem muitas ferramentas CLI úteis que podem tornar sua vida na linha de comando mais fácil, rápida e geralmente mais divertida.

Este artigo apresenta meus 50 principais ferramentas CLI imprescindíveis, nas quais passei a confiar. Se houver algo que estou perdendo - me avise nos comentários :slight_smile:

No final do artigo, incluí alguns scripts para ajudá-lo a automatizar a instalação e atualização dessas ferramentas em vários sistemas/distros.

Conteúdo

Utils### thefuck - Corrigir automaticamente comandos digitados incorretamente

thefuck é um desses utilitários que você não conseguirá viver sem depois de experimentá-lo. Sempre que você digita um comando incorretamente e recebe um erro, basta executar fuck e ele corrigirá automaticamente. Use as setas para cima/baixo para escolher uma correção, ou execute fuck --yeah para executar a mais provável imediatamente.

the-fuck-example-usage

View thefuck on GitHub Author nvbn Written in Python

{ details Instalar }

# MacOS (via Homebrew)
brew install thefuck

# Arch Linux
sudo pacman -S thefuck

# FreeBSD
pkg install thefuck

{ enddetails }


zoxide - Navegação fácil (melhor cd)

z permite que você pule para qualquer diretório sem precisar lembrar ou especificar seu caminho completo. Ele se lembra de quais diretórios você visitou, para que você possa pular rapidamente - você nem precisa digitar o nome completo da pasta. Também tem uma opção de seleção interativa, usando fzf para que você possa filtrar resultados de diretórios em tempo real

zoxide-example-usage

View zoxide on GitHub Author ajeetdsouza Written in Rust

{ details Instalar }

# MacOS (via Homebrew)
brew install zoxide

# Arch Linux
sudo pacman -S zoxide

# Debian / Ubuntu
sudo apt install zoxide

# FreeBSD
pkg install zoxide

# Outro (via Rust Crates)
cargo install zoxide --locked

{ enddetails }


tldr - Documentação mantida pela comunidade (melhor man)

tldr é uma enorme coleção de páginas de manual mantidas pela comunidade. Diferentemente das páginas de manual tradicionais, elas são resumidas, contêm exemplos de uso úteis e são bem coloridas para fácil leitura

tldr-example-usage

View tldr on GitHub Author tldr-pages

{ details Instalar }

# MacOS (via Homebrew)
brew install tldr

# Outro (via NPM)
npm install -g tldr

{ enddetails }


scc - Contar linhas de código (melhor cloc)

scc oferece um resumo do número de linhas de código escritas em cada linguagem para um diretório específico. Também mostra algumas estatísticas interessantes, como custo estimado para desenvolver e informações de complexidade. É incrivelmente rápido, muito preciso e tem suporte para uma ampla gama de linguagens

View scc on GitHub Author boyter ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)

{ details Instalar }

# MacOS (via Homebrew)
brew install scc

# Outro (via go)
go install github.com/boyter/scc/v3@latest

{ enddetails }


exa - Listando arquivos (melhor ls)

exa é uma substituição moderna baseada em Rust para o comando ls, para listar arquivos. Pode exibir ícones de tipo de arquivo, cores, informações de arquivo/pasta e tem vários formatos de saída - árvore, grade ou lista

View exa on GitHub Author ogham Written in Rust

{ details Instalar }

# MacOS (via Homebrew)
brew install exa

# Arch Linux
sudo pacman -S exa

# Debian / Ubuntu
sudo apt install exa

{ enddetails }


duf - Uso de disco (melhor df)

duf é ótimo para mostrar informações sobre discos montados e verificar espaço livre. Produz uma saída clara e colorida, e inclui opções para classificar e personalizar resultados.

View duf on GitHub Author muesli ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)

{ details Instalar }

# MacOS (via Homebrew)
brew install duf

# Arch Linux
sudo pacman -S duf

# Debian / Ubuntu
sudo apt install duf

# FreeBSD
pkg install duf

{ enddetails }


aria2 - Utilitário de download (melhor wget)

aria2 é um utilitário de download leve, multi-protocolo e retomável para HTTP/HTTPS, FTP, SFTP, BitTorrent e Metalink, com suporte para controle via interface RPC. É incrivelmente rico em recursos, e tem toneladas de opções. Também existe ziahamza/webui-aria2 - uma agradável interface web complementar.

View aria2 on GitHub Author aria2 Written in C++

{ details Instalar }

# MacOS (via Homebrew)
brew install aria2

# Arch Linux
sudo pacman -S aria2

# Debian / Ubuntu
sudo apt install aria2

{ enddetails }


bat - Lendo arquivos (melhor cat)

bat é um clone de cat com destaque de sintaxe e integração com git. Escrito em Rust, é muito performático e tem várias opções para personalizar saída e temas. Há suporte para piping automático e concatenação de arquivos

View bat on GitHub Author sharkdp Written in Rust

{ details Instalar }

# MacOS (via Homebrew)
brew install bat

# Arch Linux
sudo pacman -S bat

# Debian / Ubuntu
sudo apt install bat

{ enddetails }{ enddetails }


diff-so-fancy - Comparações de Arquivos (melhor diff)

diff-so-fancy oferece diffs com melhor aparência para comparar strings, arquivos, diretórios e alterações git. O destaque de alterações facilita muito a identificação de mudanças, e você pode personalizar o layout e as cores da saída

View diff-so-fancy on GitHub Author so-fancy Written in Perl

{ details Instalar }

# MacOS (via Homebrew)
brew install diff-so-fancy

# Arch Linux
sudo pacman -S diff-so-fancy

# Debian / Ubuntu
sudo apt install diff-so-fancy

{ enddetails }


entr - Monitorar alterações

entr permite executar um comando arbitrário sempre que um arquivo é alterado. Você pode passar um arquivo, diretório, symlink ou regex para especificar quais arquivos devem ser monitorados. É muito útil para reconstruir projetos automaticamente, reagir a logs, testes automatizados, etc. Diferentemente de projetos similares, ele usa kqueue(2) ou inotify(7) para evitar polling e melhorar o desempenho

View entr on GitHub Author eradman Written in C

{ details Instalar }

# MacOS (via Homebrew)
brew install entr

# Arch Linux
sudo pacman -S entr

# Debian / Ubuntu
sudo apt install entr

{ enddetails }


exiftool - Leitura + escrita de metadados

ExifTool é um utilitário prático para ler, escrever, remover e criar metainformações para uma grande variedade de tipos de arquivo. Nunca mais vaze acidentalmente sua localização ao compartilhar uma foto!

View exiftool on GitHub Author exiftool Written in Perl


fdupes - Localizador de arquivos duplicados

jdupes é usado para identificar e/ou deletar arquivos duplicados dentro de diretórios especificados. É útil para liberar espaço em disco quando você tem dois ou mais arquivos idênticos

View jdupes on GitHub Author jbruchon Written in C


fzf - Localizador de arquivos fuzzy (melhor find)

fzf é uma ferramenta extremamente poderosa e fácil de usar para busca fuzzy de arquivos e filtragem. Permite que você procure por uma string ou padrão em arquivos. fzf também possui plugins disponíveis para a maioria dos shells e IDEs, mostrando resultados instantâneos durante a busca. Este post de Alexey Samoshkin destaca alguns de seus casos de uso.

fzf-example-usage

View fzf on GitHub Author junegunn ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)

{ details Instalar }

# MacOS (via Homebrew)
brew install fzf

# Arch Linux
sudo pacman -S fzf

# Debian / Ubuntu
sudo apt install fzf

{ enddetails }


hyperfine - Benchmark de comandos

hyperfine facilita o benchmark preciso e a comparação de comandos ou scripts arbitrários. Cuida de execuções de aquecimento, limpeza de cache para resultados precisos e prevenção de interferência de outros programas. Também pode exportar resultados como dados brutos e gerar gráficos.

View hyperfine on GitHub Author sharkdp Written in Rust

{ details Instalar }

# MacOS (via Homebrew)
brew install hyperfine

# Arch Linux
sudo pacman -S hyperfine

# Debian / Ubuntu
sudo apt install hyperfine

{ enddetails }


just - Executor de comandos moderno (melhor make)

just é similar ao make mas com algumas adições legais. Permite agrupar os comandos do seu projeto em receitas, que podem ser facilmente listadas e executadas. Suporta aliases, argumentos posicionais, diferentes shells, integração com dot env, interpolação de strings e praticamente tudo mais que você possa precisar

View just on GitHub Author casey Written in Rust

{ details Instalar }

# MacOS (via Homebrew)
brew install just

# Arch Linux
sudo pacman -S just

# Debian / Ubuntu
sudo apt install just

{ enddetails }


jq - Processador JSON

jq é como sed, mas para JSON - você pode usá-lo para fatiar, filtrar, mapear e transformar dados estruturados com facilidade. Pode ser usado para escrever consultas complexas para extrair ou manipular dados JSON. Há também um playground jq que você pode usar para experimentar ou formular consultas com feedback em tempo real

View jq on GitHub Author stedolan Written in C


most - Paginador de rolagem multi-janela (melhor less)

most é um paginador para ler arquivos longos ou saídas de comandos. most suporta multi-janelas e tem a opção de não quebrar textoAutor Jed Escrito em S-Lang


procs - Visualizador de processos (melhor ps)

procs é um visualizador de processos fácil de navegar, possui destaque colorido, torna a classificação e busca de processos fácil, possui visualização em árvore e atualiza em tempo real

procs-example-usage

Ver procs no GitHub Autor dalance Escrito em Rust


rip - Ferramenta de exclusão (melhor rm)

rip é uma ferramenta de exclusão segura, ergonômica e performática. Permite remover arquivos e diretórios de forma intuitiva e restaurar facilmente arquivos deletados

rip-example-usage

Ver rip no GitHub Autor nivekuil Escrito em Rust


ripgrep - Busca dentro de arquivos (melhor grep)

ripgrep é uma ferramenta de busca orientada por linhas que busca recursivamente no diretório atual por um padrão regex. Pode ignorar o conteúdo de .gitignore e pular arquivos binários. É capaz de buscar dentro de arquivos compactados, ou buscar apenas extensões específicas, e compreende arquivos usando vários métodos de codificação

Ver ripgrep no GitHub Autor BurntSushi Escrito em Rust


rsync - Transferência de arquivo rápida e incremental

rsync permite copiar arquivos grandes localmente ou para/de hosts remotos ou unidades externas. Pode ser usado para manter arquivos sincronizados em múltiplos locais, e é perfeito para criar, atualizar e restaurar backups

Ver rsync no GitHub Autor WayneD Escrito em C


sd - Localizar e substituir (melhor sed)

sd é uma ferramenta de localizar e substituir fácil, rápida e intuitiva, baseada em literais de string. Pode ser executada em um arquivo, um diretório inteiro, ou qualquer texto canalizado

Ver sd no GitHub Autor chmln Escrito em Rust


tre - Hierarquia de diretórios (melhor tree)

tre exibe uma lista em estilo árvore de arquivos do seu diretório atual ou especificado, com cores. Ao executar com a opção -e, numera cada item e cria um alias temporário que você pode usar para pular rapidamente para esse local

Ver tre no GitHub Autor dduan Escrito em Rust


xsel - Acessar a área de transferência

xsel permite ler e escrever na área de transferência X Selection via linha de comando. É útil para canalizar saída de comando para a área de transferência, ou dados copiados em um comando

Ver xsel no GitHub Autor kfish Escrito em C



Aplicativos CLI de Monitoramento e Desempenho

bandwhich - Monitor de utilização de largura de banda

Mostra uso de largura de banda, informações de conexão, hosts de saída e consultas DNS em tempo real

Ver bandwhich no GitHub Autor imsnif Escrito em Rust


ctop - Métricas e monitoramento de contêineres

Como top, mas para monitorar o uso de recursos para contêineres em execução (Docker e runC). Mostra CPU, memória e largura de banda de rede em tempo real, bem como o nome, status e ID de cada contêiner. Há também um visualizador de log integrado e opções para gerenciar (parar, iniciar, executar, etc) contêineres

ctop-example-usage

Ver ctop no GitHub Autor bcicen ![Escrito em Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


bpytop - Monitoramento de recursos (melhor htop)

bpytop é um monitor de recursos rápido, interativo e visual. Mostra os principais processos em execução, histórico recente de CPU, memória, disco e rede. A partir da interface você pode navegar, classificar e buscar - há também suporte para temas de cores personalizados

bpytop-example-usage

Ver bpytop no GitHub Autor aristocratos Escrito em Python

—### glances - Monitor de recursos + web e API

glances é outro monitor de recursos, mas com um conjunto de recursos diferente. Inclui uma visualização web totalmente responsiva, uma API REST e monitoramento histórico. É facilmente extensível e pode ser integrado com outros serviços

glances-example-usage

View glances on GitHub Author nicolargo Written in Python


gping - Ferramenta de ping interativa (melhor ping)

gping pode executar testes de ping em múltiplos hosts, enquanto mostra os resultados em um gráfico em tempo real. Também pode ser usado para monitorar o tempo de execução, quando usado com a flag --cmd

gping-example-usage

View gping on GitHub Author orf Written in Rust


dua-cli - Analisador e monitor de uso de disco (melhor du)

dua-cli permite que você visualize interativamente o espaço em disco usado e disponível para cada unidade montada, e facilita a liberação de armazenamento

dua-cli-usage-example

View dua-cli on GitHub Author Byron Written in Rust


speedtest-cli - Utilitário de teste de velocidade de linha de comando

speedtest-cli apenas executa um teste de velocidade de internet, via speedtest.net - mas direto do terminal :slight_smile:

speedtest-cli-example-usage

View speedtest-cli on GitHub Author sivel Written in Python


dog - Cliente de busca DNS (melhor dig)

dog é um cliente de busca DNS fácil de usar, com suporte para DoT e DoH, saídas coloridas e a opção de emitir JSON

View dog on GitHub Author ogham Written in Rust



Aplicativos de Produtividade CLI

Navegue na web, ouça música, verifique e-mails, gerencie calendários, leia notícias e muito mais, tudo sem sair do terminal!

browsh - Navegador web CLI

browsh é um navegador totalmente interativo, em tempo real e moderno baseado em texto renderizado para TTYs e navegadores. Suporta navegação com mouse e teclado, e é surpreendentemente rico em recursos para uma aplicação puramente baseada em terminal. Também mitiga problemas de drenagem de bateria que afligem navegadores modernos, e com suporte para MoSH, você pode experimentar tempos de carregamento mais rápidos devido à redução de largura de banda

browsh-example-usage

View browsh on GitHub Author browsh-org Written in JavaScript


buku - Gerenciador de marcadores

buku é um gerenciador de marcadores baseado em terminal, com toneladas de opções de configuração, armazenamento e uso. Também há uma interface web opcional e plugin de navegador, para acessar seus marcadores fora do terminal

View buku on GitHub Author jarun Written in Python


cmus - Navegador / reprodutor de música

cmus é um reprodutor de música de terminal, controlado com atalhos de teclado. Tem suporte para uma ampla gama de formatos de áudio e codecs, e permite organizar faixas em playlists e aplicar configurações de reprodução

View cmus on GitHub Author cmus Written in C


cointop - Rastrear preços de criptomoedas

cointop mostra os preços atuais de criptomoedas e rastreia o histórico de preços do seu portfólio. Suporta alertas de preço, gráficos históricos, conversão de moeda, busca difusa e muito mais. Você pode experimentar a demonstração via web em cointop.sh, ou executando ssh cointop.sh

View cointop on GitHub Author cointop-sh ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


ddgr - Pesquise a web do terminal

ddgr é como googler, mas para DuckDuckGo. É rápido, limpo e fácil, com suporte para respostas instantâneas, preenchimento de pesquisa, bangs de pesquisa e pesquisa avançada. Respeita sua privacidade por padrão, e também tem suporte a proxy HTTPS e funciona com Tor

View ddgr on GitHub Author jarun Written in Python

—### micro - Editor de código (melhor que nano)

micro é um editor de código fácil de usar, rápido e extensível com suporte a mouse. Como é empacotado em um único binário, a instalação é tão simples quanto curl https://getmic.ro | bash

View micro on GitHub Author zyedidia ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


khal - Cliente de calendário

khal é um aplicativo de calendário para terminal que mostra eventos próximos, visualizações de mês e agenda. Você pode sincronizá-lo com qualquer calendário CalDAV e adicionar, editar e remover eventos diretamente

View khal on GitHub Author pimutils Written in Python


mutt - Cliente de email

mutt é um clássico, um cliente de email baseado em terminal para enviar, ler e gerenciar emails. Suporta todos os protocolos de email e formatos de caixa de correio convencionais, permite anexos, BCC/CC, threads, listas de discussão e notificações de status de entrega

View mutt on GitHub Author muttmua Written in C


newsboat - Leitor de notícias RSS / ATOM

newsboat é um leitor e agregador de feeds RSS para ler notícias, blogs e acompanhar atualizações diretamente do terminal

View newsboat on GitHub Author newsboat Written in C++


rclone - Gerenciar armazenamento em nuvem

rclone é um utilitário prático para sincronizar arquivos e pastas com vários provedores de armazenamento em nuvem. Pode ser invocado diretamente da linha de comando ou facilmente integrado em um script como substituto para aplicativos de sincronização pesados de desktop

View rclone on GitHub Author rclone ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


taskwarrior - Gerenciamento de tarefas e lista de afazeres

task é um aplicativo CLI de gerenciamento de tarefas/afazeres. É simples e discreto, mas também incrivelmente poderoso e escalável, com recursos avançados de organização e consulta integrados. Há também muitos (700+!) plugins extras para estender sua funcionalidade e integrar com serviços de terceiros

View taskwarrior on GitHub Author GothenburgBitFactory Written in C++


tuir - Interface de terminal para Reddit

tuir é ótimo se você quer parecer que está trabalhando enquanto na verdade está navegando no Reddit! Tem atalhos intuitivos, temas personalizados e pode renderizar imagens e conteúdo multimídia também. Há também haxor para Hacker News

View tuir on GitLab Author ajak Written in Python



Suites CLI de Desenvolvimento

httpie - Cliente de teste HTTP / API

httpie é um cliente HTTP para testar, depurar e usar APIs. Suporta tudo o que você esperaria - HTTPS, proxies, autenticação, cabeçalhos personalizados, sessões persistentes, análise JSON. O uso é simples com uma sintaxe expressiva e saída colorida. Como outros clientes HTTP (Postman, Hopscotch, Insomnia, etc), HTTPie também inclui uma interface web

View httpie on GitHub Author httpie Written in Python


lazydocker - Aplicativo completo de gerenciamento Docker

lazydocker é um aplicativo de gerenciamento Docker que permite visualizar todos os contêineres e imagens, gerenciar seu estado, ler logs, verificar uso de recursos, reiniciar/reconstruir, analisar camadas, limpar contêineres, imagens e volumes não utilizados e muito mais. Poupa você de precisar lembrar, digitar e encadear múltiplos comandos Docker.

View lazydocker on GitHub Author jesseduffield ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


lazygit - Aplicativo completo de gerenciamento Git

lazygit é um cliente git visual na linha de comando. Adicione, confirme e envie arquivos facilmente, resolva conflitos, compare diffs, gerencie logs e faça operações complexas como squashes e rewinds. Há atalhos para tudo, cores e é facilmente configurável e extensível

View lazygit on GitHub Author jesseduffield ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


kdash - Aplicativo de painel do Kubernetes

kdash é uma ferramenta de gerenciamento Kubernetes tudo em um. Visualize métricas de nós, monitore recursos, transmita logs de contêiner, analise contextos e gerencie nós, pods e namespaces

View kdash on GitHub Author kdash-rs Written in Rust


gdp-dashboard - Depurador GDP visual

gdp-dashboard adiciona um elemento visual ao GNU Debugger, para depuração de programas em C e C++. Analise facilmente a memória, percorra pontos de interrupção e visualize registros

View gdb-dashboard on GitHub Author cyrus-and Written in Python



Serviços Externos da CLI

ngrok - Proxy reverso para compartilhar localhost

ngrok expõe com segurança* seu localhost na internet atrás de uma URL única. Isso permite que você compartilhe o que está desenvolvendo com seus colegas remotos em tempo real. O uso é muito simples, mas também possui muitos recursos avançados para coisas como autenticação, webhooks, firewalls, inspeção de tráfego, domínios personalizados/curinga e muito mais

View ngrok on GitHub Author inconshreveable ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


tmate - Compartilhe uma sessão de terminal pela internet

tmate permite que você compartilhe instantaneamente uma sessão de terminal ao vivo com alguém em outro lugar do mundo. Funciona em diferentes sistemas, suporta controle de acesso/autenticação, pode ser auto-hospedado e possui todos os recursos do Tmux

View tmate on GitHub Author tmate-io Written in C


asciinema - Gravação e compartilhamento de sessões de terminal

asciinema é muito útil para gravar, compartilhar e incorporar facilmente uma sessão de terminal. Ótimo para mostrar algo que você construiu ou para demonstrar os passos de linha de comando para um tutorial. Diferentemente de vídeos de gravação de tela, o usuário pode copiar e colar o conteúdo, alterar o tema dinamicamente e controlar a reprodução

https://asciinema.org/a/335480?speed=3

View asciinema on GitHub Author asciinema Written in Python


navi - Folha de dicas interativa

navi permite que você navegue por folhas de dicas e execute comandos. Os valores sugeridos para argumentos são exibidos dinamicamente em uma lista. Digite menos, reduza erros e evite ter que memorizar milhares de comandos. Ele se integra com tldr e cheat.sh para obter conteúdo, mas você também pode importar outras folhas de dicas ou até escrever as suas próprias

https://asciinema.org/a/406461?speed=2

View navi on GitHub Author denisidoro Written in Rust


transfer.sh - Compartilhamento rápido de arquivos

transfer torna o upload e compartilhamento de arquivos muito fácil, diretamente da linha de comando. É gratuito, suporta criptografia, oferece uma URL única e também pode ser auto-hospedado.
Escrevi uma função auxiliar Bash para facilitar o uso, você pode encontrá-la aqui ou testá-la executando bash <(curl -L -s https://alicia.url.lol/transfer)

View transfer.sh on GitHub Author dutchcoders ![Written in Go](Go Lang&color=00ADD8&logo=go&logoColor=FFFFFF)


surge - Implante um site em segundos

surge é um provedor de hospedagem estática gratuito, para o qual você pode implantar diretamente do terminal em um único comando, basta executar surge dentro do seu diretório dist! Suporta domínios personalizados, certificados SSL automáticos, suporte a pushState, suporte a recursos entre origens - e é gratuito!


wttr.in - Verifique o tempo

wttr.in é um serviço que exibe o tempo em um formato que é compreensível na linha de comando. Basta executar curl wttr.in ou curl wttr.in/London para testá-lo. Existem parâmetros de URL para personalizar quais dados são retornados, bem como o formato

View wttr.in on GitHub Author chubin Written in Python



CLI Diversão

cowsay - Faça uma vaca ASCII dizer sua mensagem

cowsay é uma vaca falante configurável. É baseada no original de Tony Monroe

Ver cowsay no GitHub Autor piuccio Escrito em JavaScript


figlet - Exibir texto como arte ASCII grande

figlet exibe texto como arte ASCII

Ver figlet no GitHub Autor cmatsuoka Escrito em C


lolcat - Tornar a saída do console colorida em arco-íris

lolcat torna qualquer texto passado para ele colorido em arco-íris

Ver lolcat no GitHub Autor busyloop Escrito em Ruby


neofetch - Exibir dados do sistema e informações de distro

neofetch imprime informações de distro e sistema (para que você possa se gabar de usar Arch btw em r/unixporn)

Ver neofetch no GitHub Autor dylanaraps Escrito em Bash

Como exemplo, estou usando cowsay, figlet, lolcat e neofetch para criar um MOTD personalizado baseado em tempo mostrado ao usuário quando ele faz login pela primeira vez. Ele os cumprimenta pelo nome, mostra informações do servidor e hora, data, clima e IP. Aqui está o código-fonte.



Instalações e Gerenciamento

A maioria de nós tem um conjunto principal de aplicativos e utilitários CLI nos quais confiamos. Configurar uma nova máquina e instalar individualmente cada programa se tornaria cansativo muito rapidamente. Portanto, a tarefa de instalar e atualizar seus aplicativos de terminal é um candidato perfeito para automação. Aqui estão alguns scripts de exemplo que escrevi, que podem ser facilmente colocados em seus dotfiles ou executados independentemente para garantir que você nunca fique sem um aplicativo.

Para usuários de MacOS, o método mais fácil é usar Homebrew. Basta criar um Brewfile (com touch ~/.Brewfile), depois listar cada um de seus aplicativos e executar brew bundle. Você pode manter sua lista de pacotes com backup colocando-a em um repositório Git. Aqui está um exemplo para começar: GitHub - Lissy93/Brewfile: 🍺 My list of packages to be installed on MacOS via Homebrew, for the ultimate dev setup

No Linux, você geralmente deseja usar o gerenciador de pacotes nativo (por exemplo, pacman, apt). Como exemplo, aqui está um script para instalar os aplicativos acima em sistemas Arch Linux

Aplicativos de desktop no Linux podem ser gerenciados de forma semelhante, via Flatpak. Novamente, aqui está um script de exemplo :slight_smile:


Conclusão

… Então é isso - uma lista de aplicativos CLI úteis e um método para instalá-los e mantê-los atualizados em seus sistemas.

Espero que alguns destes sejam úteis para alguns de vocês :slight_smile:

Adoraria saber quais são seus aplicativos CLI favoritos, me avise nos comentários abaixo!

Informações Adicionais

O que não foi incluído

  • Esta lista não inclui o básico, como Vim, Tmux, Ranger, ZSH, Git, etc - que você provavelmente já está usando
  • Também não incluí nada muito nicho ou específico para um pequeno número de usuários
  • Nada específico do sistema ou que não seja multiplataforma (Linux/Unix, MacOS) está incluído
  • E não incluí aplicativos que se relacionam com o terminal, mas não são aplicativos CLI (como emuladores de terminal)
  • Para a maioria dos projetos listados, há uma infinidade de alternativas que realizam coisas semelhantes, por brevidade essas também não foram incluídas

Crédito

Parabéns aos autores e comunidades por trás de cada um desses aplicativos. Sem eles e seu trabalho árduo, nossa vida na linha de comando seria muito menos incrível. Sempre que possível, tentei creditar os autores, mas se perdi algum - me avise abaixo e farei uma atualização

Feedback

O que perdi? Adoraria saber seus aplicativos CLI favoritos, especialmente se há algo incrível que perdi!

Também gostaria de ouvir seus pensamentos e sugestões - estou sempre procurando melhorar :slight_smile:

Badges

Aqui está o script que fiz para gerar os badges de autor, linguagem e estrelas do GitHub:

{ details Gerador de Badges de Repositório }

{ enddetails }

Ver repo-badge-maker no GitHub Autor Lissy93

Encontre Mais

Se você estava gostando disso, recomendo também verificar:

Se você é novo na linha de comando, então The Art of Command Line por Joshua Levy é um excelente recurso, assim como o Bash Guide por Adnan Ahmed.

E se você está procurando inspiração, você vai amar r/unixporn :high_voltage:


Se você gosta desse tipo de coisa,
considere seguir para mais :slight_smile:
Siga Lissy93 no GitHubSiga Lissy_Sykes no Twitter