Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools

Jonathan Grieve
MOD
Jonathan Grieve
Treehouse Moderator 91,253 Points

What does the Console do for us that can't be done from a GUI?

Hi everyone,

As I'm current;y doing the Console Foundations course I wanted to talk about Treehouse Console and see if we can help people who might be struggling with the console concept when they do so much work on a more familiar desktop system.

So I wonder if those in the know can tell us a couple of things about the console.

  1. What does the Console do for web development that can't be done from a GUI? I'm talking about things like updating files, searching expressions and moving files. Can you use the console to connect to servers?

  2. How exactly different to a standard console is the Treehouse console? How do the commands you use to interact with the terminals vary from console to console.

  3. And how can learning to operate a console help us in our web development careers?

Thanks. :-)

2 Answers

My two cents on those questions:

  1. In theory, any particular task that you do on the console can be made into a GUI. All a GUI (graphic user interface) is, is a visual abstraction of something. The problem with GUIs is that although there are a lot of helpful interfaces out there, they usually only perform a certain scope of things that you can do in a console. If you try to only use GUIs, you might end up using 10 different applications for your development process. Part of the convenience of using a command line interface is that you can do a whole lot of stuff with just that one application. It's also a lot faster to do things in the command line once you learn how to use it. A lot of servers don't have any sort of GUI, so in those cases you HAVE to use a command line interface.

  2. I haven't used the Treehouse console much, but it seems to me that it is the same as any Linux-based console's I've used, which are the industry standard.

  3. Enormously. You pretty much NEED to use the console if you want to be productive in web development. As a developer, I use it all the time. I use it to control Git, and other command line applications like Bower, Grunt and Yeoman. You can check those applications out to learn more about what they do. It can be a little daunting to learn how to use them, but once you get comfortable with them, they save you a ton of time and give you incredible power to do things fairly easily thanks to the command line.

James Barnett
James Barnett
39,199 Points

There is no compelling reason that someone making a website needs to know more than the basics of the how the console works. Once you are comfortable with the basics you can learn how various apps work on the command line, that's where most of the real value lies knowing how git, grunt, compass and yeoman can be used.

If you are supporting production websites well that's a fundamentally different side of the job, most everything in production is going to be administered over SSH in that case you need to have most of the skills of a Jr Linux Admin.