At the beginning of our first meeting, we mentioned the 10-15 minute presentations that will start off our weekly meetings. I will be doing the first two presentations, but after that it’s open to you guys. The reason I’m doing the first two is twofold: give us the needed background for the large project that we’ll be doing (to be revealed at the next meeting!) and to set an example for what we hope these presentations will be like. If you’re interested in something, chances are the club will want to see it, so please let Justin, Brian, Kyle, or myself know!
This post is to act as a reference for people interested in what the presentation is going to be about before it is given and as a post-presentation reference for things that the presenter shows us.
So, on to our first topic: BASH (aka the “Bourne Again SHell”). Bash is the standard Linux command prompt language, and it is fantastic. But before I get into the details, let me explain why we’re learning it. 100% of the club’s officers use Linux at least semi-regularly, but we are not trying to force our views onto you. The Linux terminal is at the center of a couple of important things we’ll be doing, but most namely 1) anything that happens on our server that this very site runs on and 2) it is the basis for Git, the source code version control system we’ll be using to collaborate with each other on our code. We will go over Git during the next presentation.
Hopefully, you will be/were at the presentation, because I’m not going to reiterate everything here. Just a few important things.
Here are some FAQs about Bash and the Linux Terminal:
Q: Do I have to install/use Linux in order to use a Linux terminal?
A: Nope. Macs are Unix based (which you may not have known), so they already have a full fledged terminal program installed out of the box. Windows machines are a little bit different. They have no out-of-the-box compatibility with Linux commands. There are two programs, however, that provide the functionality of a full terminal, and these are Cygwin and MinGW. MinGW is installed on all of the school computers, so if you’re without your own you can use that. Cygwin is very similar to MinGW, but MinGW is more minimalist (you can’t do everything with it, but chances are you won’t need to) and Cygwin more full-fledged. I personally suggest/recommend Cygwin. You can download Cygwin here, and MinGW here.
Q: I’m interested in trying this Linux thing. How do I get started?
A: It is important to remember that there are a TON on Linux distributions, all supported and maintained by different groups of people. There are free versions and paid (enterprise) versions, but unless you are running a company with unique needs, go for the free versions. If you’re interested in trying Linux, I recommend using Ubuntu, which is one of the most popular Linux distributions avalible. Ubuntu is special because it makes installation easy, and easily reversible should you decide against it. It allows you to install Ubuntu inside of Windows, meaning that you can remove it like any other program.
If you are interested in other distributions, check out DistroWatch. Having tried several, I have settled on Ubuntu, however other distributions like Fedora, Linux Mint, Fuduntu, Knoppix, Arch Linux, etc. all have their benefits. If you have any more questions about Linux, just ask one of the club’s current officers.
Q: What is a command line text editor and how do I use one?
A: If you are using the command line, chances are you’ll need to edit a file. If you find yourself in this predicament, there are three major options:
- Nano: If you’re starting out and simply remembering basic commands is difficult enough to keep straight (we’ve all been there), then use nano. It’s simple, obvious, and easy to use.
- Vim: One of the two most widely used (along with EMACS), vim is a fantastic editor with its own Turing complete programming language built into it (you read right!). Of course, this comes with some problems. Specifically, there are some basic commands you have to remember to edit files, but most agree that learning how to use an advanced command line editor like Vim or Emacs will be worthwhile.
- Emacs: It essentially does similar things as Vim, but has a different philosophy about going about them. Both are excellent editors, and the one you use is entirely your choice. There is a pretty hillarious battle between people who use vim and people who use emacs, beautifully summarized on the Wikipedia article “Editor war” (I don’t make this stuff up).
I hope you enjoy/enjoyed this week’s presentation!
Recent Comments