This book delivers what the title states: It describes the 101 most important UNIX and Linux commands and system calls. The book bridges the gap between on-line tutorials and manual pages on one hand, and books of 1,000 pages or more that explore the nuances of many shell commands in exhaustive detail. While most of these sources provide excellent information, they do not really solve the plight of the novice user, nor do they fully answer the questions that more experienced, and even expert, users often have. ...
This book delivers what the title states: It describes the 101 most important UNIX and Linux commands and system calls. The book bridges the gap between on-line tutorials and manual pages on one hand, and books of 1,000 pages or more that explore the nuances of many shell commands in exhaustive detail. While most of these sources provide excellent information, they do not really solve the plight of the novice user, nor do they fully answer the questions that more experienced, and even expert, users often have. Much of the complexity of UNIX and Linux, and much of the difficulty faced by users is caused by the extremely large and rich set of shell commands, many of which have a very large set of allowable options that, while useful in certain circumstances, often provide more frustration than help because of their complexity. Many UNIX and Linux system calls are also complex, and have interactions that can be rather difficult for many programmers.
The many variants of UNIX cause additional difficulties. Even Linux has multiple variants: there are often subtle differences in the Linux implementations by Red Hat (Fedora), Ubuntu, SUSE, and Debian. For example, one of my recent senior students had a major project that required using a particular “Linux” software application containing a particular language’s character set and grammar. The software would not work (indeed, it would not even install properly) on three of the most common Linux implementations!
Our approach is to focus on a smaller set of commands and system calls – the ones that are most important. For each of these, only the most useful of the many options are described.
As a professor, I taught operating systems in general, and UNIX in particular, for over twenty-five years. As the author of the book Advanced Topics in UNIX, which was selected as a main selection on UNIX by the Newbridge Book Club, and Advanced Topics in UNIX, Second Edition (available electronically on this ebook platform), I had to make choices in what I presented and how I presented it. Finally, as an analyst/consultant on many different applications in multiple UNIX and Linux systems, I had to make choices based on the quality of the source code, and on its performance and maintainability.
I am confident that I have made the correct choices in selecting which of the many shell commands, system calls and options to discuss in this book and at what level they should be discussed. I hope you agree.
Ronald J. Leach recently retired as Professor and Chair Emeritus from the Department of Systems and Computer Science at Howard University, where he had taught since 1969. He received the B.S., M.S., and Ph.D. degrees from the University of Maryland at College Park and the M. S. degree in Computer Science from Johns Hopkins University. His research interests include distributed systems, performance modeling and capacity planning; and most areas of software engineering, especially software reuse, fault-tolerance, and software performance measurement and their empirical foundations. Much of this book is based on his 27 years of UNIX experience as a researcher in fault-tolerance; a teacher of operating systems, emphasizing UNIX; and as a consultant, who has analyzed hundreds of thousands of lines of UNIX code.
Some of his current work includes the application of computing to the social sciences, especially in the area of name matching within historical documents, using both his computer search skills and genealogical knowledge. He is a frequent member of ABET site visit teams. He is an experienced cruise ship lecturer, with special emphasis on identity theft and computer forensics. He also lectures to other groups.
Ron Leach is the author of seven print books: "Using C in Software Design," Academic Press Professional,"Advanced Topics in UNIX," John Wiley; "Object-Oriented Design and Programming in C++," Academic Press Professional, Software Reuse: Methods, Models, and Costs," McGraw-Hill, "Introduction to Software Engineering," CRC Press, "Genealogy for the Information Age," Disruptive Publishing, and "Relative Genealogy," Disruptive Publishing. He has published two books on the subject of identity theft: "Twelve and a Half Steps to Avoid Identity Theft," as an ebook, and "Identity Theft in the Cyber Age," which is available as both an ebook and in print. Revised editions of many of these are available as ebooks.
Dr. Leach has offered technical training and seminars on software reuse, reengineering, and testing on three continents. He has lectured on a variety of other topics between continents! He is also the author or co-author of more than one hundred technical papers. In his spare time, he is the co-Editor of the Maryland Genealogical Society Journal and is webmaster for its newly designed website.