The Linux Command Linetxt,chm,pdf,epub,mobi下载 作者:William E. Shotts Jr. 出版社: No Starch Press, Incorporated 副标题: A Complete Introduction 出版年: 2012-1-17 页数: 480 定价: USD 39.95 装帧: Paperback ISBN: 9781593273897 内容简介 · · · · · ·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,... 目录 · · · · · ·Part 1 – Introduction.........................................................................11 – Introduction................................................................................................2 Why Use The Command Line?.......................................................................................2 What This Book Is About.................................................................................................3 Who Should Read This Book..........................................................................................3 What's In This Book.........................................................................................................4 · · · · · ·() Part 1 – Introduction.........................................................................1 1 – Introduction................................................................................................2 Why Use The Command Line?.......................................................................................2 What This Book Is About.................................................................................................3 Who Should Read This Book..........................................................................................3 What's In This Book.........................................................................................................4 How To Read This Book..................................................................................................5 Prerequisites...............................................................................................................5 Why I Don't Call It “GNU/Linux”.............................................................................5 Acknowledgments...........................................................................................................6 Your Feedback Is Needed!..............................................................................................7 Further Reading...............................................................................................................7 Colophon.........................................................................................................................7 Part 2 – Learning The Shell..............................................................9 2 – What Is The Shell?...................................................................................10 Terminal Emulators........................................................................................................10 Your First Keystrokes....................................................................................................10 Command History.....................................................................................................11 Cursor Movement.....................................................................................................11 A Few Words About Mice And Focus...................................................................11 Try Some Simple Commands........................................................................................12 Ending A Terminal Session............................................................................................13 The Console Behind The Curtain........................................................................13 Further Reading.............................................................................................................13 3 – Navigation.................................................................................................14 Understanding The File System Tree............................................................................14 The Current Working Directory......................................................................................14 Listing The Contents Of A Directory..............................................................................15 Changing The Current Working Directory.....................................................................16 Absolute Pathnames................................................................................................16 Relative Pathnames.................................................................................................16 Some Helpful Shortcuts............................................................................................18 Important Facts About Filenames........................................................................18 4 – Exploring The System.............................................................................20 More Fun With ls...........................................................................................................20 Options And Arguments............................................................................................21 A Longer Look At Long Format.................................................................................22 Determining A File's Type With file................................................................................23 Viewing File Contents With less....................................................................................24 What Is “Text”?.....................................................................................................24 Less Is More........................................................................................................26 A Guided Tour................................................................................................................26 Symbolic Links...............................................................................................................29 Hard Links.....................................................................................................................30 Further Reading.............................................................................................................30 5 – Manipulating Files And Directories........................................................31 Wildcards.......................................................................................................................31 Character Ranges................................................................................................33 Wildcards Work In The GUI Too..........................................................................33 mkdir – Create Directories.............................................................................................34 cp – Copy Files And Directories....................................................................................34 Useful Options And Examples..................................................................................35 mv – Move And Rename Files......................................................................................36 Useful Options And Examples..................................................................................36 rm – Remove Files And Directories...............................................................................37 Useful Options And Examples..................................................................................37 Be Careful With rm!.............................................................................................38 ln – Create Links............................................................................................................39 Hard Links................................................................................................................39 Symbolic Links..........................................................................................................40 Let's Build A Playground................................................................................................40 Creating Directories..................................................................................................40 Copying Files............................................................................................................41 Moving And Renaming Files.....................................................................................42 Creating Hard Links..................................................................................................43 Creating Symbolic Links...........................................................................................44 Removing Files And Directories...............................................................................45 Creating Symlinks With The GUI.........................................................................47 Summing Up.............................................................................................................47 6 – Working With Commands........................................................................48 What Exactly Are Commands?......................................................................................48 Identifying Commands...................................................................................................49 type – Display A Command's Type...........................................................................49 which – Display An Executable's Location...............................................................49 Getting A Command's Documentation..........................................................................50 help – Get Help For Shell Builtins............................................................................50 --help – Display Usage Information..........................................................................51 man – Display A Program's Manual Page................................................................51 apropos – Display Appropriate Commands..............................................................53 whatis – Display A Very Brief Description Of A Command.......................................53 The Most Brutal Man Page Of Them All..............................................................53 info – Display A Program's Info Entry.......................................................................54 README And Other Program Documentation Files................................................55 Creating Your Own Commands With alias....................................................................56 Revisiting Old Friends...................................................................................................58 Further Reading.............................................................................................................58 7 – Redirection................................................................................................59 Standard Input, Output, And Error.................................................................................59 Redirecting Standard Output.........................................................................................60 Redirecting Standard Error............................................................................................61 Redirecting Standard Output And Standard Error To One File................................62 Disposing Of Unwanted Output................................................................................63 /dev/null In Unix Culture......................................................................................63 Redirecting Standard Input............................................................................................63 cat – Concatenate Files............................................................................................63 Pipelines........................................................................................................................65 Filters........................................................................................................................66 uniq - Report Or Omit Repeated Lines....................................................................66 wc – Print Line, Word, And Byte Counts..................................................................67 grep – Print Lines Matching A Pattern......................................................................67 head / tail – Print First / Last Part Of Files................................................................68 tee – Read From Stdin And Output To Stdout And Files..........................................69 Summing Up..................................................................................................................70 Linux Is About Imagination..................................................................................70 8 – Seeing The World As The Shell Sees It..................................................72 Expansion......................................................................................................................72 Pathname Expansion...............................................................................................73 Pathname Expansion Of Hidden Files.................................................................74 Tilde Expansion........................................................................................................74 Arithmetic Expansion................................................................................................75 Brace Expansion......................................................................................................76 Parameter Expansion...............................................................................................77 Command Substitution.............................................................................................78 Quoting..........................................................................................................................79 Double Quotes..........................................................................................................79 Single Quotes...........................................................................................................81 Escaping Characters................................................................................................82 Backslash Escape Sequences............................................................................82 Summing Up..................................................................................................................83 Further Reading.............................................................................................................83 9 – Advanced Keyboard Tricks.....................................................................84 Command Line Editing..................................................................................................84 Cursor Movement.....................................................................................................84 Modifying Text...........................................................................................................85 Cutting And Pasting (Killing And Yanking) Text........................................................85 The Meta Key......................................................................................................86 Completion....................................................................................................................86 Programmable Completion..................................................................................88 Using History.................................................................................................................88 Searching History.....................................................................................................89 History Expansion.....................................................................................................91 script....................................................................................................................91 Summing Up..................................................................................................................92 Further Reading.............................................................................................................92 10 – Permissions............................................................................................93 Owners, Group Members, And Everybody Else............................................................94 Reading, Writing, And Executing...................................................................................95 chmod – Change file mode.......................................................................................97 What The Heck Is Octal?.....................................................................................98 Setting File Mode With The GUI.............................................................................100 umask – Set Default Permissions..........................................................................101 Some Special Permissions................................................................................103 Changing Identities......................................................................................................104 su – Run A Shell With Substitute User And Group IDs..........................................105 sudo – Execute A Command As Another User.......................................................106 Ubuntu And sudo...............................................................................................107 chown – Change File Owner And Group................................................................107 chgrp – Change Group Ownership.........................................................................109 Exercising Our Privileges............................................................................................109 Changing Your Password.............................................................................................111 Further Reading...........................................................................................................112 11 – Processes..............................................................................................113 How A Process Works.................................................................................................113 Viewing Processes......................................................................................................114 Viewing Processes Dynamically With top...............................................................116 Controlling Processes..................................................................................................118 Interrupting A Process.............................................................................................119 Putting A Process In The Background....................................................................119 Returning A Process To The Foreground...............................................................120 Stopping (Pausing) A Process................................................................................121 Signals.........................................................................................................................122 Sending Signals To Processes With kill.................................................................122 Sending Signals To Multiple Processes With killall................................................125 More Process Related Commands.............................................................................125 Part 3 – Configuration And The Environment.............................127 12 – The Environment..................................................................................128 What Is Stored In The Environment?..........................................................................128 Examining The Environment..................................................................................128 Some Interesting Variables.....................................................................................130 How Is The Environment Established?.......................................................................131 What's In A Startup File?........................................................................................132 Modifying The Environment.........................................................................................134 Which Files Should We Modify?.............................................................................134 Text Editors.............................................................................................................134 Using A Text Editor.................................................................................................135 Why Comments Are Important..........................................................................138 Activating Our Changes..........................................................................................139 Summing Up................................................................................................................139 Further Reading..........................................................................................................139 13 – A Gentle Introduction To vi.................................................................140 Why We Should Learn vi.............................................................................................140 A Little Background ....................................................................................................141 Starting And Stopping vi..............................................................................................141 Compatibility Mode............................................................................................142 Editing Modes..............................................................................................................143 Entering Insert Mode..............................................................................................144 Saving Our Work....................................................................................................144 Moving The Cursor Around.........................................................................................145 Basic Editing................................................................................................................146 Appending Text.......................................................................................................146 Opening A Line.......................................................................................................147 Deleting Text...........................................................................................................148 Cutting, Copying And Pasting Text.........................................................................149 Joining Lines...........................................................................................................151 Search And Replace....................................................................................................151 Searching Within A Line..........................................................................................151 Searching The Entire File.......................................................................................151 Global Search And Replace...................................................................................152 Editing Multiple Files...................................................................................................154 Switching Between Files.........................................................................................155 Opening Additional Files For Editing......................................................................155 Copying Content From One File Into Another........................................................156 Inserting An Entire File Into Another.......................................................................157 Saving Our Work.........................................................................................................158 Further Reading..........................................................................................................159 14 – Customizing The Prompt.....................................................................160 Anatomy Of A Prompt..................................................................................................160 Trying Some Alternate Prompt Designs......................................................................162 Adding Color................................................................................................................163 Terminal Confusion............................................................................................163 Moving The Cursor......................................................................................................166 Saving The Prompt......................................................................................................167 Summing Up................................................................................................................167 Further Reading..........................................................................................................168 Part 4 – Common Tasks And Essential Tools.............................169 15 – Package Management..........................................................................170 Packaging Systems.....................................................................................................170 How A Package System Works...................................................................................171 Package Files.........................................................................................................171 Repositories............................................................................................................171 Dependencies.........................................................................................................172 High And Low-level Package Tools........................................................................172 Common Package Management Tasks.......................................................................173 Finding A Package In A Repository........................................................................173 Installing A Package From A Repository.................................................................173 Installing A Package From A Package File.............................................................174 Removing A Package.............................................................................................174 Updating Packages From A Repository..................................................................175 Upgrading A Package From A Package File...........................................................175 Listing Installed Packages......................................................................................176 Determining If A Package Is Installed.....................................................................176 Displaying Info About An Installed Package...........................................................177 Finding Which Package Installed A File.................................................................177 Summing Up................................................................................................................177 The Linux Software Installation Myth.................................................................178 Further Reading..........................................................................................................179 16 – Storage Media.......................................................................................180 Mounting And Unmounting Storage Devices..............................................................180 Viewing A List Of Mounted File Systems................................................................182 Why Unmounting Is Important...........................................................................185 Determining Device Names....................................................................................186 Creating New File Systems.........................................................................................189 Manipulating Partitions With fdisk..........................................................................189 Creating A New File System With mkfs..................................................................192 Testing And Repairing File Systems............................................................................193 What The fsck?..................................................................................................193 Formatting Floppy Disks..............................................................................................193 Moving Data Directly To/From Devices.......................................................................194 Creating CD-ROM Images..........................................................................................195 Creating An Image Copy Of A CD-ROM.................................................................195 Creating An Image From A Collection Of Files.......................................................195 A Program By Any Other Name.........................................................................196 Writing CD-ROM Images.............................................................................................196 Mounting An ISO Image Directly............................................................................196 Blanking A Re-Writable CD-ROM...........................................................................197 Writing An Image....................................................................................................197 Further Reading..........................................................................................................197 Extra Credit..................................................................................................................197 17 – Networking............................................................................................199 Examining And Monitoring A Network.........................................................................200 ping.........................................................................................................................200 traceroute...............................................................................................................201 netstat.....................................................................................................................202 Transporting Files Over A Network..............................................................................203 ftp............................................................................................................................204 lftp – A Better ftp.....................................................................................................206 wget........................................................................................................................206 Secure Communication With Remote Hosts...............................................................206 ssh..........................................................................................................................207 Tunneling With SSH..........................................................................................210 scp And sftp............................................................................................................211 An SSH Client For Windows?............................................................................212 Further Reading..........................................................................................................212 18 – Searching For Files..............................................................................213 locate – Find Files The Easy Way...............................................................................213 Where Does The locate Database Come From?..............................................215 find – Find Files The Hard Way...................................................................................215 Tests.......................................................................................................................216 Operators................................................................................................................218 Predefined Actions..................................................................................................221 User Defined Actions..............................................................................................223 Improving Efficiency...............................................................................................224 xargs.......................................................................................................................224 Dealing With Funny Filenames..........................................................................225 A Return To The Playground..................................................................................226 Options...................................................................................................................228 Further Reading..........................................................................................................229 19 – Archiving And Backup.........................................................................230 Compressing Files.......................................................................................................230 gzip.........................................................................................................................231 bzip2.......................................................................................................................233 Don’t Be Compressive Compulsive...................................................................234 Archiving Files.............................................................................................................234 tar............................................................................................................................234 zip...........................................................................................................................240 Synchronizing Files And Directories............................................................................242 Using rsync Over A Network...................................................................................245 Further Reading..........................................................................................................246 20 – Regular Expressions...........................................................................247 What Are Regular Expressions?............................................................................247 grep.............................................................................................................................247 Metacharacters And Literals........................................................................................249 The Any Character......................................................................................................250 Anchors.......................................................................................................................251 A Crossword Puzzle Helper...............................................................................251 Bracket Expressions And Character Classes..............................................................252 Negation.................................................................................................................252 Traditional Character Ranges.................................................................................253 POSIX Character Classes......................................................................................254 Reverting To Traditional Collation Order............................................................257 POSIX Basic Vs. Extended Regular Expressions.......................................................258 POSIX................................................................................................................258 Alternation...................................................................................................................259 Quantifiers...................................................................................................................260 ? - Match An Element Zero Or One Time...............................................................260 * - Match An Element Zero Or More Times............................................................261 + - Match An Element One Or More Times............................................................262 { } - Match An Element A Specific Number Of Times..............................................262 Putting Regular Expressions To Work.........................................................................263 Validating A Phone List With grep...........................................................................263 Finding Ugly Filenames With find...........................................................................264 Searching For Files With locate.............................................................................265 Searching For Text In less And vim........................................................................265 Summing Up................................................................................................................267 Further Reading..........................................................................................................267 21 – Text Processing....................................................................................268 Applications Of Text.....................................................................................................268 Documents.............................................................................................................269 Web Pages.............................................................................................................269 Email.......................................................................................................................269 Printer Output.........................................................................................................269 Program Source Code............................................................................................269 Revisiting Some Old Friends.......................................................................................269 cat...........................................................................................................................270 MS-DOS Text Vs. Unix Text...............................................................................271 sort..........................................................................................................................271 uniq.........................................................................................................................279 Slicing And Dicing........................................................................................................280 cut...........................................................................................................................280 Expanding Tabs.................................................................................................283 paste.......................................................................................................................284 join..........................................................................................................................285 Comparing Text...........................................................................................................287 comm......................................................................................................................288 diff...........................................................................................................................288 patch.......................................................................................................................291 Editing On The Fly.......................................................................................................292 tr..............................................................................................................................292 ROT13: The Not-So-Secret Decoder Ring........................................................294 sed..........................................................................................................................295 People Who Like sed Also Like.........................................................................303 aspell......................................................................................................................303 Summing Up................................................................................................................307 Further Reading..........................................................................................................307 Extra Credit..................................................................................................................308 22 – Formatting Output................................................................................309 Simple Formatting Tools..............................................................................................309 nl – Number Lines..................................................................................................309 fold – Wrap Each Line To A Specified Length........................................................313 fmt – A Simple Text Formatter................................................................................313 pr – Format Text For Printing..................................................................................317 printf – Format And Print Data................................................................................318 Document Formatting Systems...................................................................................321 groff.........................................................................................................................322 Summing Up................................................................................................................328 Further Reading..........................................................................................................328 23 – Printing..................................................................................................330 A Brief History Of Printing............................................................................................330 Printing In The Dim Times......................................................................................330 Character-based Printers.......................................................................................331 Graphical Printers...................................................................................................332 Printing With Linux......................................................................................................333 Preparing Files For Printing.........................................................................................333 pr – Convert Text Files For Printing........................................................................333 Sending A Print Job To A Printer..................................................................................335 lpr – Print Files (Berkeley Style).............................................................................335 lp – Print Files (System V Style).............................................................................336 Another Option: a2ps..............................................................................................337 Monitoring And Controlling Print Jobs.........................................................................340 lpstat – Display Print System Status......................................................................340 lpq – Display Printer Queue Status........................................................................341 lprm / cancel – Cancel Print Jobs..........................................................................342 Summing Up................................................................................................................342 Further Reading..........................................................................................................342 24 – Compiling Programs............................................................................344 What Is Compiling?.....................................................................................................344 Are All Programs Compiled?..................................................................................345 Compiling A C Program...............................................................................................346 Obtaining The Source Code...................................................................................346 Examining The Source Tree...................................................................................348 Building The Program.............................................................................................350 Installing The Program...........................................................................................354 Summing Up................................................................................................................354 Further Reading..........................................................................................................355 Part 5 – Writing Shell Scripts.......................................................357 25 – Writing Your First Script......................................................................358 What Are Shell Scripts?...............................................................................................358 How To Write A Shell Script.........................................................................................358 Script File Format........................................................................................................359 Executable Permissions..............................................................................................360 Script File Location......................................................................................................360 Good Locations For Scripts....................................................................................362 More Formatting Tricks................................................................................................362 Long Option Names................................................................................................362 Indentation And Line Continuation.........................................................................362 Configuring vim For Script Writing.....................................................................363 Summing Up................................................................................................................364 Further Reading..........................................................................................................364 26 – Starting A Project.................................................................................365 First Stage: Minimal Document...................................................................................365 Second Stage: Adding A Little Data............................................................................367 Variables And Constants.............................................................................................368 Assigning Values To Variables And Constants.......................................................371 Here Documents.........................................................................................................372 Summing Up................................................................................................................375 Further Reading..........................................................................................................375 27 – Top-Down Design.................................................................................376 Shell Functions............................................................................................................377 Local Variables............................................................................................................380 Keep Scripts Running..................................................................................................381 Shell Functions In Your .bashrc File..................................................................384 Summing Up................................................................................................................384 Further Reading..........................................................................................................384 28 – Flow Control: Branching With if.........................................................385 if...................................................................................................................................385 Exit Status...................................................................................................................386 test...............................................................................................................................388 File Expressions.....................................................................................................388 String Expressions..................................................................................................391 Integer Expressions................................................................................................392 A More Modern Version Of test...................................................................................393 (( )) - Designed For Integers........................................................................................395 Combining Expressions...............................................................................................396 Portability Is The Hobgoblin Of Little Minds.......................................................398 Control Operators: Another Way To Branch................................................................399 Summing Up................................................................................................................399 Further Reading..........................................................................................................400 29 – Reading Keyboard Input......................................................................401 read – Read Values From Standard Input...................................................................402 Options...................................................................................................................404 IFS..........................................................................................................................406 You Can’t Pipe read...........................................................................................407 Validating Input............................................................................................................408 Menus..........................................................................................................................409 Summing Up................................................................................................................411 Extra Credit.............................................................................................................411 Further Reading...........................................................................................................411 30 – Flow Control: Looping With while / until...........................................412 Looping........................................................................................................................412 while........................................................................................................................412 Breaking Out Of A Loop...............................................................................................415 until.........................................................................................................................416 Reading Files With Loops...........................................................................................417 Summing Up................................................................................................................418 Further Reading..........................................................................................................418 31 – Troubleshooting...................................................................................419 Syntactic Errors...........................................................................................................419 Missing Quotes.......................................................................................................420 Missing Or Unexpected Tokens..............................................................................420 Unanticipated Expansions......................................................................................421 Logical Errors .............................................................................................................423 Defensive Programming.........................................................................................423 Verifying Input.........................................................................................................425 Design Is A Function Of Time............................................................................425 Testing.........................................................................................................................425 Test Cases..............................................................................................................426 Debugging...................................................................................................................427 Finding The Problem Area......................................................................................427 Tracing....................................................................................................................427 Examining Values During Execution......................................................................430 Summing Up................................................................................................................430 Further Reading..........................................................................................................431 32 – Flow Control: Branching With case...................................................432 case.............................................................................................................................432 Patterns..................................................................................................................434 Summing Up................................................................................................................436 Further Reading..........................................................................................................436 33 – Positional Parameters.........................................................................437 Accessing The Command Line...................................................................................437 Determining The Number of Arguments.................................................................438 shift – Getting Access To Many Arguments............................................................439 Simple Applications................................................................................................440 Using Positional Parameters With Shell Functions................................................441 Handling Positional Parameters En Masse.................................................................442 A More Complete Application......................................................................................444 Summing Up................................................................................................................447 Further Reading..........................................................................................................450 34 – Flow Control: Looping With for..........................................................451 for: Traditional Shell Form...........................................................................................451 Why i?................................................................................................................453 for: C Language Form.................................................................................................454 Summing Up................................................................................................................455 Further Reading..........................................................................................................456 35 – Strings And Numbers..........................................................................457 Parameter Expansion..................................................................................................457 Basic Parameters...................................................................................................457 Expansions To Manage Empty Variables...............................................................458 Expansions That Return Variable Names..............................................................460 String Operations....................................................................................................460 Arithmetic Evaluation And Expansion.........................................................................463 Number Bases........................................................................................................464 Unary Operators.....................................................................................................464 Simple Arithmetic....................................................................................................464 Assignment.............................................................................................................466 Bit Operations.........................................................................................................468 Logic.......................................................................................................................469 bc – An Arbitrary Precision Calculator Language........................................................472 Using bc..................................................................................................................473 An Example Script..................................................................................................473 Summing Up................................................................................................................475 Extra Credit..................................................................................................................475 Further Reading..........................................................................................................475 36 – Arrays....................................................................................................476 What Are Arrays?........................................................................................................476 Creating An Array........................................................................................................476 Assigning Values To An Array......................................................................................477 Accessing Array Elements...........................................................................................478 Array Operations.........................................................................................................480 Outputting The Entire Contents Of An Array..........................................................480 Determining The Number Of Array Elements.........................................................480 Finding The Subscripts Used By An Array.............................................................481 Adding Elements To The End Of An Array.............................................................481 Sorting An Array......................................................................................................482 Deleting An Array....................................................................................................482 Summing Up................................................................................................................483 Further Reading..........................................................................................................484 37 – Exotica...................................................................................................485 Group Commands And Subshells...............................................................................485 Process Substitution...............................................................................................486 Traps............................................................................................................................488 Temporary Files.................................................................................................491 Asynchronous Execution.............................................................................................492 wait.........................................................................................................................492 Named Pipes...............................................................................................................493 Setting Up A Named Pipe.......................................................................................494 Using Named Pipes................................................................................................494 Summing Up................................................................................................................495 Further Reading..........................................................................................................495 · · · · · · () |
买来学习
引发思考
没想到刚开始就牢牢抓住了我的眼球。
好评!有一本神奇的新书!