Chapter 4. Essentials

Table of Contents

What is Linux?
Structure of a Linux Based Operating System.
Hardware
Kernel
Standard Library of Procedures
Standard Utilities and User Applications
Lateral thinking with further details on the Operating System Simone Demblon
Logging into a Linux System
Login
The Password File
The Shell Command Interpreter
Different Shell Command Interpreters
The Command History within the shell
Configuring your shell environment
Shell Command Processing
The Shell Environment
Using Shell Commands
Files and Directories
Files under Linux
Inodes
Linux FS Hierarchy
Editing Files under Linux
Working with normal data files
links
File permissions/security
chmod
chown and chgrp
umask
File Redirection, Named and un-named pipes
stdin
stdout
stderr
Appending to a file
Piping
Other commands

What is Linux?

An operating system is composed of two major parts; these parts are known as the "kernel" and the "userland".

The kernel is responsible for handling communication between the physical hardware and the software running on the machine.

The "userland" is comprised of system utilities and user applications. These include editors, compilers and server daemons. System utilities allowing you to maintain, monitor and even upgrade your system are also included.

The phrase "Linux operating system" is a misnomer, as Linux is a kernel, and requires additional software in order to make it an operating system.

A Linux distribution is comprised of the Linux kernel, and a collection of "userland" software. The software is usually provided by the FSF[23] and GNU[24] organisations, as well as many private individuals. Some of it even originates from UCB's[25] BSD[26] Unix operating system.

[Note] Note

There is some confusion over whether the word should be written as "Unix" or "Unix". Both forms are popular and are used interchangeably. Dennis Ritchie says that the all-caps spelling originated from CACM's 1974 paper, "The Unix Time-Sharing System". Apparently because "we had a new type setter and troff had just been invented and we were intoxicated by being able to produce small caps." Dennis Ritchie feels like it should be spelled "Unix", as it is a word and not an acronym. Therefore, this is the format that we will use in this document.

Some commercial Linux distributions even include commercially developed software, often unique to that particular distribution. An example of this would be SuSE Linux's "Openexchange" Server™.

There are many Linux distributions that are available. All of them use the Linux kernel, but they usually differ in what software is available as part of the "userland" how that software is managed and packaged.

Unlike most Unix operating systems, which are based on previous versions of Unix, ultimately all leading back to the original "Unix System" from Bell Labs, the Linux kernel was written from scratch. However, Linux based operating systems follow and implement the Unix paradigm closely enough, that the bulk of this section of the course would apply to both Linux and Unix variants.