Betty: Turn Generic English Into Linux Terminal Commands

The Linux terminal can be a complex beast, and it would be handy to have something like Siri to help make things easier. Sure, there’s often no need to go into the terminal for regular users, but there are some advantages to using the terminal over the graphical user interface. You can do a lot of things with the terminal that aren’t as easy to do in graphical user interfaces – besides, there’s just this odd nerdy pleasure in doing as much as possible from a command line interface.

Getting to grips with the terminal and terminal commands isn’t the easiest thing, but Betty might just make things a lot easier. Betty is a Linux tool that can translate plain English commands into Linux terminal commands. In a sense, it’s a bit like Siri or Google Now for the Linux terminal.

The whole motivation behind the development, according to the GitHub page, was to allow users to use the terminal using natural language input, letting you do a lot of things without ever leaving the terminal or having to look up obscure terminal commands on the Internet.

Installing Betty

You’re going to have to delve into the Linux terminal to install Betty, but it’s a straightfoward process; just make sure you type these commands in exactly, and make sure your Linux install is up-to-date.

First off, you need to install Ruby, Curl and Git. Enter these commands into the terminal (if you already have these installed then you can skip these steps):

$ sudo apt-get install ruby curl

$ sudo apt-get install git

Once you have Ruby, Curl and Git installed, it’s time to install Ruby and set up an alias for easier usage. This assumes you have installed Betty into your Home folder.

$ cd ~ && git clone https://github.com/pickhardt/betty

$ echo "alias betty=\"~/betty/main.rb\"" >> ~/.bashrc

$ source ~/.bashrc

Also, if you’re running older versions of Ubuntu (such as 12.04), you might have to update Ruby to 1.9.1 to avoid getting a lot of errors when you run Betty commands. Just run these two commands:

$ sudo apt-get install ruby1.9.1

$ sudo update-alternatives –config ruby

When you run the second command, you’ll be prompted to choose your version of Ruby. Just select Ruby 1.9.1 by typing its selection number, press Enter and you’re good to go.

Choosing Ruby Version

Using Betty

Once you’ve completed the installation process, you can start using Betty. There’s quite a bit you can do with Betty, and there’s a list of commands on the official GitHub page, with more and more commands being added as development progresses.

But let’s just look at some examples of what Betty can do. Let’s start with some basics. Betty can provide basic information such as time and date. Just type in Betty what time is it to get the time, and Betty what is the date to get the date.

Time And Date

Betty can also fetch and return other basic information such as your username, IP address, other logged in users, and so on.

Username And IP

You can also use Betty to compress and uncompress files and folders.

Compressing Folder

In addition to actions related to your machine, Betty also has a web mode that will let you execute Internet queries. These queries include checking the weather, translating words and even looking up people, things and places.

Web Query

A couple of things to note: firstly, these are only a handful of examples of what Betty can do. Some experimentation, and a quick look at the list of commands available on the GitHub, should reveal everything else Betty can do (including controlling iTunes and Spotify).

Secondly, since Betty aims to understand natural language input, there are a lot of different ways to word the same request – you just need to experiment to find out what they are.

Conclusion

Betty is quite a useful tool for anyone interested in using the Linux terminal, as well as for anyone with a passing interest in the development of natural language input systems for computers.

The fact that Betty shows the commands it executes also makes it great for anyone trying to learn Linux terminal commands, since it helps you associate often abstract commands with natural English-like sentences.

It may still be a bit limited in what it can do, but the fact that it’s under active development means that it’s definitely a tool to keep an eye on even if it’s yet to be your cup of tea in its current state.

WebsiteFacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail