**You've experienced the shiny, point-and-click surface of your Linux computer--now dive below and explore its depths with the power of the command line.** __The Linux Command Line__ takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command line). Along the way you'll learn the timeless skills handed down by generations of experienced, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore. As you make your way through the book's short, easily-digestible chapters, you'll learn how to: **__\*__ Create and delete files, directories, and symlinks****__Administer your system, including networking, package installation, and process management__****Use standard input and output, redirection, and pipelines**__\*__ Edit files with Vi, the world's most popular text editor****__Write shell scripts to automate common or boring tasks__**** Slice and dice text files with cut, paste, grep, patch, and sed Once you overcome your initial "shell shock," you'll find that the command line is a natural and expressive way to communicate with your computer. Just don't be surprised if your mouse starts to gather dust. Cover Title Copyright Brief Contents Contents in Detail Acknowledgments First Edition Second Edition Introduction Why Use the Command Line? What This Book Is About Who Should Read This Book What’s in This Book How to Read This Book Prerequisites What’s New in the Second Edition Your Feedback Is Needed! Part I: Learning the Shell 1. What Is the Shell? Terminal Emulators Making Your First Keystrokes Command History Cursor Movement Try Some Simple Commands Ending a Terminal Session Summing Up 2. Navigation Understanding the File System Tree The Current Working Directory Listing the Contents of a Directory Changing the Current Working Directory Absolute Pathnames Relative Pathnames Some Helpful Shortcuts Summing Up 3. Exploring the System More Fun with ls Options and Arguments A Longer Look at Long Format Determining a File’s Type with file Viewing File Contents with less Taking a Guided Tour Symbolic Links Hard Links Summing Up 4. Manipulating Files and Directories Wildcards mkdir—Create Directories cp—Copy Files and Directories Useful Options and Examples mv—Move and Rename Files Useful Options and Examples rm—Remove Files and Directories Useful Options and Examples ln—Create Links Hard Links Symbolic Links Building a Playground Creating Directories Copying Files Moving and Renaming Files Creating Hard Links Creating Symbolic Links Removing Files and Directories Summing Up 5. Working with Commands What Exactly Are Commands? Identifying Commands type—Display a Command’s Type which—Display an Executable’s Location Getting a Command’s Documentation help—Get Help for Shell Builtins --help—Display Usage Information man—Display a Program’s Manual Page apropos—Display Appropriate Commands whatis—Display One-line Manual Page Descriptions info—Display a Program’s Info Entry README and Other Program Documentation Files Creating Our Own Commands with alias Summing Up 6. Redirection Standard Input, Output, and Error Redirecting Standard Output Redirecting Standard Error Redirecting Standard Output and Standard Error to One File Disposing of Unwanted Output Redirecting Standard Input cat: Concatenate Files Pipelines Filters uniq: Report or Omit Repeated Lines wc: Print Line, Word, and Byte Counts grep: Print Lines Matching a Pattern head/tail: Print First/Last Part of Files tee: Read from Stdin and Output to Stdout and Files Summing Up 7. Seeing the World as the Shell Sees It Expansion Pathname Expansion Tilde Expansion Arithmetic Expansion Brace Expansion Parameter Expansion Command Substitution Quoting Double Quotes Single Quotes Escaping Characters Backslash Escape Sequences Summing Up 8. Advanced Keyboard Tricks Command Line Editing Cursor Movement Modifying Text Cutting and Pasting (Killing and Yanking) Text Completion Using History Searching History History Expansion Summing Up 9. Permissions Owners, Group Members, and Everybody Else Reading, Writing, and Executing chmod: Change File Mode Setting File Mode with the GUI umask: Set Default Permissions Some Special Permissions Changing Identities su: Run a Shell with Substitute User and Group IDs sudo: Execute a Command As Another User chown: Change File Owner and Group chgrp: Change Group Ownership Exercising Our Privileges Changing Your Password Summing Up 10. Processes How a Process Works Viewing Processes Viewing Processes Dynamically with top Controlling Processes Interrupting a Process Putting a Process in the Background Returning a Process to the Foreground Stopping (Pausing) a Process Signals Sending Signals to Processes with kill Sending Signals to Multiple Processes with killall Shutting Down the System More Process-Related Commands Summing Up 11. The Environment What Is Stored in the Environment? Examining the Environment Some Interesting Variables How Is the Environment Established? What’s in a Startup File? Modifying the Environment Which Files Should We Modify? Text Editors Using a Text Editor Activating Our Changes Summing Up 12. A Gentle Introduction to vi Why We Should Learn vi A Little Background Starting and Stopping vi Editing Modes Entering Insert Mode Saving Our Work Moving the Cursor Around Basic Editing Appending Text Opening a Line Deleting Text Cutting, Copying, and Pasting Text Joining Lines Search-and-Replace Searching Within a Line Searching the Entire File Global Search-and-Replace Editing Multiple Files Switching Between Files Opening Additional Files for Editing Copying Content from One File into Another Inserting an Entire File into Another Saving Our Work Summing Up 13. Customizing the Prompt Anatomy of a Prompt Trying Some Alternative Prompt Designs Adding Color Moving the Cursor Saving the Prompt Summing Up Part III: Common Tasks and Essential Tools 14. Package Management Packaging Systems How a Package System Works Package Files Repositories Dependencies High- and Low-Level Package Tools Common Package Management Tasks Finding a Package in a Repository Installing a Package from a Repository Installing a Package from a Package File Removing a Package Updating Packages from a Repository Upgrading a Package from a Package File Listing Installed Packages Determining Whether a Package Is Installed Displaying Information About an Installed Package Finding Which Package Installed a File Summing Up 15. Storage Media Mounting and Unmounting Storage Devices Viewing a List of Mounted File Systems Determining Device Names Creating New File Systems Manipulating Partitions with fdisk Creating a New File System with mkfs Testing and Repairing File Systems Moving Data Directly to and from Devices Creating CD-ROM Images Creating an Image Copy of a CD-ROM Creating an Image from a Collection of Files Writing CD-ROM Images Mounting an ISO Image Directly Blanking a Rewritable CD-ROM Writing an Image Summing Up Extra Credit 16. Networking Examining and Monitoring a Network ping traceroute ip netstat Transporting Files over a Network ftp lftp—a Better ftp wget Secure Communication with Remote Hosts ssh scp and sftp Summing Up 17. Searching for Files locate—Find Files the Easy Way find—Find Files the Hard Way Tests Operators Predefined Actions User-Defined Actions Improving Efficiency xargs A Return to the Playground find Options Summing Up 18. Archiving and Backup Compressing Files gzip bzip2 Archiving Files tar zip Synchronizing Files and Directories Using rsync over a Network Summing Up 19. Regular Expressions What Are Regular Expressions? grep Metacharacters and Literals The Any Character Anchors Bracket Expressions and Character Classes Negation Traditional Character Ranges POSIX Character Classes POSIX Basic vs. Extended Regular Expressions Alternation Quantifiers ? —Match an Element Zero or One Time * —Match an Element Zero or More Times +—Match an Element One or More Times { }—Match an Element a Specific Number of Times Putting Regular Expressions to Work Validating a Phone List with grep Finding Ugly Filenames with find Searching for Files with locate Searching for Text with less and vim Summing Up 20. Text Processing Applications of Text Documents Web Pages Email Printer Output Program Source Code Revisiting Some Old Friends cat sort uniq Slicing and Dicing cut—Remove Sections from Each Line of Files paste—Merge Lines of Files join—Join Lines of Two Files on a Common Field Comparing Text comm—Compare Two Sorted Files Line by Line diff—Compare Files Line by Line patch—Apply a diff to an Original Editing on the Fly tr—Transliterate or Delete Characters sed—Stream Editor for Filtering and Transforming Text aspell—Interactive Spellchecker Summing Up Extra Credit 21. Formatting Output Simple Formatting Tools nl—Number Lines fold—Wrap Each Line to a Specified Length fmt—A Simple Text Formatter pr—Format Text for Printing printf—Format and Print Data Document Formatting Systems groff Summing Up 22. Printing A Brief History of Printing Printing in the Dim Times Character-Based Printers Graphical Printers Printing with Linux Preparing Files for Printing pr—Convert Text Files for Printing Sending a Print Job to a Printer lpr—Print Files (Berkeley Style) lp—Print Files (System V Style) Another Option: a2ps Monitoring and Controlling Print Jobs lpstat—Display Print System Status lpq—Display Printer Queue Status lprm/cancel—Cancel Print Jobs Summing Up 23. Compiling Programs What Is Compiling? Are All Programs Compiled? Compiling a C Program Obtaining the Source Code Examining the Source Tree Building the Program Installing the Program Summing Up Part IV: Writing Shell Scripts 24. Writing Your First Script What Are Shell Scripts? How to Write a Shell Script Script File Format Executable Permissions Script File Location Good Locations for Scripts More Formatting Tricks Long Option Names Indentation and Line Continuation Summing Up 25. Starting a Project First Stage: Minimal Document Second Stage: Adding a Little Data Variables and Constants Assigning Values to Variables and Constants Here Documents Summing Up 26. Top-Down Design Shell Functions Local Variables Keep Scripts Running Summing Up 27. Flow Control: Branching with if if Statements Exit Status Using test File Expressions String Expressions Integer Expressions A More Modern Version of test (( ))—Designed for Integers Combining Expressions Control Operators: Another Way to Branch Summing Up 28. Reading Keyboard Input read—Read Values from Standard Input Options IFS Validating Input Menus Summing Up Extra Credit 29. Flow Control: Looping with while/until Looping while Breaking Out of a Loop until Reading Files with Loops Summing Up 30. Troubleshooting Syntactic Errors Missing Quotes Missing or Unexpected Tokens Unanticipated Expansions Logical Errors Defensive Programming Watch Out for Filenames Verifying Input Testing Test Cases Debugging Finding the Problem Area Tracing Examining Values During Execution Summing Up 31. Flow Control: Branching with case The case Command Patterns Performing Multiple Actions Summing Up 32. Positional Parameters Accessing the Command Line Determining the Number of Arguments shift—Getting Access to Many Arguments Simple Applications Using Positional Parameters with Shell Functions Handling Positional Parameters en Masse A More Complete Application Summing Up 33. Flow Control: Looping with for for: Traditional Shell Form for: C Language Form Summing Up 34. Strings and Numbers Parameter Expansion Basic Parameters Expansions to Manage Empty Variables Expansions That Return Variable Names String Operations Case Conversion Arithmetic Evaluation and Expansion Number Bases Unary Operators Simple Arithmetic Assignment Bit Operations Logic bc—An Arbitrary Precision Calculator Language Using bc An Example Script Summing Up Extra Credit 35. Arrays What Are Arrays? Creating an Array Assigning Values to an Array Accessing Array Elements Array Operations Outputting the Entire Contents of an Array Determining the Number of Array Elements Finding the Subscripts Used by an Array Adding Elements to the End of an Array Sorting an Array Deleting an Array Associative Arrays Summing Up 36. Exotica Group Commands and Subshells Process Substitution Traps Asynchronous Execution with wait Named Pipes Setting Up a Named Pipe Using Named Pipes Summing Up Index Back Cover It's Been Said That Graphical User Interfaces Make Easy Tasks Easy, While Command-line Interfaces Make Difficult Tasks Possible. The Linux Command Line Shows Readers How To Control Their Computers And Accomplish These Difficult Tasks Using Bash, The Linux Shell. Designed For Command-line Users Of All Levels, The Book Takes Readers From The First Keystrokes To The Process Of Writing Powerful Programs In The Command Line's Native Language. Along The Way, The Author Explores Basic Commands And File System Navigation, Os Configuration, Classic Command-line Programs, Shell Programming, And Much More, Making The Linux Command Line An Essential Guide For All Linux Users Who Wish To Exploit The Full Power Of Their Systems-- Learning The Shell -- What Is The Shell? -- Navigation -- Exploring The System -- Manipulating Files And Directories -- Working With Commands -- Redirection -- Seeing The World As The Shell Sees It -- Advanced Keyboard Tricks -- Permissions -- Processes -- Configuration And The Environment -- The Environment -- A Gentle Introduction To Vi -- Customizing The Prompt -- Common Tasks And Essential Tools -- Package Management -- Storage Media -- Networking -- Searching For Files -- Archiving And Backup -- Regular Expressions -- Text Processing -- Formatting Output -- Printing -- Compiling Programs -- Writing Shell Scripts -- Writing Your First Script -- Starting A Project -- Top-down Design -- Flow Control: Brancing With If -- Reading Keyboard Input -- Flow Control: Looping With While And Until -- Troubleshooting -- Flow Control: Branching With Case -- Positional Parameters -- Flow Control: Looping With For -- Strings And Numbers -- Arrays -- Exotica. William E. Shotts, Jr. Includes Index. You've experienced the shiny, point-and-click surface of your Linux computer - now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command line). Along the way you'll learn the timeless skills handed down by generations of experienced, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore. As you make your way through the book's short, easily-digestible chapters, you'll learn how to: • Create and delete files, directories, and symlinks • Administer your system, including networking, package installation, and process management • Use standard input and output, redirection, and pipelines • Edit files with Vi, the world's most popular text editor • Write shell scripts to automate common or boring tasks • Slice and dice text files with cut, paste, grep, patch, and sed Once you overcome your initial "shell shock," you'll find that the command line is a natural and expressive way to communicate with your computer. Just don't be surprised if your mouse starts to gather dust. You've experienced the shiny, point-and-click surface of your Linux computer -- now dive below and explore its depths with the power of the command line. The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more. In addition to that practical knowledge, author William Shotts reveals the philosophy behind these tools and the rich heritage that your desktop Linux machine has inherited from Unix supercomputers of yore. As you make your way through the book's short, easily-digestible chapters, you'll learn how to: Create and delete files, directories, and symlinks; Administer your system, including networking, package installation, and process management; Use standard input and output, redirection, and pipelines; Edit files with Vi, the world's most popular text editor; Write shell scripts to automate common or boring tasks; Slice and dice text files with cut, paste, grep, patch, and sed; Once you overcome your initial "shell shock," you'll find that the command line is a natural and expressive way to communicate with your computer. Just don't be surprised if your mouse starts to gather dust. - Publisher. Learning the Shell What Is the Shell? Navigation Exploring the System Manipulating Files and Directories Working with Commands Redirection Seeing the World as the Shell Sees It Advanced Keyboard Tricks Permissions Processes Configuration and the Environment The Environment A Gentle Introduction to vi Customizing the Prompt Common Tasks and Essential Tools Package Management Storage Media Networking Searching for Files Archiving and Backup Regular Expressions Text Processing Formatting Output Printing Compiling Programs Writing Shell Scripts Writing Your First Script Starting a Project Top-Down Design Flow Control: Branching with if Reading Keyboard Input Flow Control: Looping with while and until Troubleshooting Flow Control: Branching with case Positional Parameters Flow Control: Looping with for Strings and Numbers Arrays Exotica You've experienced the shiny, point-and-click surface of your Linux computer--now dive below and explore its depths with the power of the command line.The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell (or command ... Available here: (http://readmeaway.com/download?i=1593279523) readmeaway.com/download?i=1593279523 The Linux Command Line, 2nd Edition: A Complete Introduction PDF by William Shotts Read The Linux Command Line, 2nd Edition: A Complete Introduction PDF from No Starch Press,William Shotts Download William Shottss PDF E-book The Linux Command Line, 2nd Edition: A Complete Introduction