Betty: Use linguagem natural para executar comandos Linux
O Linux é, para muitos uma dor de cabeça, quando toca à utilização da linha de comando e do terminal. Habituados a usar apenas uma interface gráfica, poucos são os que se aventuram a usar este sistema operativo fora da sua zona de conforto e testam as muitas potencialidades.
O maior problema de quem usa o terminal é saber de cor todos os comandos e as suas muitas opções. Mas e se pudéssemos interagir com Linux da mesma forma como falamos? Basta usarmos a Betty e tudo fica mais simples.
Betty é uma ferramenta criada para ajudar todos os que querem usar a linha de comando do Unix e que têm dificuldades em se lembrara de todas as centenas de comandos que estão disponíveis.
Consegue traduzir do Inglês escrito, com uma semântica normal, para comandos Linux que depois são executados.
Esta ferramenta foi desenvolvida por Jeff Pickhardt, um ex funcionário da Google e programador Open Source que, como muitos dos que usam a consola do Linux, tinha dificuldade em memorizar e lembrar alguns pormenores dos comandos que precisava usar durante o seu trabalho.
Esta evolução na interface do Linux, e também do OSX, ainda está numa fase muito inicial, mas já consegue dar aos utilizadores, e em especial ao seu criador, todo o suporte que ele necessita no momento de usar os comandos de Linux.
Basta escrever uma frase a perguntar ou a pedir uma determinada informação que de imediato o comando é executado e o seu resultado apresentado.
Ainda não são muitos os comandos que a Betty entende, mas como este projecto é aberto, cedo podem surgir mais actualizações e as consequentes melhorias que a Betty precisa.
A lista de comandos que a Betty aceita e entende é já grande e pode ser consultada abaixo. Notem que para cada comando existem várias frases que o podem despoletar.
Comandos
Count- betty how many words are in this directory
- betty how many characters are in myfile.py
- betty count lines in this folder
(Note that there's many ways to say more or less the same thing.)
Config
- betty change your name to Joe
- betty speak to me
- betty stop speaking to me
Datetime
- betty what time is it
- betty what is todays date
- betty what month is it
- betty whats today
Find
- betty find me all files that contain california
Internet
- betty download http://www.mysite.com/something.tar.gz to something.tar.gz
- betty uncompress something.tar.gz
- betty unarchive something.tar.gz to somedir
(You can use unzip, unarchive, untar, uncompress, and expand interchangeably.)
- betty compress /path/to/dir
iTunes
- betty mute itunes
- betty unmute itunes
- betty pause the music
- betty resume itunes
- betty stop my music
- betty next song
- betty prev track
- betty what song is playing
(Note that the words song, track, music, etc. are interchangeable)
Fun
- betty go crazy
- betty whats the meaning of life
- ...and more that are left for you to discover!
Map
- betty show me a map of mountain view
Meta
- betty what version are you (or just betty version)
- betty whats your github again
Permissions
- betty give me permission to this directory
- betty give anotheruser ownership of myfile.txt
Process
- betty show me all processes by root containing grep
- betty show me all my processes containing netbio
Sizes
- betty show size for myfile.txt
Spotify
- betty play spotify
- betty pause spotify
- betty next spotify
- betty previous spotify
User
- betty whats my username
- betty whats my real name
- betty whats my ip address
- betty who else is logged in
- betty whats my version of ruby
Web queries
- betty turn web on
- betty please tell me what is the weather like in London
Depois de instalada a Betty, podem usá-la para realizar as funções que pretenderem no vosso SO e facilitar a vossa vida. Chamem a Betty e digam-lhe o que querem saber ou que ela faça.
Como instalar a Betty
Este é um processo que é até bastante simples e que devem realizar numa consola. Comecem por puxar a aplicação para o vosso computador com o comando Git. Executem o comando num local que conheçam e que acedam facilmente, preferencialmente na raiz do vosso utilizador
git clone https://github.com/pickhardt/betty |
Depois usem o vosso editor de texto favorito e abram o ficheiro ~/.bashrc. Dentro deste devem colocar o seguinte texto, numa nova linha:
alias betty="~/caminho/para/a/betty/main.rb" |
Claro que devem adaptar caminho/para/a/betty para a localização que escolheram para descarregar a Betty no comando Git.
De seguida podem usá-la, bastando para isso que lancem novamente o comando bash ou que abram um novo terminal.
A Betty pode ser usada em qualquer distribuição de Linux ou até no próprio OSX. Os comandos de instalação são idênticos em qualquer um destes sistemas.
Instalem a Betty no vosso Linux ou OSX e vejam a forma como ela vos entende e executa comandos por vocês. Deixam de ter de memorizar todas as flags e opções dos comandos, podendo apenas dar ordens que vão ser entendidas e executadas.
É uma mudança radical no terminal do Unix, mas para melhor e com imensas potencialidades. O próximo passo é tratar de dar à Betty a capacidade de nos ouvir, mas isso é algo que o seu criador não descarta, mas que ainda não está nos seus planos imediatos.
Homepage: Betty
Este artigo tem mais de um ano
Betty: I can’t remember what I’m supposed to ask you!
😀
isto pode ser muito fixe defacto…
No entanto, a falta de cobertura de temas, porque vai sempre existir…é impossível abranger tudo…
Pode tornar esta solução num quebra cabeças para alguns casos..
Mas está muito fixe 🙂
Betty o que há hoje para almoço?
😉
Betty: O Siri da linha de comandos! 😀
😀 analogia muito bem “metida”
Mas qual Betty qual quê. Isto no meu PC vai se chamar de Sóce.
Sóce mostra aí a internet, e já agora chega aí uns trocos.
Lembra o xkcd.
yaba@home:~$ betty make sandwich
Betty: Can’t make sandwich
yaba@home:~$ sudo betty make sandwich
Betty: Ok.
🙂 🙂
hahaha 😀
Brutal.
Se usarem tiverem o homebrew instalado basta:
$ brew update
$ brew install betty