Beginning the Linux Command Line, Second edition (2015)
This book is for anyone who wants to master Linux from the command line. When writing it, I had in mind system administrators, software developers, and enthusiastic users who want to get things going from the Linux command line. For beginning users, this may be a daunting task, as Linux commands often have many options documented only in man pages that are not that easy to understand.
This book is distribution agnostic. That is, while writing it, I’ve checked all items against Ubuntu, Red Hat, and SUSE. Since most distributions are quite similar to one of these three, this book should help you with other distributions as well. There is only one item in the book that is not distribution agnostic: the Appendix, which explains how to install either CentOS or Ubuntu.
The book begins with an introduction to exactly what I’m talking about when discussing Linux and its different appearances: the distributions. In Chapter 1, you’ll also find essential information on how to log on to the computer and how to find out more about the way a command should be used. Chapter 2 follows with some essential Linux commands. After reading this chapter, you’ll already start to feel at ease on the Linux command line; among other things, it teaches you how to work with files and directories and how to communicate with other users. Chapter 3 moves the focus to one of the most important tasks you’ll perform when working with Linux: working with files. In this chapter, you’ll learn not only how to copy files and make directories, but also how to mount devices to your Linux system.
Working with Linux from the command line means working with text files. In Chapter 4, you’ll learn about the tools that are at your disposal to do this. You’ll get familiar with some of the classic tools, such as find and grep, and also with some of the more advanced tools, such as awk and sed. Following that, in Chapter 5 you’ll learn more about partitions, logical volumes, and other advanced file system management tasks. After reading this chapter, you’ll start feeling at ease on the Linux command line. Chapters 6 and 7 move on to two other essential subjects: the management of users and permissions.
Chapter 8 covers a topic that seems to be handled differently by all the Linux distributions: software management. This chapter teaches you about generic ways to install and manage software packages, such as rpm and dpkg, and also about some of the distribution- specific ways to deal with these tasks, such as apt-get, rpm, and zypper. Chapters 9 and 10 cover tasks that are important for system administration. In these chapters, you’ll learn how to manage processes and how to handle logging on your computer.
By the time you reach Chapters 11 and 12, you’re ready to explore network-related tasks. In these chapters, you’ll learn how to configure a network interface and how to set up the Samba and NFS file services. Chapters 13 and 14 cover two advanced but useful topics: kernel management and shell scripting. After you finish the last chapter, you’ll have all the knowledge you need to work with Linux from the command line.
In Appendix B you’ll find some additional exercises, which help making this book an excellent study guide that can be used in classroom environments.
I hope you enjoy reading this book and that it prepares you for getting things done from the Linux command line!