Linux Basics

From JimboWiki
Revision as of 18:54, 18 January 2007 by J (Talk | contribs)

Jump to: navigation, search


This page is incomplete
More work needs to be done on this page, so if somthing is missing, don't be surprised

This is the first part of the jimbodude.net Linux tutorial. It is meant to introduce Linux people who have a reasonable amount of technical experience but not enough time to spend reading books or doing reasearch on their own. At the end of this document, you should understand what Linux is, how users and files are organized, how to navigate the filesystem, and how to manipulate files. I will not discuss how to install Linux, as that is different for each version of each distribution. See the documentation for the version you plan on using.

What is Linux?

"Linux" generally refers to any operating system using the Linux Kernel. The Linux Kernel is available under the "GNU General Public License" which makes it free for most uses and allows it to be distributed as open source. Linux was developed by Linus Torvalds in 1991. For more information about the kernel and its history see Wikipedia:Linux kernel and Wikipedia:Linux.

Simple Overview

Linux was originally developed to be a desktop operating system for "hard core" users. It has since evolved and become available as a server operating system and has emerged into many corporations. Linux provides a huge amount of flexibility for developers because it supports many programming languages and is available on many platforms other than computers. The main goal of the project was to provide a free Unix-like operating system to the masses.

Technical Overview

Linux is a Monolithic kernel. By design, everything running on a Linux system is very modular. For instance, systems do not need to have a GUI. Systems that do generally use some flavor of the X Server. The X Server is controlled separately from the kernel, and any issues with X will not affect the kernel. Also, the X server allows many different displays to run simultaneously. So different users logged in concurrently can have a completely different GUI presented. This is true of many other aspects of Linux software including printing and sound.

The Linux kernel has been ported to many common devices including routers (see | DD-WRT for Linksys WRT routers), MP3 players (such as the | Apple iPod), phones, and gaming systems (such as | Sony PS2, | Nintendo GameCube, | Microsoft XBox, and XBox 360). Many embedded systems (such as [www.tivo.com | TiVo] and older Linksys routers) also use Linux based systems out of the box.

Distributions

The term "Linux" technically only refers to the operating system kernel, but the kernel alone is relatively useless. So people put together more complete software packages which include applications and supporting software. These packages are called distributions. There are so many distributions of Linux available it isn't even funny, and each has its own benefits and disadvantages. I will only cover a few of the major ones here breifly.

Red Hat

Fedora Core

Slackware

Yellow Dog

Debian

Ubutu

SUSE

Knoppix

Why Linux?

Technical

Cost and Availability

Development

Security

Compared to Microsoft Windows

Compared to Other UNIX Based OSs

Using Linux

If you're just looking at a Linux GUI, things don't appear much different from Microsoft Windows, but under the hood there's a whole different story.

How to Connect to a Linux Machine

Shell and SSH

X Server (locally)

X Server (remotely)

VNC Server

Understanding the Linux Filesystem

If you are used to other non *nix operating systems, the first difference you will probably notice is the file system. The base of the file system exists at "/" (pronounced "root directory"), not "My Computer" or "C:\". because of this, there is no notion of what physical drive you are working from. You will see why this is an advantage in a later tutorial. There are several important directories in "/" that you might want to know about.

/home/

/root/

/etc/

/usr/

/dev/

/opt/

Understanding Users

Normal Users

System Users

"root" User

Properties of Users

Important Commands

Navigating the Filesystem

Manipulating Files

Text Editors

Emacs
vim
Graphical Editors

About Commands

Where they live, how they execute, how to execute commands in the current directory, etc.

Conclusion

See Also