Cheat.sh mostra folhas de dicas na linha de comando ou em seu editor de código

15 de julho de 2019

cheat.sh Python example

cheat.sh fornece acesso a folhas de referência orientadas pela comunidade e snippets para comandos Linux/UNIX e muitas linguagens de programação, usando várias interfaces.

Ele pode ser usado em um navegador da web, na linha de comando (usando curl ou seu cliente de linha de comando dedicado para Linux ou Windows) e como um plugin para Vim, Emacs, Visual Studio Code, Sublime Text e IntelliJ Idea, para que você possa pesquisar e inserir um snippet de código sem sair do editor de código/da linha de comando.

Para suas folhas de dicas, a ferramenta faz uso de fontes orientadas pela comunidade como páginas TLDR, LearnXinYminutes, StackOverflow e outros, bem como seu próprio repositório.

Embora também tenha seu próprio repositório de folhas de dicas, o projeto está concentrado na criação de um mecanismo unificado para acessar repositórios de folhas de dicas bem desenvolvidos e mantidos.

A ferramenta foi desenvolvida por Igor Chubin, também conhecido por seu serviço previsão do tempo orientado para console wttr.in, que pode ser usado para saber do tempo no console usando apenas cURL ou Wget.

É importante notar que cheat.sh não é novo. Na verdade, ele teve seu commit inicial por volta de maio de 2017, e é um repositório muito popular no GitHub. Mas eu pessoalmente só descobri isso recentemente, e eu achei muito útil, então eu percebi que deve haver alguns leitores do LinuxAvante que não conhecem essa joia legal.

recursos do cheat.sh e mais

cheat.sh tar example

Principais recursos do cheat.sh:

  • Suporta 58 linguagens de programação, vários DBMSes e mais de 1000 comandos UNIX/Linux mais importantes
  • Muito rápido, retorna respostas em 100ms
  • Curl/interface do navegador simples
  • Um cliente de linha de comando opcional (cht.sh) está disponível, o que permite que você pesquise rapidamente folhas de dicas e copie trechos facilmente sem sair do terminal
  • Pode ser usado a partir de editores de código, permitindo inserir trechos de código sem ter que abrir um navegador da web, pesquisar o código, copiá-lo, retornar ao editor de código e colá-lo. Suporta Vim, Emacs, Visual Studio Code, Sublime Text e IntelliJ Idea
  • Vem com um modo furtivo especial no qual qualquer texto selecionado (adicionando-o ao buffer de seleção do X Window System ou à área de transferência) é usado como uma consulta de pesquisa por cht.sh, para que você possa obter respostas sem tocar em nenhum outras chaves

O cliente de linha de comando apresenta um modo shell especial com um contexto de consultas persistentes e suporte para linha de leitura. Ele também tem um histórico de consultas, ele se integra à área de transferência, suporta o preenchimento de guias para shells como Bash, Fish e Zsh, e inclui o modo furtivo que mencionei nos recursos de cheat.sh.

As interfaces web, curl e cht.sh (linha de comando) usam https://cheat.sh/, mas se preferir, você pode auto-hospedá-lo.

Deve-se observar que cada plugin do editor suporta um conjunto de recursos diferente (servidor configurável, respostas múltiplas, comentários de alternância e assim por diante). Você pode ver uma comparação de recursos de cada plug-in do editor cheat.sh na seção Integração dos editores da página do GitHub do projeto.

Quer contribuir com uma folha de dicas? Consulte o guia cheat.sh em editar ou adicionar uma nova folha de dicas.

Interessado em adicionar comandos aos favoritos? Você pode querer tentar o Marque comandos de terminal e recupere-os facilmente usando o Marker.

cheat.sh curl/exemplos de uso de cliente de linha de comando

Exemplos de uso de cheat.sh usando a interface curl (isso requer a instalação do curl conforme o esperado) a partir da linha de comando:

Mostre a folha de dicas do comando tar:

Comandos para usar no terminal

curl cheat.sh/tar

Exemplo com saída:

$ curl cheat.sh/tar
# To extract an uncompressed archive:
tar -xvf /path/to/foo.tar

# To create an uncompressed archive:
tar -cvf /path/to/foo.tar /path/to/foo/

# To extract a .gz archive:
tar -xzvf /path/to/foo.tgz

# To create a .gz archive:
tar -czvf /path/to/foo.tgz /path/to/foo/

# To list the content of an .gz archive:
tar -ztvf /path/to/foo.tgz

# To extract a .bz2 archive:
tar -xjvf /path/to/foo.tgz

# To create a .bz2 archive:
tar -cjvf /path/to/foo.tgz /path/to/foo/

# To extract a .tar in specified Directory:
tar -xvf /path/to/foo.tar -C /path/to/destination/

# To list the content of an .bz2 archive:
tar -jtvf /path/to/foo.tgz

# To create a .gz archive and exclude all jpg,gif,... from the tgz
tar czvf /path/to/foo.tgz --exclude=\*.{jpg,gif,png,wmv,flv,tar.gz,zip} /path/to/foo/

# To use parallel (multi-threaded) implementation of compression algorithms:
tar -z ... -> tar -Ipigz ...
tar -j ... -> tar -Ipbzip2 ...
tar -J ... -> tar -Ipixz ...

cht.sh também funciona em vez de cheat.sh:

Comandos para usar no terminal

curl cht.sh/tar

Quer pesquisar um keyword em todas as folhas de dicas? Use:

Comandos para usar no terminal

curl cheat.sh/~keyword

Liste a folha de referências da linguagem de programação Python para random list:

Comandos para usar no terminal

curl cht.sh/python/random+list

Exemplo com saída:

$ curl cht.sh/python/random+list
#  python - How to randomly select an item from a list?
#  
#  Use random.choice
#  (https://docs.python.org/2/library/random.htmlrandom.choice):

import random

foo = [\'a\', \'b\', \'c\', \'d\', \'e\']
print(random.choice(foo))

#  For cryptographically secure random choices (e.g. for generating a
#  passphrase from a wordlist), use random.SystemRandom
#  (https://docs.python.org/2/library/random.htmlrandom.SystemRandom)
#  class:

import random

foo = [\'battery\', \'correct\', \'horse\', \'staple\']
secure_random = random.SystemRandom()
print(secure_random.choice(foo))

#  [Pēteris Caune] [so/q/306400] [cc by-sa 3.0]

Substitua python por alguma outra linguagem de programação suportada por cheat.sh e random+list pela folha de dicas que você deseja mostrar.

Quer eliminar os comentários de sua resposta? Adicione ?Q ao final da consulta (abaixo está um exemplo usando a mesma lista/python/random +):

$ curl cht.sh/python/random+list?Q
import random

foo = [\'a\', \'b\', \'c\', \'d\', \'e\']
print(random.choice(foo))

import random

foo = [\'battery\', \'correct\', \'horse\', \'staple\']
secure_random = random.SystemRandom()
print(secure_random.choice(foo))

Para obter mais flexibilidade e preenchimento de tabulação, você pode usar cht.sh, o cliente cheat.sh da linha de comando; você encontrará instruções sobre como instalá-lo mais adiante neste artigo. Exemplos de uso do cliente de linha de comando cht.sh:

Mostre a folha de dicas do comando tar:

Comandos para usar no terminal

cht.sh tar

Liste a folha de referências da linguagem de programação Python para random list:

Comandos para usar no terminal

cht.sh python random list

Não há necessidade de usar aspas com várias palavras-chave.

Você pode iniciar o cliente cht.sh em um modo de shell especial usando:

Comandos para usar no terminal

cht.sh --shell

E então você pode começar a digitar suas consultas. Exemplo:

Comandos para usar no terminal

$ cht.sh --shell

cht.sh> bash loop

Se todas as suas consultas forem sobre a mesma linguagem de programação, você pode iniciar o cliente no modo shell especial, diretamente nesse contexto. Como exemplo, comece com o contexto Bash usando:

Comandos para usar no terminal

cht.sh --shell bash

Exemplo com saída:

$ cht.sh --shell bash
cht.sh/bash> loop
...........
cht.sh/bash> switch case

Quer copiar a resposta listada anteriormente para a área de transferência? Digite c e, em seguida, pressione Enter para copiar a resposta inteira ou digite C e pressione Enter para copiá-la sem comentários.

Digite help no modo shell interativo cht.sh para ver todos os comandos disponíveis. Consulte também a seção de uso na página do projeto cheat.sh GitHub para obter mais opções e uso avançado.

Como instalar o cliente de linha de comando cht.sh

Você pode usar cheat.sh em um navegador da web, a partir da linha de comando com a ajuda de curl e sem ter que instalar mais nada, como explicado acima, como um plugin de editor de código, ou usando seu cliente de linha de comando que tem alguns recursos extras, que já mencionei. As etapas a seguir são para instalar este cliente de linha de comando cht.sh.

Se você preferir instalar um plug-in de editor de código para cheat.sh, consulte a página Integração de editores.

1. Instale dependências

Para instalar o cliente de linha de comando cht.sh, a ferramenta de linha de comando curl será usada, portanto, ela precisa ser instalada em seu sistema. Outra dependência é rlwrap, que é exigida pelo modo shell especial cht.sh. Instale essas dependências da seguinte maneira.

Debian, Ubuntu, Linux Mint, Pop!_OS e qualquer outra distribuição Linux baseada em Debian ou Ubuntu

Comandos para usar no terminal

sudo apt install curl rlwrap

Fedora

Comandos para usar no terminal

sudo dnf install curl rlwrap

Arch Linux, Manjaro

Comandos para usar no terminal

sudo pacman -S curl rlwrap

openSUSE

Comandos para usar no terminal

sudo zypper install curl rlwrap

Os pacotes parecem ter o mesmo nome na maioria (senão em todas) as distribuições Linux, então se sua distribuição Linux não estiver nesta lista, apenas instale os pacotes curl e rlwrap usando o gerenciador de pacotes da sua distro.

2. Baixe e instale a interface da linha de comando cht.sh

Você pode instalar apenas para o seu usuário (para que apenas você possa executá-lo) ou para todos os usuários:

  • Instale-o apenas para o seu usuário. O comando a seguir assume que você tem uma pasta ~/.bin adicionada ao seu PATH (e a pasta existe). Se você tiver alguma outra pasta local em seu PATH onde deseja instalar cht.sh, altere o caminho de instalação nos comandos:

Comandos para usar no terminal

curl https://cht.sh/:cht.sh > ~/.bin/cht.sh

chmod +x ~/.bin/cht.sh

  • Instale-o para todos os usuários (globalmente, em /usr/local/bin):

Comandos para usar no terminal

curl https://cht.sh/:cht.sh | sudo tee /usr/local/bin/cht.sh

sudo chmod +x /usr/local/bin/cht.sh

Se o primeiro comando parece ter congelado a exibição apenas da saída cURL, pressione a tecla Enter e você será solicitado a inserir sua senha para salvar o arquivo em /usr/local/bin.

Você também pode baixar e instalar a conclusão do comando cheat.sh para Bash ou Zsh:

  • Bash:

Comandos para usar no terminal

mkdir ~/.bash.d

curl https://cheat.sh/:bash_completion > ~/.bash.d/cht.sh

echo ". ~/.bash.d/cht.sh" >> ~/.bashrc

  • Zsh:

Comandos para usar no terminal

mkdir ~/.zsh.d

curl https://cheat.sh/:zsh > ~/.zsh.d/_cht

echo 'fpath=(~/.zsh.d/ $fpath)' >> ~/.zshrc

Abrindo um novo shell/terminal e ele irá carregar a conclusão cheat.sh.

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog

Confira a versão original desse post em inglês:

Cheat.sh Shows Cheat Sheets On The Command Line Or In Your Code Editor
Propaganda
Propaganda