Harness the Combinatoric Power of Command-Line Tools and Utilities.
https://pragprog.com/book/bhcldev/small-sharp-software-tools
Table of Contents
- Preface
- A Tale of Many CLIs
- What’s In (and not in) This Book
- How to Use This Book
- Online Resources
- Getting Your Feet Wet
- Accessing the Command-Line Interface
- Getting Your Bearings
- Creating and Reading Files
- Redirecting Streams of Text
- Creating Directories
- Going Home
- Using Autocompletion
- Elevating Privileges
- Installing Additional Programs with a Package - Manager
- Downloading Files
- Read the Friendly Manual
- Useful Shortcuts
- Your Turn
- What You Learned
- Creating an Ubuntu Virtual Machine with VirtualBox
- Creating a New Virtual Machine
- Configuring a Network
- Installing the Guest Operating System
- Working with Snapshots
- Installing Software with the Package Manager
- Improving Performance by Installing Guest - Additions
- Your Turn
- What You Learned
- Navigating the Filesystem
- Listing Files and Directories
- Navigating Files and Folders
- Switching Between Directories
- Finding Files
- Identifying Available Disk Space
- Your Turn
- What You Learned
- Working with Files and Directories
- Creating Files
- Reading Larger Files
- Creating Directories
- Copying, Moving, and Deleting Files and - Directories
- Managing File and Directory Permissions
- Working with Links
- Getting More Information About Filesystem Objects
- Your Turn
- What You Learned
- Streams of Text
- Redirecting Input and Output with File Descriptors
- Splitting Streams with tee
- Handling Standard Error Streams
- Filtering with grep
- Removing Characters from Output with cut
- Sorting Output
- Editing Streams with sed
- Advanced Processing with awk
- Using xargs
- Your Turn
- What You Learned
- The Shell and Environment
- Exploring Environment and Shell Variables
- Editing Text with GNU nano
- Customizing Your Shell Session
- Creating Shortcuts with Aliases and Functions
- Creating Keyboard Shortcuts
- Modifying Readline Behavior
- Your Turn
- What You Learned
- Running and Managing Programs
- Working with Commands
- Reusing Previous Commands and Arguments
- Managing Processes and Jobs
- Terminating Processes
- Using Command Substitution
- Keeping Commands Running with GNU Screen
- Your Turn
- What You Learned
- Networking Tools
- Getting Your Connection Information
- Finding Information About Domain Names
- Testing Network Connectivity
- Making Web Requests with cURL
- Working with Web APIs
- Using Secure Shell to Connect to Remote Machines
- Transferring Files
- Exploring Network Connections
- Using Netcat
- Your Turn
- What You Learned
- Automation
- Automating Tasks with make
- Writing Bash Scripts
- Automating Your Workstation Setup
- Your Turn
- What You Learned
- Additional Programs
- Working with Text and Files
- Managing Your Environment
- Working with Data and External APIs
- Wrapping Up
- Command Quick Reference
- Installing GNU Utilities on macOS
- Installing coreutils
- Installing diffutils and findutils