1 ...6 7 8 10 11 12 ...27 Because of that, many Linux servers don't load a graphical desktop and instead rely on a text‐based interface, called the command‐line interface (CLI). The CLI provides a way for users to start programs, manage files on the filesystem, and manage processes running on the Linux system using simple text commands. The CLI is produced by a program called a shell . The shell allows you to enter text commands, and then it interprets the commands and then executes them in the kernel.
The shell contains a set of internal commands that you use to control things such as copying files, moving files, renaming files, displaying the programs currently running on the system, and stopping programs running on the system. Besides the internal commands, the shell also allows you to enter the name of a program at the command prompt. The shell passes the program name off to the kernel to start it.
You can also group shell commands into files to execute as a program. Those files are called shell scripts . Any command that you can execute from the command line can be placed in a shell script and run as a group of commands. This provides great flexibility in creating utilities for commonly run commands, or processes that require several commands grouped together.
There are quite a few Linux shells available to use on a Linux system. Different shells have different characteristics, some being more useful for creating scripts and some being more useful for managing processes. The default shell used in all Linux distributions is the Bash Shell. The Bash Shell was developed by the GNU project as a replacement for the standard Unix shell, called the Bourne shell (after its creator). The Bash Shell name is a play on this wording, referred to as the “Bourne again shell.”
In addition to the Bash Shell, there are several other popular shells you could run into in a Linux environment. Table 1.4lists the more popular ones.
TABLE 1.4: Linux Shells
SHELL |
DESCRIPTION |
ash |
A simple, lightweight shell that runs in low‐memory environments but has full compatibility with the Bash Shell |
korn |
A programming shell compatible with the Bourne shell but supporting advanced programming features like associative arrays and floating‐point arithmetic |
tcsh |
A shell that incorporates elements from the C programming language into shell scripts |
zsh |
An advanced shell that incorporates features from bash, tcsh, and korn, providing advanced programming features, shared history files, and themed prompts |
Most Linux distributions include more than one shell, although usually they pick one of them to be the default. If your Linux distribution includes multiple shells, feel free to experiment with different shells and see which one fits your needs.
Now that you have seen the four main components required for a complete Linux system, you may be wondering how you are going to get them all put together to make a Linux system. Fortunately, there are people who have already done that for you.
A complete Linux system package is called a distribution . There are lots of different Linux distributions available to meet just about any computing requirement you could have. Most distributions are customized for a specific user group, such as business users, multimedia enthusiasts, software developers, or average home users. Each customized distribution includes the software packages required to support specialized functions, such as audio‐ and video‐editing software for multimedia enthusiasts, or compilers and integrated development environments (IDEs) for software developers.
The different Linux distributions are often divided into two categories.
Core Linux distributions
Specialized distributions
The following sections describe these different types of Linux distributions and show some examples of Linux distributions in each category.
A core Linux distribution contains a kernel, one or more graphical desktop environments, and just about every Linux application that is available, precompiled for the kernel. It provides one‐stop shopping for a complete Linux installation. Table 1.5shows some of the more popular core Linux distributions.
TABLE 1.5: Core Linux Distributions
DISTRIBUTION |
DESCRIPTION |
Slackware |
One of the original Linux distribution sets, popular with Linux geeks |
Red Hat Enterprise |
A commercial business distribution used mainly for Internet servers |
Gentoo |
A distribution designed for advanced Linux users, containing only Linux source code |
openSUSE |
Different distributions for business and home use |
Debian |
Popular with Linux experts and commercial Linux products |
In the early days of Linux, a distribution was released as a set of floppy disks. You had to download groups of files and then copy them onto disks. It would usually take 20 or more disks to make an entire distribution! Needless to say, this was a painful experience.
Nowadays, Linux distributions are released as an ISO image file . The ISO image file is a complete disk image of a DVD as a single file. You use a software application to either burn the ISO image file onto a DVD or create a bootable USB stick. You then just boot your workstation from the DVD or USB stick to install Linux. This makes installing Linux much easier.
However, beginners still often run into problems when they install one of the core Linux distributions. To cover just about any situation in which someone might want to use Linux, a single distribution has to include lots of application software. They include everything from high‐end Internet database servers to common games.
While having lots of options available in a distribution is great for Linux geeks, it can become a nightmare for beginning Linux users. Most core distributions ask a series of questions during the installation process to determine which applications to load by default, what hardware is connected to the PC, and how to configure the hardware. Beginners often find these questions confusing. As a result, they often either load way too many programs on their computer or don't load enough and later discover that their computer won't do what they want it to do.
Fortunately for beginners, there's a much simpler way to install Linux.
Specialized Linux Distributions
A new subgroup of Linux distributions has started to appear. These are typically based on one of the main distributions but contain only a subset of applications that would make sense for a specific area of use.
In addition to providing specialized software (such as only office products for business users), customized Linux distributions also attempt to help beginning Linux users by autodetecting and autoconfiguring common hardware devices. This makes installing Linux a much more enjoyable process.
Table 1.6shows some of the specialized Linux distributions available and what they specialize in.
TABLE 1.6: Specialized Linux Distributions
DISTRIBUTION |
DESCRIPTION |
Fedora |
A free distribution, originally used as a testing ground for Red Hat Enterprise Linux, now a popular distribution in its own right |
Ubuntu |
A free distribution originally intended for school and home desktop use, now also used as a server |
MX Linux |
A free distribution for home use |
Linux Mint |
A free distribution for home entertainment use |
Puppy Linux |
A free small distribution that runs well on older PCs |
That's just a small sampling of specialized Linux distributions. There are hundreds of specialized Linux distributions, and more are popping up all the time on the Internet. No matter what your specialty, you'll probably find a Linux distribution made for you.
Читать дальше