Introduction to Linux

Many new students in the CS Department are unfamiliar with Linux but may be very proficient at Windows. Since the department uses Linux heavily, it is essential to be comfortable working on the Linux platform.

This document is an introduction to Linux. Being an "introduction," it will not describe every single command and every single option. However, it will give you a solid foundation, and it will refer you to other sources for more information.

If you find anything unclear or incorrect in this document, please email the system programmers at system@cs.byu.edu.

Comparing Linux and Windows

In a strict sense, Linux and Windows are roughly equivalent in power. If you need to use your computer for such-and-such a task, you can find, buy, or make a program that does it on either platform. However, in a more practical sense, Linux and Windows are very different, with polar philosophies. Windows is "by business, for business" while Linux is "by programmers, for programmers" (and Apple is "by business, for users").

The Windows philosophy is "by business, for business." There is a ton of commercial software available for Windows, and you can find a program somewhere out there to do just about anything you can think of.

In contrast, Linux is "by programmers, for programmers." This philosophy is either negative and positive, depending on your situation. Sometimes Linux can be less user-friendly because programmers tend to worry more about features than presentation. Meanwhile, it is much more flexible and configurable. Software is also much more accessible because of the Linux community and its culture of programmers sharing their code with others.

In a nutshell, it takes more time to learn to use Linux, but in the end getting it to do exactly what you want is much easier.

Using Linux Graphically

Desktop Environments and Window Managers

On Linux you have a choice with everything. This includes the graphical interface. A program called a "window manager" (or a "desktop environment" when it's a set of programs) is responsible for keeping track of the windows on the screen, drawing window borders and title bars, giving you a task bar, setting the background image, and configuring the look and feel of the system. There are dozens of window managers out there, each with its dedicated fans. As you log in on the lab machines in the CS Department, you can select which one you want to use by clicking where it says "Desktop." If you try a few you'll get a feel for the amount of variety available.