GNU/Linux Desktop Survival Guide
by Graham Williams
20190205 Linux has a wealth of powerful command line tools dating from the 1970's. Indeed, a key philosophy of the Unix and the Linux operating systems, but less so for the Microsoft/Windows operating system, is that tools should focus on a specific task and collaborate together. In the end, but only after decades of conflict, this philosophy won out over the greedy philosophy of building all encompassing applications that do not cooperate with other applications. Such applications would tend to lock the user in to their single all encompassing environment.
In this chapter we present the command line tools through basic tasks that we will find ourselves commonly performing. For any particular task we may call upon a collection tools to work together. We will also identify alternative tool combinations that achieve the same task. Ideally we present the most efficient and most effective solution for any particular task.
Useful command line tools include bash, awk, cat, rename, and many more.
For many of the more extensive tools that have been developed for Linux we will devote a chapter to the tool itself. Many of these have mimicked the closed source commercial offerings (e.g, gimp and libreoffice), or are complete ecosystems within themselves (e.g., R and LaTeX).