Linux Basics

What is Linux?

GNU/Linux, or just Linux, is an operating system in the same sense as Windows and MacOS X, but its components are less tightly integrated. The major components are:

Linux is considered a "Unix-like" operating system, and is similar to operating systems like MacOS X, Solaris, and the BSD family, which are descended from the original Unix operating system. (Windows and earlier version of MacOS are not Unix or Unix-like systems.) When people talk about "Unix [insert feature/component here]", as in "Unix shells" or "the Unix filesystem", Linux is usually assumed to be included as well.

Like the BSDs but unlike Windows and Mac, Linux is available in a number of "distributions", each of which provides a complete system with numerous pre-configured software packages. The CSE Linux workstations and several of the servers run Debian, the parent of the popular (and more user-friendly) Ubuntu distibution.

User Accounts

All of the CSE Linux workstations, will load your home directory when you log in. This directory contains all the files related to your user account, including desktop and program settings. The path to this directory is always /user/YOUR_NETID. Your Linux directory is accessible as a Samba filesystem when you are logged into a Windows workstation (open My Computer).

Your home directory is also loaded when you log into the CSE servers remotely. This allows you to work from your home computer without moving files around (see Working Remotely).

The Linux Terminal

What is usually called the "command line" or "command prompt" in Windows world is usually called a terminal in Unix world. Both are command-line interfaces in the technical sense, and work by allowing the user type in commands to navigate directories, run programs, and so on. Most Linux distributions (even those with well developed graphical environments) still rely heavily on the terminal for administrative tasks, which makes the OS difficult for non-technical users.

Related to the idea of a terminal is the shell, which is the actual program or set of programs which provide a command line or graphical interface. CSE computers run the the shell "tcsh" in the terminal by default, but it is possible to configure your account to use a different shell, such as"bash". The basic functionality of these shells is mostly the same, but their scripting features (which make it easy to automate various tasks) are not, so tcsh and bash scripts are not compatible.

Using the Terminal 

See the Unix Tutorial (part of Lab Assignment 1).

Desktop Environments

Unlike in Windows and Mac, there are several completely independent graphical desktop environments available for Linux, including the fully featured Gnome and KDE, the lighter weight XFCE, and the very minimal LXDE. Desktop environments themselves are fairly modular, and in addition to basic components like window managers and file managers, often provide desktop publishing applications, web browsers, and so on.

The CSE Linux workstations run Gnome 2 by default, but it is possible to choose a different desktop environment at login time. You can also run programs from one desktop environment within another, though there is a performance penalty in doing so since the libraries for both environments must be loaded.

Navigating Gnome

Gnome 2 should feel fairly familar to Windows and Mac users. Gnome's main differentiating features are the dual taskbars and the separate Applications/Places/System menus.

Note that copy and paste in the terminal are ctrl-shift-c and ctrl-shift-v respectively. Elsewhere, shortcuts for copy/paste, print, save, etc. are usually like Windows.

Some Linux Equivalents of Windows Programs

Most desktop customization and system administration tools have obvious names.

Gnome Tips

See Also

Last updated 12/26/12