Linux and UNIX are a lot of fun
I’ve been compiling software for over a decade. The earliest Linux kernel I have ever supported was a whopping version 1.6. And over the years my systems have given use to well over 20 distributions. From Slitaz and Grey Cat, through Puppy, Mandriva, Tiny Core, and all the way to Red Hat and Fedora. Linux has so much to offer; anything involving data and you will likely find some project using it. Over the years, there are a few books I keep coming back to. There are also new books which I have also been going through as well. All the way from assembly, to C, and Linux CLI. So why not go over a few.
Using UNIX and Linux
This book goes over almost anything you need to know regarding Bash and Linux shell scripting. The first time I read this book was in 2008, and it is still an immensely useful reference today. It is also great to have as a PDF to do searching in. This book teaches the basics of the Linux command line. It also teaches shell scripting at a fairly intimate level, including loops files, functions, user input, text editing, and process management. When I find myself going through bash scripts that I want to customize and something is not quite clear, I can generally dive into this book and find my way out of the bash bug.
The UNIX System User’s Manual is also known as the MAN pages. This is one of the early releases of the book, and used to be a core survival tool in the UNIX world. When systems were more primitive and had less than 64MB of RAM, this book was helping many administrators and users go about their day without having to lean over and ask for help. This book is also an early equivalent to the man command, from long ago. Nostalgic, yet highly functional, and still useful to this day.
The UNIX and Linux System Administration handbook is a great tool for managing Linux and UNIX systems. It teaches networking, drive management, system installs, and so much more. The book is over 1200 pages of pure reference material. I used to constantly go through this for drive partitioning and systems recovery; I could almost always find a way out of a difficult Linux or UNIX situation with the help of this book. Topics covered by this book include (but not limited to): ACLs, Storage, Job Scheduling, Backups, Syslog, Software Installation, Drivers and the Kernel, TCP/IP networking, routing, network hardware, DNS, NFS, Shared filesystems, Email, Network Management, Security, and more.
Other Great Links
C Programming in UNIX and Linux
This book is possibly one of the most important Linux and UNIX books I have ever read, worked through, and done every coding example there within. This book has taught me more about how the Linux OS and kernel works than most books. And when it comes to writing Linux or UNIX programs in C, I have yet to find a better reference for USENIX C and POSIX C. This book was written by Richard Stevens, an impressive author with years and years of experience. The book is over 700 pages and covers topics like standards, files, directories, standard I/O, system data files and information, the environment of a Unix process, process control, signals, terminal I/O, and more. Also, there are a great number of source files which come with the publication and are available for download here.
Are you new to C? Have you not constructed a program before using this language? This may be a book for you. It teaches the very essence of C, through program examples and source code. It also teaches you how to write a calculator and a few other tools. The book is a little over 260 pages, but well worth the read. I own both the first and second editions on my shelf. Fun to re-read and re-code too.
An introductory tutorial or class text and a reference for experienced programmers. Revised from the 1990 edition by using ANSI C for all examples, expanding and rearranging much of the material, dropping the explanation of UNIX, describing the Posix interface, some terminology change, and covering several new topics. It has also been divided into at least three volumes; the second probably on IPC: interprocess communications and the third on applications. Annotation c. by Book News, Inc., Portland, Or.
Presents a comprehensive guide to every form of IPC, including message passing, synchronization, shared memory, & Remote Procedure Calls (RPC). Text contains extensive new source code – all carefully optimized & available on the Web. DLC: Unix (Computer file).
This book is the reference for the C++ programming language. Written on very thin paper, and loaded with dense amounts of information. Did you ever want to override the Vector object in C++ and provide your own? You can do that. Do you want to learn STL and the foundations of C++? You can do that with this book.