Textbook Mastering Modern Linux Second Edition Paul S Wang Ebook All Chapter PDF
Textbook Mastering Modern Linux Second Edition Paul S Wang Ebook All Chapter PDF
Textbook Mastering Modern Linux Second Edition Paul S Wang Ebook All Chapter PDF
https://textbookfull.com/product/mastering-modern-linux-2nd-
edition-paul-s-wang/
https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-
loucas/
https://textbookfull.com/product/mastering-embedded-linux-
programming-second-edition-unleash-the-full-potential-of-
embedded-linux-with-linux-4-9-and-yocto-project-2-2-chris-
simmonds/
https://textbookfull.com/product/mastering-kali-linux-for-
advanced-penetration-testing-secure-your-network-with-kali-linux-
the-ultimate-hackers-arsenal-second-edition-velu/
Mastering Linux shell scripting a practical guide to
Linux command line Bash scripting and Shell programming
Second Edition. Edition Mokhtar Ebrahim
https://textbookfull.com/product/mastering-linux-shell-scripting-
a-practical-guide-to-linux-command-line-bash-scripting-and-shell-
programming-second-edition-edition-mokhtar-ebrahim/
https://textbookfull.com/product/mastering-embedded-linux-
programming-second-edition-unleash-the-full-potential-of-
embedded-linux-with-linux-4-9-and-yocto-project-2-2-morty-
updates-chris-simmonds/
https://textbookfull.com/product/mastering-linux-security-1st-
edition-musaab-hasan-zayed-balbahaith/
https://textbookfull.com/product/mastering-linux-shell-scripting-
a-practical-guide-to-linux-command-line-bash-scripting-and-shell-
programming-ebrahim/
https://textbookfull.com/product/mastering-the-ukcat-second-
edition-nordstrom/
Mastering Modern Linux
Second Edition
Mastering Modern Linux
Second Edition
Paul S. Wang
Kent State University, Kent, Ohio
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been
made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity
of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright
holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this
form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may
rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized
in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying,
microfilming, and recording, or in any information storage or retrieval system, without written permission from the
publishers.
For permission to photocopy or use material electronically from this work, please access www.copyright.com
(http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers,
MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of
users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been
arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation without intent to infringe.
v
Next come Bash scripting, file system structure, organization, and usage, which bring
us to about the middle of the book.
The next chapters present networking, the Internet and the Web, data encryption, and
basic system admin, as well as Web hosting. The Linux Apache MySQL/MariaDB PHP
(LAMP) Web hosting combination is presented in depth. Such practical knowledge can be
valuable for many Linux programmers.
In Chapters 10–12, attention is then turned to C-level programming. Because the Linux
kernel and most of its applications are implemented in C, it is considered the native language
of Linux. In-depth knowledge of Linux requires understanding the Standard C Libraries and
the system calls which form the interface to the Linux kernel. Topics covered include the
C compiler, preprocessor, debugger, I/O, file manipulation, process control, inter-process
communication, and networking. Many complete example programs, written in the standard
ISO C99, are provided.
Appendices are kept on the book’s website (mml.sofpower.com). They supply useful
supplemental information for students, including text editing and how to set up Linux
learning environments on their own Windows® or Mac® computers.
Flexible Usage
This book is for people who wish to learn Linux and to become good at using it and writing
programs in it. The book does not assume prior knowledge of Linux or UNIX, but has the
depth to satisfy even those with Linux experience.
Compared to other Linux books, this text is not a thick volume. However, it presents
many topics comprehensively and in depth. Many examples are given to illustrate concepts
and usage. It is well-suited for a one-semester course. An instructor can cover all the chapters
in sequence or choose among them, depending on the class being taught.
For an Introduction to Linux course, the chapters on C-level programming and perhaps
on Web hosting can be skipped.
For a system programming-oriented course, the Linux primer, interactive use of Bash,
and the GNU desktop material can be omitted or assigned for reading at the beginning of
the class. This will provide more time for the hardcore topics on programming.
For an Introduction to Operating System Principles course, this book is a good sup-
plement. Discussion of Linux subjects—the Shell, file system structure, concurrent process
management, I/O structure, signals/interrupts, and inter-process communication—provides
concrete examples and adds to the students’ understanding of the abstract operating system
principles being studied.
For a server-side Web programming course, the coverage of Bash, file system, Internet
and the Web, and Web hosting can make this book a great supplemental text.
For courses on network programming, graphics, C programming, distributed computing,
etc., the book can be a valuable supplement as well.
For those who use Linux in school or at work, this book enables you to apply the
system’s capabilities more effectively, resulting in much increased productivity. Ready-to-
use examples provide many immediate practical applications.
Going beyond, you can learn how to write programs at the Shell and the C levels. This
ability enables you to build new capabilities and custom tools for applications or R&D.
Easy Reference
You’ll find a smooth, readable style uncharacteristic of a book of this type. Nevertheless,
it is understood that such books are used as much for reference as for concentrated study,
especially once the reader gets going on the system. Therefore, information is organized and
presented in a way that also facilitates quick and easy reference. There are ample resource
listings and appendices (on the website) and a thorough and comprehensive index. The
in-text examples are also cross-referenced with files in the example code package. This book
will be a valuable aid for anyone who uses tools, accesses the Internet, or writes programs
under Linux, even occasionally.
Acknowledgments
I would like to thank the editors Randi Cohen, Paul Boyd, and others at CRC press for
their help and guidance throughout the writing and production of this second edition. Their
dedication is indeed much appreciated.
During the planning and writing of this book, several reviews have been conducted.
Special thanks go to Professor Charles Border, Rochester Institute of Technology, NY, who
made excellent suggestions for improving the manuscript and making the book easier to use
for students and teachers, including the idea to provide students with information to easily
set up Linux learning environments on their own computers.
Finally, I want to express my sincere gratitude to my wife, Jennifer, whose support and
encouragement have been so important to me through the years.
Paul S. Wang
王 士 弘
www.cs.kent.edu/~pwang
Contents
Preface v
Introduction 1
viii
Chapter 2 ■ The Desktop Environment 35
2.1 Desktop Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2 Desktop Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3 The GNOME 3 Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4 Understanding GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5 Working with the Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Session Control and System Settings . . . . . . . . . . . . . . . . . . . . 39
Launching Application Programs . . . . . . . . . . . . . . . . . . . . . . 39
Managing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Multiple Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Desktop Appearance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
The X Window System . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Window Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Window Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.7 The File Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Navigating the File Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Opening a File or Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Finding Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Managing Files and Folders . . . . . . . . . . . . . . . . . . . . . . . . . 46
Access Control for Files and Folders . . . . . . . . . . . . . . . . . . . . 47
Writing CDs or DVDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Changing Your Default File Browser . . . . . . . . . . . . . . . . . . . . 48
2.8 Terminal Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Starting a GNOME Terminal . . . . . . . . . . . . . . . . . . . . . . . . 49
Terminal Window and the Shell . . . . . . . . . . . . . . . . . . . . . . 50
Select, Copy, and Paste . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Web and Email Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.9 Accessing Help and Documentation . . . . . . . . . . . . . . . . . . . . . . 51
2.10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Bibliography 355
Index 357
Introduction
Ever since its introduction in the early 1990s, Linux has evolved, improved, and significantly
expanded its user base. It has become an important factor in modern computing.
Linux is a free and open-source operating system that works, in many respects, just like
UNIX. Linux became popular as a widely preferred server platform for Web hosting, cloud
computing, and other purposes. However, with the introduction of the GNOME and KDE
desktop user interface environments (and other more recent ones), plus many improvements
and new applications, Linux has been gaining ground as a home/office system, as well as a
more dominant force in the server market.
Because it is free and open source,1 Linux is a very attractive teaching tool for computer
science and engineering departments. Also, because it is fast and reliable, businesses, such as
Amazon, Google and Facebook, often choose Linux to run their Web and application servers.
Companies and developer communities, in the United States and worldwide, contribute to
kernel development, new products, personnel training, and technical support for Linux,
while the operating system itself remains free.
Let’s take a brief look at the history of Linux, its versions and features, and the topics
involved in learning how to use Linux.
“When you are talking about Linux as a OS, you should refer to it as GNU/Linux.
Linux is just the kernel. All the tools that make Linux an OS have been contributed
by GNU movement and hence the name GNU/Linux.”
Linux has come a long way since its early days. Today, it is a prime example of the
success of open-source, community-developed software. Linux is used on servers, desktop
computers, laptops, and netbooks. The highly successful mobile system Android (version
1.0 2008) derived its kernel directly from Linux.
The article Fedora project leader Matthew Miller talks world domination on Linux’s 25th
birthday (PCWorld 08/25/2016) says:
“In many ways, we’ve actually reached the fabled ‘world domination’ everyone
joked about 20 years ago,” says Miller. “Linux is the default operating system for
1 Linuxis distributed under the GNU General Public License.
2 EEE Computer Society standards for Portable Operating System Interface.
3 MINIX is the first open-source clone of UNIX for the IBM PC written by Professor Andrew S. Tanen-
baum in 1987.
1
2 ■ Introduction
most things ... Android puts Linux at the heart of the most common consumer
operating system in the world. Open source, to some degree or another, is now
the default licensing model.”
Linux Versions
Unlike proprietary operating systems, Linux is a combination of open-source programs,
including the Linux kernel, GNU tools, desktop managers, and installation and package
management systems, plus many other system-, server-, and user-level applications. Anyone
can create different combinations of these components, perhaps also change or improve them,
and create a Linux distribution with unique characteristics. Thus, it is not surprising that
many companies and groups all over the world have been distributing somewhat different
versions of Linux ready to install on your computer.
Linux systems are widely used by individuals, academic institutions, corporations, and
service providers such as Web hosts, data centers, and cloud servers.
Widely used Linux versions include
• Ubuntu—“Ubuntu” means “humanity” in Zulu. Ubuntu Linux started as a version of
the popular Debian GNU/Linux. All versions of Ubuntu Linux are free, and there is no
charge for mailing a CD to you. Ubuntu supports the GNOME Desktop environment,
while another version, Kubuntu, uses the KDE Desktop. Ubuntu is easy to install
and very user friendly, which has quickly made it the most popular version of Linux.
Ubuntu is sponsored by the U.K.-based Canonical Ltd., owned by South African
entrepreneur Mark Shuttleworth.
• Red Hat Enterprise Linux—The original Red Hat Linux started in 1994 and was
discontinued by Red Hat Inc. in 2004. The company now focuses on Red Hat Enterprise
Linux (RHEL) for business environments and on Fedora as a community-supported
software project for home, personal, and educational use.
• CentOS—RHEL largely consists of free and open-source software, but the executa-
bles are made available only to paying subscribers. CentOS (Community ENTerprise
Operating System) is a completely free version of RHEL (minus the Red Hat logos)
made available to users as new versions of RHEL are released.
• Fedora—Fedora is a leading-edge Linux distribution where new features and improve-
ments are tested before being included in RHEL/CentOS. Fedora makes frequent
software updates and is tightly integrated with the GNOME user environment.
• openSUSE—This is a major retail Linux distribution supported worldwide by Novell
(now part of Micro Focus). Novell acquired the SuSE Linux (a German translation of
the original Slackware Linux) in 2004. In the following year, Novell decided to make the
SUSE Professional series more open as a community-developed, open-source software
and to rename it openSUSE.
• Debian—Debian Linux consists entirely of free and open-source software. Its primary
form, Debian GNU/Linux, is a popular and influential Linux distribution. Debian
is known for an abundance of options. Recent releases include over 26,000 software
packages for all major computer architectures. Ubuntu is a derivative of Debian.
• Mint—Linux Mint, a newcomer, is a reliable and popular desktop distribution. It
adopts a conservative approach to software updates and is based on Debian and
Ubuntu.
Introduction ■ 3
• Avoid verbosity—Perform no unessential output from any programs; use short names
for commands and command options.
• Make programs modular—Build small, independent, and self-sufficient program parts,
with each serving a specific function. These program parts can be flexibly combined
to form larger programs. This principle is reflected in the small kernel (core of the
operating system) cooperating with a large set of small commands which work well
together.
• Compose programs through interfaces—Write programs that are easy to interface with
other programs. The famous UNIX pipe, which interfaces the output of a program to
the input of another, is a primary example of this philosophy.
Linux Features
Linux incorporates all the outstanding UNIX core features and adds graphical user interface
(GUI), software update and package management, security improvements, and many useful
applications. Important features of Linux include
• Multi-user and multi-processing—The ability to allow multiple users to login at the
same time and the ability to run many programs concurrently.
• Graphical user interface—Offering a desktop environment with windows, icons, panels,
and menus, making it easy to use point-and-click for operations. Most Linux systems
use the X Window system and allow the user to choose between two popular desktop
environments, GNOME and KDE.
4 ■ Introduction
• Package management—A systematic way to find, install, upgrade, configure, and re-
move the many software packages available. A package contains the executable pro-
gram and metadata specifying its title, version, purpose, author/vendor, dependencies
(on other packages), etc. Packages are made available in repositories for download-
ing. The Fedora and the Red Hat family Linux systems use the dnf (dandified yum)
tool and the rpm package format, while the Debian varieties use the apt (Advanced
Packaging Tool) and the deb format.
• Shells—A Shell is a command-line interface (CLI) to the operating system. It provides
interactive processing and execution of user commands. The standard (default) Shell
for Linux is Bash (born-again Sh), but you may easily choose to use a different Shell.
• Hierarchical file system—The entire file system is tree structured and is anchored at a
single directory called the root. The root directory contains files and other directories
that, in turn, contain more files and directories. Each user has a home directory for
his/her own files. The file system tree is divided into volumes, which can be mounted
or dismounted by attaching them to a node in the file tree. A physical storage device
can contain one or several file system volumes.
• File access control—Each file in the file system is protected by a sequence of bits
whose value is specified by the owner of the file. Access to files is controlled by the
operating system. System-wide access is granted to so-called super users, usually the
system administrators. To improve file and system security, the Security-Enhanced
Linux (SELinux) (kernel module available on most modern Linux distributions) can
also be enabled.
• Compatible file, device, and inter-process I/O—I/O to physical devices and I/O to
a file look the same to a user program. A user can redirect a program’s I/O so that
without changing the program itself, input or output can be directed to a terminal
window, file, or even to another program’s I/O. The ability to combine and connect
existing programs in this pipeline fashion provides great power and flexibility.
• Concurrent processes—Following UNIX, Linux provides a set of Shell commands and
C-language APIs to initiate and manipulate asynchronous, concurrent processes. This
allows a user to maintain several jobs at once and to switch between them. It is also
critical for pipelining several commands (processes) together.
• Serving the Internet—As UNIX, Linux systems provide local and wide area networking
through sockets that support the Internet Protocol (IPv4 and IPv6) and provides
efficient network services. System admin can easily manage, configure and start or
stop different network services. Linux also works well with the Apache Web Server to
provide Web hosting. As a result, Linux is very popular as a network server platform.
• Utilities—The Linux architecture encourages building self-contained programs to add
new facilities. Linux systems come with many utility programs including text editors,
document processors, email servers and clients, Web browsers, raster and vector image
editors, scripting languages, language compilers, file manipulation tools, databases,
multimedia tools, GUI design and programming tools, software engineering tools, and
networking and other system facilities. These utilities usually come in the form of a
Linux package which can be downloaded, installed, and managed easily with a package
manager.
The Linux kernel, the central part of the operating system which provides a programming
interface to the hardware, is robust and highly efficient. Figure 1 shows an overview of
Introduction ■ 5
GUI
Windowing
Kernel
Hardware
Network
Files
Commands
CLI
the Linux system organization. When studying the various topics in this textbook, this
organizational diagram helps to tie them together.
Learning Linux
Linux systems are used widely in colleges, universities, and companies, both as servers and
as workstations in computer labs. Many users have Linux/Windows dual boot on their
personal machines. Knowledge of Linux is important for both learning and employment.
To make experimentation easier, a student can set up a private Linux learning environ-
ment on his/her own Windows® or Mac® computer. Specific instructions can be found in
the Appendix.
This book covers a set of carefully selected topics that enable you to understand oper-
ating system concepts, to use Linux effectively, and to take full advantage of your Linux
computer.
The chapters are sequenced in a drill-down progression starting with a primer to get
you started quickly on Linux with hands-on learning and meaningful tasks.
Next, we present the Linux GUI and the standard Linux CLI (the Bash Shell). Then we
discuss useful apps, commands, filters to build pipelines, and regular expressions for pattern
matching. All this paves the way for writing Bash programs called Shell scripts.
Digging deeper, we discuss how to control files and folders, and how Linux organizes
and manipulates files in a set of filesystems that is an important part of the Linux kernel.
Computers are rarely used in isolation, and, like other modern operating systems, Linux
relies heavily on networking for many operations. With a good foundation from the earlier
chapters, we discuss networking, Web, Internet, public-key encryption and digital signature.
Linux system administration becomes important after a user gets familiar with the
operating system. For people serious about a Linux-related career, system admin knowledge
is critical. We cover the basics of Linux system management in Chapter 8.
Attention then turns to C-level programming, kernel system calls, processes, and inter-
process communication. These topics shed light on the internals of Linux and provide a
deeper understanding of concepts and topics covered in earlier chapters. The material should
prove especially important for CS/CE majors.
Thus, you will find traditional as well as contemporary topics important for the modern
Linux environment. The material in this book applies to most popular Linux systems. The
knowledge gained will enable you to use any version of Linux with ease. Major differences
among Linux versions are noted where appropriate.
Because Linux is best learned through frequent experimentation and practice, we begin
with a primer that gets the new user started quickly. We offer examples and practical
ways to use Linux throughout the book. Many examples are provided to illustrate concepts
and to demonstrate programming techniques. This textbook also contains an example code
package4 which provides complete programs ready to download and run on your computer.
The material is presented for smooth reading as a textbook, but also for convenient reference
later on.
A Linux Primer
If you are serious about computing, safeguarding security, and understanding how an oper-
ating system works, Linux is the system of choice. To learn Linux you must use it, and, of
course, to use it you must learn it. Such a paradox is rather common—you probably learned
to drive a car this way. You just need some basic help and pointers to get started. Here
we present an overview of basics. Once you understand the material in this chapter, you
will be able to use the operating system to learn more in each successive chapter. At first,
you need a learner’s permit to drive a car. Consider this chapter your learner’s permit for
Linux; with a little practice you will be using Linux almost right away.
Learning Linux involves understanding how to use it from the user level, how to apply
its powers and apps effectively, features making it such a good server, and how to program
it from the system level. With this textbook, you’ll begin to master Linux.
This primer provides basic information and a selection of topics designed to get you
started using Linux quickly. As you read this chapter, try the different commands and
features as you come to them. In each case, we will provide enough information to get you
on the system and learning.
7
8 ■ A Linux Primer
Desktop Login
Find a computer displaying the Linux desktop login screen (Figure 1.1). This can be the
console where the keyboard, mouse, and display are directly connected to the computer
hardware running the Linux system. Or it can be a different computer on the LAN (Local
Area Network). Colleges, universities, and companies often run computer labs with Windows
or Mac stations that can access Linux servers and display their desktop screens.
In any case, enter your correct password carefully and privately. If you are a new user and,
after several careful tries, you are unable to log in, it may be that the system administrator
has not yet established your userid on the computer. Wait a reasonable length of time and
try again. If you still have a problem, contact your system administrator.
After login, you’ll see your desktop displayed. The desktop enables the use of full-
GUI (Graphical User Interface) applications that allow point-and-click operations with the
mouse, touchpad or touch screen.
From the desktop, you can press the windows or super key or click on the start
icon to show/hide a start menu or applications menu displaying many tasks you can do.
Getting Started: Login and Logout ■ 9
The start icon is usually a Linux distribution logo located on the left end of your desktop
Panel (normally a horizontal bar across the top or bottom of your screen). In GNOME
3 for example, simply moving the mouse quickly to the upper left corner shows/hides the
Activity Screen (Figure 1.2).
To log out from Linux look for a logout icon on the desktop Panel. More will be said
about desktops in Chapter 2.
To start a terminal window, go to the start menu and click on the System tools->Terminal
10 ■ A Linux Primer
option or the Accessories->terminal option, depending on your Linux and desktop. The
terminal may be gnome-terminal, konsole, or another depending on your Desktop envi-
ronment. The GNOME 3 Applications menu (Figure 1.4) includes a gnome terminal icon
to conveniently launch a terminal window. A terminal window emulates a character-based
computer terminal and allows you to use Linux through a command interpreter called the
Shell (Section 1.3). The terminal window allows you to change its appearance and font to
your own liking.
As it starts, the Shell also positions you at your home directory (Section 1.5), the file
folder reserved for you as a user on Linux. The Shell indicates its readiness to take your
commands by displaying a prompt at the beginning of a line.
When you are finished with a terminal window, you may close it by
exit (exits from Shell and closes the terminal window)
logout (same as exit)
The character ctrl+d (the character d typed while holding down the ctrl key) typed alone
on a command line often can be used in place of the exit command. Exit with ctrl+d
is convenient but dangerous, because one typing error can close your terminal window. See
Chapter 3 for how to disable exit via ctrl+d.
By the way, we shall use the notation
ctrl+X
to denote a control character, where X is some character. Note also that although the
convention is to show an uppercase character, you do not need to hold down shift when
typing a control character.
Remote Login
Universities and other institutions often run large Linux servers for users to access through
a LAN or even the Internet. You can use TELNET, or more likely SSH (Secure Shell), to
access a Linux system from another computer, which can be a PC, another Linux system, or
Getting Started: Login and Logout ■ 11
any other platform. Figure 1.5 shows SSH access, via the Putty tool (free and recommended),
to a Linux host tiger.cs.kent.edu from MS Windows® .
On Linux, the Shell-level command ssh provides SSH and is used to access a remote
Linux server from a Linux system. For example,
ssh [email protected]
or
ssh -X [email protected]
networks to the computer tiger.cs.kent.edu (the domain name of the computer) and
attempts to log in with the userid pwang. Remote login normally supports only CLI access.
The -X (capital X) option allows the remote computer to open the graphical display on the
local Linux and therefore enables you to also launch remote applications that require a GUI.
Running GUI programs remotely involves much heavier network traffic and can be slow.
Without the -X option you’ll be able to run only command-line applications on the
remote computer which is usually the efficient and sensible thing to do. We will return to
SSH in Chapter 7 (Section 7.6) where networking is discussed. Download, installation, and
usage information for SSH/SFTP can be found in the appendices on the companion website
(mml.sofpower.com).
Successful remote login via SSH results in your SSH window being connected to a login
Shell running on the remote Linux. After login, Linux will record your login in a system
log, display a message showing the time and place for your last login, and initiate a Shell
to take your commands.
When you see the prompt, you are ready to begin computing. After you are done, you
will need to log out from the remote Linux. To log out, first close any programs that you have
been running and then issue the Shell-level command exit or logout. It is a good practice
to first close all running programs manually instead of relying on the logout process to close
them for you.
12 ■ A Linux Primer
Entering Commands
In Linux, you can give commands to the Shell to start application programs, manage files
and folders, control multiple jobs (tasks that are running), redirect I/O of programs from/to
files, connect one program to another, and perform many other tasks. Virtually anything
you want done in Linux can be accomplished by issuing a command to the Shell.
Many different commands are available, but some general rules apply to all of them. One
set of rules relates to command syntax—the way the Shell expects to see your commands.
A command consists of one or more words separated by blanks. A blank consists of one or
more spaces and/or tabs. The first word is the command name (in this book the name of a
command will appear in boldface); the remaining words of a command line are arguments
to the command. A command line is terminated by pressing the return (or enter) key.
This key generates a newline character, the actual character that terminates a command
line. Multiple commands can be typed on the same line if they are separated by a semicolon
(;). For example, the command
ls folder
lists the names of files in a folder (directory) specified by the argument folder. If a directory
is not given, ls lists the current working directory (Section 1.5).
Sometimes one or more options is given between the command name and the arguments.
For example,
ls -F folder
adds the -F (file type) option to ls telling ls to display the name of each file, or each filename,
with an extra character at the end to indicate its file type: / for a folder, * for an executable,
and so on.
At the Shell level, the general form for a command looks like
command-name [ options ] … [ arg ] …
Another random document with
no related content on Scribd:
ochtend en, nog slaapdronken, waggelend op hun beenen; alles was
gekleurd met een grauwe tint, die met elke minuut lichter werd, tot ze
zich oploste in de eerste zonnestralen, die de dauwdroppels op de
klapperbladeren deden fonkelen.
’t Was Van Brakel of hij blind werd, toen hij, de oogen openend, in de
zon keek.
Toen Van Brakel eenige dagen later zijn plannen en ontwerpen den
resident aanbood, was deze daar wonderwel tevreden over; hij
beschouwde ze met groote belangstelling; hij zag in hoe nuttig zoo’n
verbindingsweg zou wezen in het fraaiste deel der gemeente en hoe
sierlijk de aanleg zou kunnen zijn; de resident werd er enthousiast
voor en beloofde [255]in alles zijn medewerking, behalve natuurlijk in
’t finantiëele, maar daarom vroeg Van Brakel niet.
’t Was alles fraai en wel; men twijfelde volstrekt niet aan het goed
inzicht en de architectonische bekwaamheden van Van Brakel; men
was ook wel geneigd kapitaal te verstrekken,—maar de soliditeit van
den ingenieur op finantiëel gebied werd betwijfeld en daarom stelde
men hem moeilijke en zeer bindende voorwaarden, waardoor hij en
zijn werk altijd vast lagen in handen van de firma.
Hij nam die voorwaarden aan zonder zich te bedenken; hij was zóó
zeker van zijn zaak!
Zondags, als er niet werd gewerkt, was het een dag van het meest
volkomen epicurisme, slechts afgewisseld door wandelingen ’s
morgens en rijtoertjes ’s middags en ’s avonds. Met dat al verdiepten
zich Van Brakel en zijn schoonvader zoo dapper in de spiritualiën,
dat de laatste er sufferig onder werd; de ijzeren natuur van den
ingenieur bood als altijd weerstand en hoeveel hij ook dronk des
avonds,—klokke vijf den anderen morgen was hij weer op het werk,
net als in ’s lands dienst.
Dan zette hij er gang in. Er moest, zoo was de afspraak met de
geldschietende firma, een huis worden afgemaakt en verkocht; dat
was niet alleen goed voor ’t geld, maar het stond [257]flink voor de
commanditairen in Europa; die zagen dan, dat er wat binnenkwam.
Toen daar het eerste huis stond, niet te groot, keurig net, met
marmer bevloerd, doelmatig ingedeeld en van alle gemakken
voorzien, kwamen belanghebbenden kijken, want het was te koop
geannonceerd.
Daar zouden zij dan weer komen, midden in de wereld, die hen had
uitgestooten; terug in de kringen, die zich voor hen [258]hadden
gesloten, in het gezelschap van hen, die hun gezelschap hadden
vermeden.
Van Brakel glom van trots en genoegen. Met een glimlach vol
zelfvoldoening om den mond en schitterende oogen liep hij met
groote stappen in ’t voorgalerijtje op en neer.
Zij moesten alles nieuw hebben en hij was niet meer gewoon aan
min of meer voornaam gezelschap in „pakean deftig.”
Het liep echter uitmuntend af. Menschen, die hem in geen maanden
hadden gegroet, spraken hem aan alsof ze voortdurend met hem in
de beste verstandhouding hadden verkeerd; dames, die Lucie van
vroeger kende, behandelden haar als zusters en verzekerden hoe
gelukkig ze waren, dat nu alles zóó geschikt was.
Wat ze meenden, wist Lucie niet goed, maar ze vond het heerlijk. En
ze danste ook weer, al was het niet zooveel als [259]vroeger toen
Herman nog in dienst was en inferieuren had.
Ceciel had een halven nacht besteed aan het nagaan der
verantwoording. [260]
„Je moet het geld vooral solied beleggen,” zei ze, toen het niet in de
zaak mocht blijven.
„Wat zou het, Jules? Maar als de zaak eens fout ging!”
„A l l o n s ! ” spotte hij. Welk een gek idee had ze daar! „Als de heele
zaak, zooals die nu staat, de zwaarste klappen kreeg, heeft papa
nog persoonlijk fortuin genoeg om à p a r i te liquideeren.”
„Het is mogelijk, maar i k heb het niet op zaken. Ik heb liever solide
staatspapieren, waarvoor men n o o i t bang heeft te zijn. Kom Jules,
doe het maar.….”
En ofschoon hij er maar weinig zin in had, deed hij het ten slotte toch
op haar aandringen.
„Maar.….…”
„Dat zal ik ook niet. We gaan, net als pa zegt, een dag vroeger naar
de naaste havenplaats, waar Jules een vriend heeft, wien hij nog
zoo graag de hand zou drukken. ’s Avonds te voren komen wij
afscheid nemen, met een reiswagen voor de deur, en ’s nachts gaan
we met een tambangan naar boord.”
’t Beviel Jules Geerling maar half. H i j zag er nu zoo’n kwaad niet in,
dat mevrouw Du Roy met veel tranen afscheid nam. Welke haan zou
in Amsterdam, dacht hij, daarnaar kraaien? En dan, hij was nu toch
gebrouilleerd met zijn familie!
Ook het tweede huis, dat Van Brakel had gebouwd, bracht een
fraaien prijs op, maar daarvan werd zooveel notitie niet genomen.
Zij hadden er al eens ruzie over gehad; hij verweet haar dat ze
spilziek was; dat ze vroeger niet het vierde gedeelte gebruikte van
de dranken, die thans werden geschonken. Maar zij was sterk; zij
had een sociëteitsrekening van over de honderd gulden in zijn zak
gevonden en daarmee gewapend, bestreed zij hem.
„Nu maar; er moet toch een eind aan komen,” zei hij later. „Ik zal van
mijn kant ook wat inkrimpen.”
„Je mocht waarlijk wel het voorbeeld geven. Jij verteert met je
homberen, je sociëteit, je havana’s, je paarden en aan je verdere
verteringen, meer alléén dan wij met het geheele huishouden.”
Dien avond aan tafel stond hij als gewoonlijk na het dessert dadelijk
op en nam zijn hoed.
Toen hij weg was, stak de oude Drütlich een groote pijp op en begon
bier te drinken, waarbij Lucie hem met een glas likeur gezelschap
hield. De eene flesch bier volgde de andere tot Drütlich vond, dat het
tijd werd om over te gaan tot [263]een brendy-soda en Lucie meende,
dat het uur van slapen was aangebroken.
Wat kon ’t hem schelen! Bovendien, hij wist dat Drütlich in zijn
goeden tijd voor hem ook steeds royaal was geweest en daarmede
nam hij dus genoegen. Maar dien nacht kwam hij erg laat thuis; hij
had heel veel gedronken en was ook voor zichzelven zwaar op de
hand. Onderweg mopperde hij in zijn eentje over de quaestie, die hij
met Lucie had, en voor de eerste maal rekende hij het haar aan als
een soort van verwijt, dat haar vader bij hen aan huis woonde. Toen
hij uit zijn wagen stapte, achter op het erf, voelde Van Brakel, dat zijn
gang eenigszins waggelend was en niet zonder eenige moeite klom
hij de trappen op naar de achtergalerij, waar één lampje brandde.
De huizen vonden niet langer dien aftrek. Men had niet gerekend op
het gering aantal menschen in staat en genegen om te koopen. De
Chineezen hadden k o n g s i gemaakt. Waarom zouden zij zich
haasten nu te koopen voor veel geld? Zij zouden hun beurt
afwachten.
Drie, vier huizen gingen goed van de hand, maar toen was het uit.
Op het vijfde werd te weinig geboden; het werd niet gegund en stond
nu daar met een bordje er aan, vermeldend, dat het te huur was of te
koop.
Doch het toeval trof, dat iedereen goed was voorzien en daar de
huurprijs van het nieuwe huis vrij hoog was, schrikte dit ook de
huurders af.
Intusschen werkte Van Brakel voort, als ging hem dat alles niet aan,
schoon hij inwendig zeer ongerust was; als hij op ’t kantoor kwam
om geld te halen, dan kreeg hij het, maar ’t ging niet van harte en hij
moest allerlei klaagliederen aanhooren en zinspelingen op een
speculatie, die dreigde te mislukken; op goed geld, dat naar kwaad
geld werd geworpen; op mooie, maar niet geheel te verwezenlijken
plannen enzoovoort.
Het werd elken keer erger. Telkens kreeg hij, wat hij [265]noodig had
om te kunnen werken, maar telkens onwilliger.
Van Brakel werd verzocht in een aparte kamer te komen; men ging
zitten en een van de firmanten, zijn bedenkelijk gezicht bewarend,
begon met hem te zeggen, dat het hun verschrikkelijk speet; dat zij
niets liever hadden gedaan dan dóórwerken, maar dat zij er reeds
veel geld hadden ingestoken en dat zij voorzagen er, bleven zij
voortwerken, nog veel meer te moeten insteken.
„Die is er af getrokken.”
„Het is toch zoo. Maar we dachten wel, dat je het niet zoudt
begrijpen; hier is de rekening.”
Van Brakel kreeg een papier met „Aan’s” en „Per’s” waarvan hij
weinig of niets begreep. Hij zag er getallen op staan van zes cijfers,
waarmede, zoo zei men ter toelichting, hij zich niet behoefde te
bemoeien; dat betrof alleen de boekhouding.
Met een domme uitdrukking op het gelaat, bekeek hij het met zwarte
en roode inktstreepjes bewerkte blauw gelijnde papier.
Hij begreep er niets van dan het eindcijfer, ja, dat zag hij: ’t was over
de dertig mille. Overigens deed de net geschreven rekening-courant
hem denken aan de nota’s, die hijzelf bij gelegenheid indiende
wegens reparaties, met een specificatie van groote en kleine soorten
van spijkers en draadnagels, [266]afmetingen van verwerkt hout
enzoovoort, waaruit evenmin iemand wijs kon worden.
„Ja, het eindcijfer is zoo. Ik kon het me niet voorstellen. Maar dit is,
dunkt me, toch geen reden om er mee uit te scheiden.”
„Voor u niet,” zei een der chefs met een slim lachje, „maar voor onze
firma wel.”
„Toch niet. De huizen zullen hun geld opbrengen. Men moet een
beetje geduld hebben.”
„Voorloopig, ja. Wij zullen zien of we iemand kunnen vinden, die den
boel wil overnemen, zooals hij reilt en zeilt.”
Toen hij ’t kantoor verliet, kon Van Brakel zich het geval [267]eigenlijk
niet best voorstellen. Hij had ’t altijd beschouwd als z i j n bouwerij
en ten slotte bleek, dat hij in ’t geheel geen baas was geweest
hoegenaamd; de winst op de verkochte huizen had de firma
opgestoken en hij had gewerkt voor niet eens het traktement, dat hij
zou bedongen hebben als hij het werk eenvoudig voor iemand had
aangenomen.
„Ik heb het wel gedacht,” zei Drütlich, „ik heb het wel gedacht! Zoo
gaat het altijd in de wereld en overal. Laat je dat een troost zijn.”
Lucie nam het zoo kalm niet op. Zij was woedend en schold op
dezelfde menschen, die ze eerst zoo dankbaar was; ze waren
„dieven” en Van Brakel was een domme vent. Ze schold zoo lang tot
hij ook boos werd, en beiden, opgewonden, elkaar allerlei verwijten
deden en uitmaakten voor al wat leelijk was.
Eerst ’s avonds dronken zij het af, waaraan ook Drütlich meedeed,
schoon hij eigenlijk niets af te drinken had.
„Eer ik nu toch voor zoo’n intensen ploert werkte,” zei Van Brakel,
„schoot ik me liever dood.”
„Je moet ’t zelf weten,” meende Drütlich. „De vent z’n geld is net zoo
goed als dat van een ander.”
„Ik kan mij toch niet feitelijk onder zoo’n schurk stellen?”
„Dat is ook niet noodig. Het is geen zaak van onder of boven. Je
krijgt geld voor je werk. Daarmee is het uit.”
„Ze hebben je bij ’t lijf gehad,” zei Drütlich verder. „Ik heb ’t je
gezegd: ze doen het altijd. Spreek er een advocaat over.”
„Waarover?”
Van Brakel volgde dien raad, en inderdaad liet de firma, om van alle
soesah af te wezen, naar zij verklaarde, en uit medelijden met Van
Brakels toestand, zich door diens advocaat tot een uitkeering in geld
overhalen. Maar nu ook, werkte zij hem geregeld tegen. Wat hij ook
beproefde—nergens vond hij meer eenig werk te doen. En terwijl het
beetje [269]beschikbare geld hun door de vingers gleed, twistten zij
elken dag, en werd het huiselijk leven voortdurend ondraaglijker.
Toch hielden zij het nog maanden vol, tot ook het krediet geheel was
uitgeput.
Iedereen behandelde hem nog als een „heer”,—hij was immers een
gediplomeerd man; men had innig medelijden met zijn
omstandigheden; daarbij bleef het. Stuk voor stuk, dat waarde had,
verdween intusschen uit zijn huis, en binnen enkele maanden lag de
boel, zooals hijzelf zei, voor den grond. Moedeloos en verslagen,
huilde Lucie elken dag, tot zij haar leed verzette en meedronk met
haar vader. Als Van Brakel, die langzamerhand tot de jenever bij
Chineezen was afgedaald, dan terugkwam van een vruchteloozen
tocht om werk, was hij drie-kwart dronken, en Lucie en haar vader
waren ook niet normaal. Dan dronken zij voort, eerst elkaar
troostend, tot de demon der tweedracht over hen kwam en een
heftig krakeel losbrak.
Tien palen buiten de stad liet die een huis zetten voor den
administrateur zijner rijstlanden. Van Brakel zou slechts het toezicht
houden voor honderd en vijftig gulden in de maand.
Nabij een desa in de buurt, waar het huis moest worden gebouwd,
had Van Brakel een kleine houten woning gehuurd. Die meubelden
zij met hun bedden, tafels en stoelen, een paar kasten en eenige
lampen; zoo eenvoudig mogelijk.
Ook zoo onverschillig mogelijk,—want het kon Lucie niets meer
schelen. Als zij maar in een luierdstoel kon liggen, met wat te
drinken naast zich, de oude heer om gezelschap te houden, en de
kinderen, smerig en half gekleed, om nu en dan tegen te
schreeuwen, als ze leven maakten, dan kon de rest haar niets
hoegenaamd meer schelen.
Zoo trok hij uit, al heel vroeg in den morgen, de dampen van den
sterken drank des vorigen avonds nog in het hoofd en een pas
werkenden ochtenddronk in de maag. [271]
Ja, dat was toch heel anders dan hier de dreun volgens die andere
gamelan toonladder, dreinend en sleepend.
Hidong, hidong.
Kapal api loeda amboong
Oleh, oleh.… oleh.… Boem!
Maar ’t was toch eigenlijk ’t zelfde. Hij had altijd zooveel gehouden
van al wat tot bouwen, timmeren en metselen in betrekking stond. ’t
Was thuis aangemoedigd: hij was bestemd voor het
ingenieursvak.… Toen hij „er door” was, huilde mama van vreugde.
Ze moest ’t nu eens kunnen zien! Gelukkig was ze dood.… Dat
heien toch.… heel anders hier! Wat trekken de poldergasten in
Holland flink, en hoe vroolijk zingt de baas, als het n i v e a u haast is
bereikt, zijn:
[272]
Boem! sloeg het op ’t blok vóór hem. Hè, dat viel nu al heel komiek!
En zachtjes neuriede hij, al voortdommelend mee met den
inlandschen heibaas:
Api abang.
Api-nja abang.
Olah, olah,—olah!
„Nu,” zei deze, even schor lachend als hij sprak. „Je hoeft me zoo
vervaarlijk niet aan te kijken, omdat ik je „mandoer” noemde; ’t was
maar uit gekheid, ofschoon je toch anders mandoers-werk doet.
Houd asjeblieft je oogen open, dat is alles!”
Uit een fleschje, dat hij in een zak van zijn kabaja droeg, nam hij een
flinke teug, kurkte het weer en smakte met de lippen. „Mandoer! Ook
goed!” herhaalde hij, en keek naar ’t werk.