Back

Linux, the Good Stuff by No Starch

Books
17
Days Left
19
Get Bundle on Humble Bundle
No Starch Press
Electronic Frontier Foundation
Cover of Black Hat Bash

Black Hat Bash

Nick Aleks and Dolev Farhi

Master the art of offensive bash scripting. This highly practical hands-on guide covers chaining commands together, automating tasks, crafting living-off-the-land attacks, and more! In the hands of the penetration tester, bash scripting becomes a powerful offensive security tool. In Black Hat Bash, you’ll learn how to use bash to automate tasks, develop custom tools, uncover vulnerabilities, and execute advanced, living-off-the-land attacks against Linux servers. You’ll build a toolbox of bash scripts that will save you hours of manual work. And your only prerequisite is basic familiarity with the Linux operating system. You’ll learn the basics of bash syntax, then set up a Kali Linux lab to apply your skills across each stage of a penetration test—from initial access to data exfiltration. Along the way, you’ll learn how to perform OS command injection, access remote machines, gather information stealthily, and navigate restricted networks to find the crown jewels. Hands-on exercises throughout will have you applying your newfound skills. Key topics covered include: Bash scripting essentials: From control structures, functions, loops, and text manipulation with grep, awk, and sed. How to set up your lab: Create a hacking environment with Kali and Docker and install additional tools. Reconnaissance and vulnerability scanning: Learn how to perform host discovery, fuzzing, and port scanning using tools like Wfuzz, Nmap, and Nuclei. Exploitation and privilege escalation: Establish web and reverse shells, and maintain continuous access. Defense evasion and lateral movement: Audit hosts for landmines, avoid detection, and move through networks to uncover additional targets. Whether you’re a pentester, a bug bounty hunter, or a student entering the cybersecurity field, Black Hat Bash will teach you how to automate, customize, and optimize your offensive security strategies quickly and efficiently, with no true sorcery required.

show more
No Starch Press
Cover of The Book of Kubernetes

The Book of Kubernetes

Alan Hohn

This hands-on guidebook to the inner workings of containers peels back the layers to provide a deep understanding of what a container is, how containerization changes the way programs run, and how Kubernetes provides computing, networking, and storage. Containers ensure that software runs reliably no matter where it’s deployed, and Kubernetes lets you manage all of your containers from a single control plane. In this comprehensive tour of the open-source platform, each chapter includes a set of example scripts with just enough automation to start your container exploration with ease. Beginning with an overview of modern architecture and the benefits of orchestration, you'll quickly learn how to create containers; how to deploy, administer and debug Kubernetes clusters all the way down to the OS; and how container networking works at the packet level across multiple nodes in a cluster.

show more
No Starch Press
Cover of Building a Debugger

Building a Debugger

Sy Brand

Master the inner workings of your x64 Linux system and expand your OS expertise by writing your very own debugger using C++. If debuggers seem like magic to you, there is no better way to demystify them than to write your own. This book will show you exactly how to do it, walking you through the entire process of building a debugger for x64 Linux systems using C++. As go from an empty filesystem folder to a fully fledged debugger capable of setting breakpoints, stepping through code, manipulating variables, and more, you’ll learn how to: Attach to a process Read and write to registers Set hardware and software breakpoints Output disassembly Support multithreading and other tasks As you add features to your debugger, you’ll also pick up a wealth of knowledge about operating systems, compilers, software testing, and low-level programming that you can use in your day-to-day development.

show more
No Starch Press

EARLY ACCESS PREVIEW: Heavy Wizardry 101

David Martínez Oliveira, aka Pico

No Starch Press

EARLY ACCESS PREVIEW: The Linux Memory Manager

Lorenzo Stoakes

No Starch Press
Cover of Effective Shell

Effective Shell

Dave Kerr

Master the tools. Build the workflow. Own the shell. Effective Shell is the hands-on guide for developers who want to master the command line—not just to get around, but to build a fast, flexible, and portable development environment. This isn’t a tour of shell commands. It’s a blueprint for creating workflows that scale across machines, teams, and projects. You’ll go from keystroke-level efficiency to composing powerful pipelines, writing reliable scripts, and automating common development tasks. Then you’ll take it further: managing your configuration with Git, customizing your shell setup, and working seamlessly across remote sessions using tools like Vim and tmux. By the end, your shell won’t just be a tool; it’ll be an extension of your thinking. You’ll learn how to: Find, filter, and reshape data using grep, regular expressions, and shell pipelines Write scripts that automate setup, configuration, and repetitive tasks Create Python-based CLI tools to pull and process structured data Manage your environment with Git and version-controlled dot files Edit quickly with Vim and multitask efficiently using terminal multiplexers Use AI tools to generate commands, debug faster, and enhance automation Rather than prescribing a one-size-fits-all toolkit, Effective Shell teaches you the tools, practices, and strategies to build a shell environment that fits the way you work—efficient, portable, and entirely yours. Whether you’re leveling up from the basics or refining your craft, this book will help you think clearly, automate confidently, and work more effectively in the shell.

show more
No Starch Press
Cover of How Linux Works, 3rd Edition

How Linux Works, 3rd Edition

Brian Ward

Best-selling guide to the inner workings of the Linux operating system with over 50,000 copies sold since its original release in 2014. Linux for the Superuser Unlike some operating systems, Linux doesn’t try to hide the important bits from you—it gives you full control of your computer. But to truly master Linux, you need to understand its internals, like how the system boots, how networking works, and what the kernel actually does. In this third edition of the bestselling How Linux Works, author Brian Ward peels back the layers of this well-loved operating system to make Linux internals accessible. This edition has been thoroughly updated and expanded with added coverage of Logical Volume Manager (LVM), virtualization, and containers. You'll learn: How Linux boots, from boot loaders to init (systemd) How the kernel manages devices, device drivers, and processes How networking, interfaces, firewalls, and servers work How development tools work and relate to shared libraries How to write effective shell scripts You’ll also explore the kernel and examine key system tasks inside user-space processes, including system calls, input and output, and filesystem maintenance. With its combination of background, theory, real-world examples, and thorough explanations, How Linux Works, 3rd Edition will teach you what you need to know to take control of your operating system. NEW TO THIS EDITION: Hands-on coverage of the LVM, journald logging system, and IPv6 Additional chapter on virtualization, featuring containers and cgroups Expanded discussion of systemd Covers systemd-based installations

show more
No Starch Press
Cover of Linux Basics for Hackers, 2nd Edition

Linux Basics for Hackers, 2nd Edition

OccupyTheWeb

A revised introduction to the Linux operating system for beginning hackers and penetration testers. If you’re just getting started along the exciting path of hacking, cybersecurity, and pentesting, Linux Basics for Hackers is an excellent introduction. With Kali Linux, an operating system designed for digital forensics and penetration testing, you’ll learn the basics of using Linux and acquire the tools and techniques you’ll need to take control of a Linux environment. First, you’ll learn how to install Kali on a virtual machine and get an introduction to basic Linux concepts. Next, you’ll tackle broader Linux topics like manipulating text, controlling file and directory permissions, and managing user environment variables. You’ll then focus on foundational hacking concepts like security and anonymity and learn scripting skills with bash and Python. Practical tutorials and exercises throughout will reinforce and test your skills as you learn how to: Cover your tracks by changing your network information and manipulating the journalctl logging utility Write a tool to scan for network connections, and connect and listen to wireless networks Keep your internet activity stealthy using Tor, proxy servers, VPNs, and encrypted email Write a bash script to find potential attack targets over a range of IP addresses Use and abuse services like MySQL, the Apache web server, and OpenSSH Build your own hacking tools, such as remote spy cameras and password crackers New to this edition: This second edition has been updated to address recent changes to Kali and Linux, including a more secure approach to root privileges, updates to Bluetooth and Linux logging functions, and a new chapter with advice on AI in cybersecurity. Hacking is complex, and there is no single way in. Why not start at the beginning with Linux Basics for Hackers?

show more
No Starch Press
Cover of The Linux Command Line, 3rd Edition

The Linux Command Line, 3rd Edition

William Shotts

Banish Your Mouse. The Linux Command Line isn’t just a reference manual. It’s a complete education on how Linux really works. From your first tentative keystrokes to writing powerful shell scripts, you’ll build the confidence and understanding to make your system work for you. Now in its third edition, this best-selling guide has been fully updated with modern examples, nearly 40 pages of new content, and downloadable scripts from LinuxCommand. Used in more than a thousand classrooms and libraries worldwide, it has helped over 150,000 readers gain fluency and confidence in Linux. Author and command line guru William Shotts delivers not just commands, but genuine insight, guided by his philosophy: Make everything as simple as possible, but no simpler. Through short, digestible chapters, you’ll learn to: Navigate the filesystem, manage files, and configure your environment Chain commands, redirect input/output, and use regular expressions Control processes, manage packages, and work with networking tools Edit text with Vim Write shell scripts to automate tasks and build custom tools Use core utilities like grep, cut, sed, and tar to process data Manage filesystems and compile programs from source Whether you’re managing servers, studying cybersecurity, or just curious about your computer, The Linux Command Line gives you the knowledge to command your system with confidence.

show more
No Starch Press
Cover of Linux Firewalls

Linux Firewalls

Michael Rash

System administrators need to stay ahead of new security vulnerabilities that leave their networks exposed every day. A firewall and an intrusion detection systems (IDS) are two important weapons in that fight, enabling you to proactively deny access and monitor network traffic for signs of an attack. Linux Firewalls discusses the technical details of the iptables firewall and the Netfilter framework that are built into the Linux kernel, and it explains how they provide strong filtering, Network Address Translation (NAT), state tracking, and application layer inspection capabilities that rival many commercial tools. You'll learn how to deploy iptables as an IDS with psad and fwsnort and how to build a strong, passive authentication layer around iptables with fwknop. Concrete examples illustrate concepts such as firewall log analysis and policies, passive network authentication and authorization, exploit packet traces, Snort ruleset emulation, and more with coverage of these topics: –Passive network authentication and OS fingerprinting –iptables log analysis and policies –Application layer attack detection with the iptables string match extension –Building an iptables ruleset that emulates a Snort ruleset –Port knocking vs. Single Packet Authorization (SPA) –Tools for visualizing iptables logs Perl and C code snippets offer practical examples that will help you to maximize your deployment of Linux firewalls. If you're responsible for keeping a network secure, you'll find Linux Firewalls invaluable in your attempt to understand attacks and use iptables—along with psad and fwsnort—to detect and even prevent compromises.

show more
No Starch Press

Practical Forensic Imaging

Bruce Nikkel

No Starch Press
Cover of Practical Linux Forensics

Practical Linux Forensics

Bruce Nikkel

A resource to help forensic investigators locate, analyze, and understand digital evidence found on modern Linux systems after a crime, security incident or cyber attack. Practical Linux Forensics dives into the technical details of analyzing postmortem forensic images of Linux systems which have been misused, abused, or the target of malicious attacks. It helps forensic investigators locate and analyze digital evidence found on Linux desktops, servers, and IoT devices. Throughout the book, you learn how to identify digital artifacts which may be of interest to an investigation, draw logical conclusions, and reconstruct past activity from incidents. You’ll learn how Linux works from a digital forensics and investigation perspective, and how to interpret evidence from Linux environments. The techniques shown are intended to be independent of the forensic analysis platforms and tools used. Learn how to: Extract evidence from storage devices and analyze partition tables, volume managers, popular Linux filesystems (Ext4, Btrfs, and Xfs), and encryption Investigate evidence from Linux logs, including traditional syslog, the systemd journal, kernel and audit logs, and logs from daemons and applications Reconstruct the Linux startup process, from boot loaders (UEFI and Grub) and kernel initialization, to systemd unit files and targets leading up to a graphical login Perform analysis of power, temperature, and the physical environment of a Linux machine, and find evidence of sleep, hibernation, shutdowns, reboots, and crashes Examine installed software, including distro installers, package formats, and package management systems from Debian, Fedora, SUSE, Arch, and other distros Perform analysis of time and Locale settings, internationalization including language and keyboard settings, and geolocation on a Linux system Reconstruct user login sessions (shell, X11 and Wayland), desktops (Gnome, KDE, and others) and analyze keyrings, wallets, trash cans, clipboards, thumbnails, recent files and other desktop artifacts Analyze network configuration, including interfaces, addresses, network managers, DNS, wireless artifacts (Wi-Fi, Bluetooth, WWAN), VPNs (including WireGuard), firewalls, and proxy settings Identify traces of attached peripheral devices (PCI, USB, Thunderbolt, Bluetooth) including external storage, cameras, and mobiles, and reconstruct printing and scanning activity

show more
No Starch Press
Cover of System Programming in Linux

System Programming in Linux

Stewart N. Weiss

Learn to write real Linux software—not just run it. Most programmers never learn how Linux really works. Why? Because system programming is rarely taught, and the tools can be intimidating without the right guidance. As a result, many developers stick to high-level languages and frameworks—writing code that runs on Linux without understanding how it interacts with Linux. In today’s world, that’s not enough to stand out. Especially as more companies turn to AI to write their software, the question becomes: How do you stay relevant in an AI-driven world? You learn how things really work. If you’ve ever wondered how processes are created, how memory and files are managed, or how programs communicate in a Unix environment, System Programming in Linux will make it all make sense. This is a hands-on guide to writing software that interfaces directly with the Linux operating system. You’ll go beyond shell commands and abstractions to understand what the kernel is doing—and how to leverage it through your own code. Rather than telling you how to solve each problem, Professor Stewart N. Weiss guides you through the process of discovering the solution yourself. Start with the core concepts of Unix and Linux, then work your way up to advanced topics like process control, signals, interprocess communication, threading, and non-blocking I/O. Each chapter includes conceptual diagrams, annotated source code, and practical projects to help you immediately apply what you’ve learned. You’ll explore topics such as: The structure of Unix and Linux operating systems—and why it matters Using system calls to create and manage processes The mechanics of signals, timers, and interprocess communication Using synchronization tools to write multithreaded programs Interacting with filesystems, devices, and terminals Building text-based user interfaces using ncurses Developing programs that are robust, efficient, and portable At Hunter College, Professor Weiss built the course this book is based on, and he has helped thousands of students go from confusion to confidence in his over 40 years of teaching programming. His clear, conversational style; technical depth; and focus on real-world application make this one of the most approachable and powerful system programming books available. As Linux continues to dominate development, server, and embedded environments, understanding the system behind your software isn’t just helpful; it’s essential. Whether you’re a student, developer, or sysadmin, this book gives you the tools to work directly with Linux and the insight to understand what’s really happening under the hood.

show more
No Starch Press
Cover of The Linux Programming Interface

The Linux Programming Interface

Michael Kerrisk

The Linux Programming Interface (TLPI) is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system. In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs. You'll find descriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to: –Read and write files efficiently –Use signals, clocks, and timers –Create processes and execute programs –Write secure programs –Write multithreaded programs using POSIX threads –Build and use shared libraries –Perform interprocess communication using pipes, message queues, shared memory, and semaphores –Write network applications with the sockets API While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms. The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.

show more
No Starch Press

Wicked Cool Shell Scripts, 2nd Edition

Dave Taylor and Brandon Perry

No Starch Press
Cover of The Wireless Cookbook

The Wireless Cookbook

Bill Zimmerman

Learn How to Make Wireless Work Wi-Fi, Bluetooth, and LoRa are technologies that power our world, but building with them isn’t always straightforward. Connections drop, tutorials skip steps, and error messages don’t always help resolve problems. Through a series of hands-on projects using Raspberry Pi and Linux, you’ll learn how wireless systems work, how to control them, and how to build tools that actually function in the real world. Each recipe is self-contained, reliable, and ready to adapt for your own projects. Among the book’s many projects, you’ll build: A BLE audio receiver for high-quality wireless sound A battery-powered LoRa node with miles of range A mesh Wi-Fi network that reroutes itself A signal strength display with a mini TFT screen A wireless intrusion detection system and captive portal Along the way, you’ll build a solid foundation in Linux networking, gain fluency in wireless protocols like 802.11, BLE, and LoRaWAN, and develop the confidence to design and deploy your own solutions. Each recipe is built around a wireless challenge you’re likely to encounter and gives you the tools to solve it. It’s wireless. It’s Linux. And with this book, it finally makes sense.

show more
No Starch Press
Cover of Your Linux Toolbox

Your Linux Toolbox

Julia Evans

The awesome Linux zines you love, now as a fancy box set! Ever wished you could spy on your computer with a handy incantation or bewitch your programs to debug themselves--now you can by becoming a Linux wizard! Okay, reading these zines won't actually make you a wizard, but you'll sure feel like one after you learn some neat Linux tricks. With this collected edition of Julia Evans's wildly popular Linux zines, you'll get super awesome repackaged versions of the zines like: * Networking, ACK! to learn how cat pics teleport from a server to your laptop through the magic of networking * So You Want to be a Wizard, which teaches you how to become a certified programming wizard * Linux Comics to explore the nitty gritty of how IPv6, floating point, and CPU scheduling work * Let's Learn tcpdump! to dump all your network traffic right into your CLI * Linux debugging tools you'll love, so you can get the scoop on things like opensnoop, netcat, and netstat * Spying on Your Programs with strace lets you be a secret agent so you can see what programs your computer is (or isn't!) running * Profiling & Tracing with perf teaches you how much CPU your functions are using Through Julia's insatiable curiosity for all things technical, you'll view programming in a way you never have before--now on fancier paper!

show more
No Starch Press