The Linux Command Line
Total Page:16
File Type:pdf, Size:1020Kb
The Linux Command Line Fifth Internet Edition William Shotts A LinuxCommand.org Book Copyright ©2008-2019, William E. Shotts, Jr. This work is licensed under the Creative Commons Attribution-Noncommercial-No De- rivative Works 3.0 United States License. To view a copy of this license, visit the link above or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042. A version of this book is also available in printed form, published by No Starch Press. Copies may be purchased wherever fine books are sold. No Starch Press also offers elec- tronic formats for popular e-readers. They can be reached at: https://www.nostarch.com. Linux® is the registered trademark of Linus Torvalds. All other trademarks belong to their respective owners. This book is part of the LinuxCommand.org project, a site for Linux education and advo- cacy devoted to helping users of legacy operating systems migrate into the future. You may contact the LinuxCommand.org project at http://linuxcommand.org. Release History Version Date Description 19.01A January 28, 2019 Fifth Internet Edition (Corrected TOC) 19.01 January 17, 2019 Fifth Internet Edition. 17.10 October 19, 2017 Fourth Internet Edition. 16.07 July 28, 2016 Third Internet Edition. 13.07 July 6, 2013 Second Internet Edition. 09.12 December 14, 2009 First Internet Edition. Table of Contents Introduction....................................................................................................xvi Why Use the Command Line?......................................................................................xvi What This Book Is About..............................................................................................xvii Who Should Read This Book.......................................................................................xvii What's in This Book.....................................................................................................xviii How To Read This Book................................................................................................xix Prerequisites............................................................................................................xix Why I Don't Call It “GNU/Linux”...........................................................................xix What's New in the Fifth Internet Edition.........................................................................xx Acknowledgments..........................................................................................................xx First Internet Edition..................................................................................................xx Second Internet Edition............................................................................................xxi Third Internet Edition................................................................................................xxi Fourth Internet Edition..............................................................................................xxi Fifth Internet Edition.................................................................................................xxi Your Feedback Is Needed!............................................................................................xxi Further Reading............................................................................................................xxi Colophon......................................................................................................................xxii Part 1 – Learning the Shell...............................................................1 1 – What Is the Shell?......................................................................................2 Terminal Emulators..........................................................................................................2 Making Your First Keystrokes..........................................................................................2 Command History.......................................................................................................3 Cursor Movement.......................................................................................................3 A Few Words About Mice and Focus.....................................................................3 Try Some Simple Commands..........................................................................................4 Ending a Terminal Session..............................................................................................5 The Console Behind the Curtain...........................................................................5 Summing Up....................................................................................................................5 Further Reading...............................................................................................................6 2 – Navigation...................................................................................................7 Understanding the File System Tree...............................................................................7 The Current Working Directory........................................................................................7 Listing the Contents of a Directory..................................................................................8 i Changing the Current Working Directory........................................................................9 Absolute Pathnames..................................................................................................9 Relative Pathnames...................................................................................................9 Some Helpful Shortcuts............................................................................................11 Important Facts About Filenames........................................................................11 Summing Up..................................................................................................................12 3 – Exploring the System..............................................................................13 Having More Fun with ls................................................................................................13 Options and Arguments............................................................................................14 A Longer Look at Long Format.................................................................................16 Determining a File's Type with file.................................................................................17 Viewing File Contents with less.....................................................................................17 What Is “Text”?.....................................................................................................17 Less Is More........................................................................................................19 Taking a Guided Tour.....................................................................................................19 Symbolic Links...............................................................................................................23 Hard Links.....................................................................................................................24 Summing Up..................................................................................................................24 Further Reading.............................................................................................................24 4 – Manipulating Files and Directories........................................................25 Wildcards.......................................................................................................................25 Character Ranges................................................................................................27 Wildcards Work in the GUI Too............................................................................27 mkdir – Create Directories.............................................................................................28 cp – Copy Files and Directories....................................................................................28 Useful Options and Examples..................................................................................29 mv – Move and Rename Files.......................................................................................30 Useful Options and Examples..................................................................................30 rm – Remove Files and Directories...............................................................................31 Useful Options and Examples..................................................................................32 Be Careful with rm!..............................................................................................33 ln – Create Links............................................................................................................33 Hard Links................................................................................................................33 Symbolic Links..........................................................................................................34 Let's Build a Playground................................................................................................34 Creating Directories..................................................................................................34