Muutke küpsiste eelistusi

Linux Command Line and Shell Scripting Bible 4th edition [Pehme köide]

  • Formaat: Paperback / softback, 832 pages, kõrgus x laius x paksus: 231x188x48 mm, kaal: 1134 g
  • Sari: Bible
  • Ilmumisaeg: 26-Jan-2021
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119700914
  • ISBN-13: 9781119700913
Teised raamatud teemal:
  • Pehme köide
  • Hind: 43,21 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • soodushind kehtib ainult laos olevatele toodetele (tellimishind: 48,28 €)
  • Tavahind: 56,80 €
  • Säästad 24%
  • Kaupluses 1 eks Tule tutvuma - Raekoja plats 11, Tartu, E-R 10-18
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Saadame välja 1 tööpäeva jooksul
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 832 pages, kõrgus x laius x paksus: 231x188x48 mm, kaal: 1134 g
  • Sari: Bible
  • Ilmumisaeg: 26-Jan-2021
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119700914
  • ISBN-13: 9781119700913
Teised raamatud teemal:

Advance your understanding of the Linux command line with this invaluable resource 

Linux Command Line and Shell Scripting Bible, 4th Edition is the newest installment in the indispensable series known to Linux developers all over the world. Packed with concrete strategies and practical tips, the latest edition includes brand-new content covering:

  • Understanding the Shell  
  • Writing Simple Script Utilities  
  • Producing Database, Web & Email Scripts  
  • Creating Fun Little Shell Scripts 

Written by accomplished Linux professionals Christine Bresnahan and Richard Blum, Linux Command Line and Shell Scripting Bible, 4th Edition teaches readers the fundamentals and advanced topics necessary for a comprehensive understanding of shell scripting in Linux. The book is filled with real-world examples and usable scripts, helping readers navigate the challenging Linux environment with ease and convenience. 

The book is perfect for anyone who uses Linux at home or in the office and will quickly find a place on every Linux enthusiast’s bookshelf.

Acknowledgments xi
Part I The Linux Command Line
1(272)
Chapter 1 Starting with Linux Shells
3(18)
Investigating Linux
3(14)
Looking into the Linux kernel
4(1)
System memory management
5(1)
Software program management
6(2)
Hardware management
8(1)
Filesystem management
8(1)
The GNU utilities
9(1)
The core GNU utilities
10(1)
The shell
10(1)
The Linux desktop environment
11(1)
The X Window software
12(1)
The KDE Plasma desktop
12(1)
The GNOME desktop
13(2)
Other desktops
15(2)
Examining Linux Distributions
17(3)
Core Linux distributions
18(1)
Specialized Linux distributions
19(1)
Summary
20(1)
Chapter 2 Getting to the Shell
21(26)
Reaching the Command Line
21(2)
Console terminals
22(1)
Graphical terminals
22(1)
Accessing CLI via a Linux Console Terminal
23(3)
Accessing CLI via Graphical Terminal Emulation
26(1)
Using the GNOME Terminal Emulator
27(9)
Accessing GNOME Terminal
27(5)
The menu bar
32(4)
Using the Konsole Terminal Emulator
36(6)
Accessing Konsole
36(2)
The menu bar
38(4)
Using the xterm Terminal Emulator
42(3)
Accessing xterm
43(1)
Command-line parameters
44(1)
Summary
45(2)
Chapter 3 Basic Bash Shell Commands
47(38)
Starting the Shell
47(1)
Using the Shell Prompt
48(1)
Interacting with the Bash Manual
49(4)
Navigating the Filesystem
53(7)
Looking at the Linux filesystem
53(4)
Traversing directories
57(1)
Using absolute directory references
57(2)
Using relative directory references
59(1)
Listing Files and Directories
60(6)
Displaying a basic listing
61(2)
Displaying a long listing
63(1)
Filtering listing output
64(2)
Handling Files
66(8)
Creating files
66(1)
Copying files
66(3)
Using command-line completion
69(1)
Linking files
69(2)
Renaming files
71(2)
Deleting files
73(1)
Managing Directories
74(3)
Creating directories
74(1)
Deleting directories
75(2)
Viewing File Contents
77(3)
Viewing the file type
77(1)
Viewing the whole file
78(1)
Using the cat command
78(1)
Using the more command
78(2)
Using the less command
80(1)
Viewing parts of a file
80(2)
Using the tail command
80(2)
Using the head command
82(1)
Summary
82(3)
Chapter 4 More Bash Shell Commands
85(28)
Monitoring Programs
85(11)
Peeking at the processes
85(1)
Unix-style parameters
86(3)
BSD-style parameters
89(2)
The GNU long parameters
91(2)
Real-time process monitoring
93(2)
Stopping processes
95(1)
The kill command
95(1)
The pkill command
96(1)
Monitoring Disk Space
96(6)
Mounting media
97(1)
The mount command
97(2)
The umount command
99(1)
Using the df command
100(1)
Using the du command
101(1)
Working with Data Files
102(9)
Sorting data
102(4)
Searching for data
106(2)
Compressing data
108(1)
Archiving data
109(2)
Summary
111(2)
Chapter 5 Understanding the Shell
113(24)
Investigating Shell Types
113(4)
Exploring Parent and Child Shell Relationships
117(10)
Looking at process lists
121(2)
Creatively using subshells
123(1)
Investigating background mode
123(2)
Putting process lists into the background
125(1)
Looking at co-processing
126(1)
Understanding External and Built-In Commands
127(8)
Looking at external commands
128(1)
Looking at built-in commands
129(1)
Using the history command
130(4)
Using command aliases
134(1)
Summary
135(2)
Chapter 6 Using Linux Environment Variables
137(26)
Exploring Environment Variables
137(4)
Looking at global environment variables
138(2)
Looking at local environment variables
140(1)
Setting User-Defined Variables
141(3)
Setting local user-defined variables
141(1)
Setting global environment variables
142(2)
Removing Environment Variables
144(1)
Uncovering Default Shell Environment Variables
145(5)
Setting the PATH Environment Variable
150(2)
Locating System Environment Variables
152(7)
Understanding the login shell process
152(1)
Viewing the /etc/profile file
152(4)
Viewing the $HOME startup files
156(1)
Understanding the interactive shell process
157(1)
Understanding the noninteractive shell process
158(1)
Making environment variables persistent
159(1)
Learning about Variable Arrays
159(2)
Summary
161(2)
Chapter 7 Understanding Linux File Permissions
163(26)
Exploring Linux Security
163(10)
The /etc/passwd file
164(1)
The /etc/shadow file
165(1)
Adding a new user
166(3)
Removing a user
169(1)
Modifying a user
169(1)
Usermod
170(1)
Passwd and chpasswd
170(1)
Chsh, chfn, and chage
171(2)
Using Linux Groups
173(3)
The /etc/group file
173(1)
Creating new groups
174(1)
Modifying groups
175(1)
Decoding File Permissions
176(3)
Using file permission symbols
176(2)
Default file permissions
178(1)
Changing Security Settings
179(3)
Changing permissions
180(1)
Changing ownership
181(1)
Sharing Files
182(2)
Access Control Lists
184(2)
Summary
186(3)
Chapter 8 Managing Filesystems
189(20)
Exploring Linux Filesystems
189(5)
Exploring the Linux filesystem evolution
190(1)
Looking at the ext filesystem
190(1)
Looking at the ext2 filesystem
190(1)
Digging into journaling filesystems
191(1)
Looking at the ext3 filesystem
191(1)
Looking at the ext4 filesystem
191(1)
Looking at the JFS filesystem
192(1)
Looking at ReiserFS
192(1)
Looking at XFS
192(1)
Understanding the volume-managing filesystems
192(1)
Looking at the ZFS filesystem
193(1)
Looking at the Btrfs filesystem
193(1)
Looking at the Stratis filesystem
193(1)
Working with Filesystems
194(8)
Creating partitions
194(1)
Looking at the fdisk utility
194(3)
Working with gdisk
197(1)
The GNU parted command
198(1)
Creating a filesystem
199(2)
Checking and repairing a filesystem
201(1)
Managing Logical Volumes
202(5)
Exploring LVM layout
203(1)
Physical volume
203(1)
Volume group
203(1)
Logical volume
203(1)
Understanding the LVM in Linux
203(1)
Create the PVs
204(1)
Create a VG
204(1)
Create an LV
205(1)
Using the Linux LVM
206(1)
Format and mount an LV
206(1)
Growing or shrinking your VGs and LVs
206(1)
Summary
207(2)
Chapter 9 Installing Software
209(26)
Exploring Package Management
209(1)
Inspecting the Debian-Based Systems
210(10)
Managing packages with apt
211(2)
Installing software packages with apt
213(2)
Upgrading software with apt
215(1)
Uninstalling software with apt
216(2)
The apt repositories
218(2)
The Red Hat-Based Systems
220(5)
Listing installed packages
220(1)
Installing software with dnf
221(2)
Upgrading software with dnf
223(1)
Uninstalling software with dnf
223(1)
Dealing with broken dependencies
223(1)
RPM repositories
224(1)
Managing Software Using Containers
225(4)
Using snap containers
225(2)
Using flatpak containers
227(2)
Installing from Source Code
229(3)
Summary
232(3)
Chapter 10 Working with Editors
235(38)
Visiting the vim Editor
235(7)
Checking your vim package
236(1)
Exploring vim basics
237(3)
Editing data
240(1)
Copying and pasting
240(1)
Searching and substituting
241(1)
Navigating the nano Editor
242(2)
Exploring the Emacs Editor
244(9)
Checking your Emacs package
245(1)
Using Emacs on the console
246(1)
Exploring the basics of Emacs
247(1)
Editing data
248(1)
Copying and pasting
249(1)
Searching and replacing
249(1)
Using buffers in Emacs
250(1)
Using windows in console mode Emacs
251(1)
Using Emacs in a GUI
252(1)
Exploring the KDE Family of Editors
253(10)
Looking at the KWrite editor
253(6)
Looking at the Kate editor
259(4)
Exploring the GNOME Editor
263(8)
Starting gedit
264(1)
Understanding basic gedit features
265(3)
Managing plugins
268(3)
Summary
271(2)
Part II Shell Scripting Basics
273(198)
Chapter 11 Basic Script Building
275(28)
Using Multiple Commands
275(1)
Creating a Script File
276(2)
Displaying Messages
278(1)
Using Variables
279(5)
Environment variables
280(1)
User variables
281(2)
Command substitution
283(1)
Redirecting Input and Output
284(3)
Output redirection
285(1)
Input redirection
285(2)
Employing Pipes
287(2)
Performing Math
289(8)
The expr command
290(2)
Using brackets
292(1)
A floating-point solution
293(1)
The basics of be
293(2)
Using be in scripts
295(2)
Exiting the Script
297(3)
Checking the exit status
297(1)
The exit command
298(2)
Working through a Practical Example
300(1)
Summary
301(2)
Chapter 12 Using Structured Commands
303(42)
Working with the if-then Statement
303(3)
Exploring the if-then-else Statement
306(1)
Nesting ifs
307(4)
Trying the test Command
311(20)
Using numeric comparisons
313(1)
Using string comparisons
314(1)
Looking at string equality
315(1)
Looking at string order
316(2)
Looking at string size
318(2)
Using file comparisons
320(1)
Checking directories
320(1)
Checking whether an object exists
321(1)
Checking for a file
322(2)
Checking for read access
324(1)
Checking for empty files
325(1)
Checking whether you can write to a file
326(1)
Checking whether you can run a file
327(1)
Checking ownership
328(1)
Checking default group membership
329(1)
Checking file date
330(1)
Considering Compound Testing
331(1)
Working with Advanced if-then Features
332(3)
Using single parentheses
332(1)
Using double parentheses
333(2)
Using double brackets
335(1)
Considering the case Command
335(2)
Working through a Practical Example
337(6)
Summary
343(2)
Chapter 13 More Structured Commands
345(32)
Looking at the for Command
345(9)
Reading values in a list
346(1)
Reading complex values in a list
347(2)
Reading a list from a variable
349(1)
Reading values from a command
350(1)
Changing the field separator
351(1)
Reading a directory using wildcards
352(2)
Trying the C-Style for Command
354(3)
The C language for command
355(1)
Using multiple variables
356(1)
Exploring the while Command
357(2)
Basic while format
357(1)
Using multiple test commands
358(1)
Using the until Command
359(2)
Nesting Loops
361(3)
Looping on File Data
364(1)
Controlling the Loop
365(6)
The break command
365(1)
Breaking out of a single loop
365(1)
Breaking out of an inner loop
366(1)
Breaking out of an outer loop
367(1)
The continue command
368(3)
Processing the Output of a Loop
371(1)
Working through a Few Practical Examples
372(3)
Finding executable files
373(1)
Creating multiple user accounts
374(1)
Summary
375(2)
Chapter 14 Handling User Input
377(34)
Passing Parameters
377(5)
Reading parameters
377(3)
Reading the script name
380(1)
Testing parameters
381(1)
Using Special Parameter Variables
382(4)
Counting parameters
382(2)
Grabbing all the data
384(2)
Being Shifty
386(2)
Working with Options
388(10)
Finding your options
388(1)
Processing simple options
388(1)
Separating options from parameters
389(2)
Processing options with values
391(1)
Using the getopt command
392(1)
Looking at the command format
392(1)
Using getopt in your scripts
393(2)
Advancing to getopts
395(3)
Standardizing Options
398(1)
Getting User Input
399(5)
Reading basics
399(2)
Timing Out
401(1)
Reading with no display
402(1)
Reading from a file
403(1)
Working through a Practical Example
404(4)
Summary
408(3)
Chapter 15 Presenting Data
411(24)
Understanding Input and Output
411(5)
Standard file descriptors
412(1)
Stdin
412(1)
Stdout
413(1)
Stderr
414(1)
Redirecting errors
414(1)
Redirecting errors only
414(1)
Redirecting errors and data
415(1)
Redirecting Output in Scripts
416(2)
Temporary redirections
416(1)
Permanent redirections
417(1)
Redirecting Input in Scripts
418(1)
Creating Your Own Redirection
419(5)
Creating output file descriptors
419(1)
Redirecting file descriptors
420(1)
Creating input file descriptors
421(1)
Creating a read/write file descriptor
422(1)
Closing file descriptors
423(1)
Listing Open File Descriptors
424(2)
Suppressing Command Output
426(1)
Using Temporary Files
427(3)
Creating a local temporary file
427(1)
Creating a temporary file in /tmp
428(1)
Creating a temporary directory
429(1)
Logging Messages
430(1)
Working through a Practical Example
431(2)
Summary
433(2)
Chapter 16 Script Control
435(36)
Handling Signals
435(8)
Signaling the Bash shell
435(1)
Generating signals
436(1)
Interrupting a process
436(1)
Pausing a process
437(1)
Trapping signals
438(2)
Trapping a script exit
440(1)
Modifying or removing a trap
441(2)
Running Scripts in Background Mode
443(4)
Running in the background
443(2)
Running multiple background jobs
445(2)
Running Scripts without a Hang-up
447(1)
Controlling the Job
448(3)
Viewing jobs
448(2)
Restarting stopped jobs
450(1)
Being Nice
451(3)
Using the nice command
452(1)
Using the renice command
453(1)
Running like Clockwork
454(9)
Scheduling a job using the at command
454(1)
Understanding the at command format
454(1)
Retrieving job output
455(2)
Listing pending jobs
457(1)
Removing jobs
457(1)
Scheduling regular scripts
458(1)
Looking at the cron table
458(1)
Building the cron table
459(1)
Viewing cron directories
460(1)
Looking at the anacron program
460(2)
Starting scripts with a new shell
462(1)
Working through a Practical Example
463(6)
Summary
469(2)
Part III Advanced Shell Scripting
471(208)
Chapter 17 Creating Functions
473(26)
Exploring Basic Script Functions
473(4)
Creating a function
474(1)
Using functions
474(3)
Returning a Value from a Function
477(3)
The default exit status
477(1)
Using the return command
478(1)
Using function output
479(1)
Using Variables in Functions
480(5)
Passing parameters to a function
480(2)
Handling variables in a function
482(1)
Global variables
483(1)
Local variables
484(1)
Investigating Array Variables and Functions
485(3)
Passing arrays to functions
485(2)
Returning arrays from functions
487(1)
Considering Function Recursion
488(1)
Creating a Library
489(2)
Using Functions on the Command Line
491(3)
Creating functions on the command line
491(1)
Defining functions in the bashrc file
492(1)
Directly defining functions
492(1)
Sourcing function files
493(1)
Working Through a Practical Example
494(3)
Downloading and installing
494(1)
Building the library
495(1)
The shtool library functions
496(1)
Using the library
497(1)
Summary
497(2)
Chapter 18 Writing Scripts for Graphical Desktops
499(32)
Creating Text Menus
499(6)
Create the menu layout
499(2)
Create the menu functions
501(1)
Add the menu logic
502(1)
Putting it all together
502(2)
Using the select command
504(1)
Doing Windows
505(11)
The dialog package
506(1)
The msgbox widget
507(1)
The yesno widget
508(1)
The inputbox widget
508(2)
The textbox widget
510(1)
The menu widget
511(1)
The fselect widget
512(1)
The dialog options
513(2)
Using the dialog command in a script
515(1)
Getting Graphic
516(9)
The KDE environment
517(1)
Kdialog Widgets
517(2)
Using kdialog
519(2)
The GNOME environment
521(1)
Zenity Widgets
521(2)
Using zenity in scripts
523(2)
Working Through a Practical Example
525(4)
Summary
529(2)
Chapter 19 Introducing sed and gawk
531(34)
Manipulating Text
531(11)
Getting to know the sed editor
532(1)
Defining an editor command in the command line
533(1)
Using multiple editor commands in the command line
534(1)
Reading editor commands from a file
534(1)
Getting to know the gawk program
535(1)
Visiting the gawk command format
536(1)
Reading the program script from the command line
536(1)
Using data field variables
537(1)
Using multiple commands in the program script
538(1)
Reading the program from a file
539(1)
Running scripts before processing data
539(1)
Running scripts after processing data
540(2)
Looking at the sed Editor Basic Commands
542(17)
Introducing more substitution options
542(1)
Substituting flags
542(1)
Replacing characters
543(1)
Using addresses
544(1)
Addressing the numeric line
544(1)
Using text pattern filters
545(1)
Grouping commands
546(1)
Deleting lines
547(2)
Inserting and appending text
549(2)
Changing lines
551(1)
Transforming characters
552(1)
Printing revisited
553(1)
Printing lines
554(1)
Printing line numbers
555(1)
Listing lines
555(1)
Using files with sed
556(1)
Writing to a file
556(1)
Reading data from a file
557(2)
Working Through a Practical Example
559(5)
Summary
564(1)
Chapter 20 Regular Expressions
565(26)
Exploring Regular Expressions
565(2)
A definition
565(2)
Types of regular expressions
567(1)
Defining BRE Patterns
567(12)
Plain text
567(2)
Special characters
569(1)
Anchor characters
570(1)
Starting at the beginning
570(1)
Looking for the ending
571(1)
Combining anchors
572(1)
The dot character
572(1)
Character classes
573(2)
Negating character classes
575(1)
Using ranges
576(1)
Special character classes
577(1)
The asterisk
578(1)
Trying Out Extended Regular Expressions
579(5)
The question mark
579(1)
The plus sign
580(1)
Using braces
581(1)
The pipe symbol
582(1)
Grouping expressions
583(1)
Working Through Some Practical Examples
584(5)
Counting directory files
584(1)
Validating a phone number
585(2)
Parsing an email address
587(2)
Summary
589(2)
Chapter 21 Advanced sed
591(36)
Looking at Multiline Commands
591(7)
Navigating the next command
592(1)
Using the single-line next command
592(1)
Combining lines of text
593(2)
Navigating the multiline delete command
595(1)
Navigating the multiline print command
596(2)
Holding Space
598(1)
Negating a Command
599(3)
Changing the Flow
602(4)
Branching
603(2)
Testing
605(1)
Replacing via a Pattern
606(2)
Using the ampersand
606(1)
Replacing individual words
607(1)
Placing sed Commands in Scripts
608(2)
Using wrappers
608(1)
Redirecting sed output
609(1)
Creating sed Utilities
610(9)
Spacing with double lines
610(1)
Spacing files that may have blanks
611(1)
Numbering lines in a file
612(1)
Printing last lines
613(1)
Deleting lines
614(1)
Deleting consecutive blank lines
615(1)
Deleting leading blank lines
616(1)
Deleting trailing blank lines
616(1)
Removing HTML tags
617(2)
Working Through a Practical Example
619(5)
Summary
624(3)
Chapter 22 Advanced gawk
627(32)
Using Variables
627(9)
Built-in variables
628(1)
The field and record separator variables
628(3)
Data variables
631(3)
User-defined variables
634(1)
Assigning variables in scripts
634(1)
Assigning variables on the command line
635(1)
Working with Arrays
636(2)
Defining array variables
636(1)
Iterating through array variables
637(1)
Deleting array variables
638(1)
Considering Patterns
638(3)
Regular expressions
639(1)
The matching operator
639(1)
Mathematical expressions
640(1)
Structured Commands
641(4)
The if statement
641(2)
The while statement
643(1)
The do-while statement
644(1)
The for statement
645(1)
Printing with Formats
645(3)
Using Built-in Functions
648(5)
Mathematical functions
649(1)
String functions
650(2)
Time functions
652(1)
Trying Out User-Defined Functions
653(2)
Defining a function
653(1)
Using your functions
654(1)
Creating a function library
654(1)
Working Through a Practical Example
655(2)
Summary
657(2)
Chapter 23 Working with Alternative Shells
659(20)
Considering the Dash Shell
659(2)
Looking at the Dash Shell Features
661(4)
The Dash command-line parameters
661(1)
The Dash environment variables
662(1)
Default environment variables
662(1)
Positional parameters
663(1)
User-defined environment variables
663(1)
The Dash built-in commands
664(1)
Scripting in Dash
665(3)
Creating Dash scripts
665(1)
Things that won't work
665(1)
Using arithmetic
666(1)
The test command
666(1)
The function command
667(1)
Exploring the zsh Shell
668(1)
Viewing Parts of the zsh shell
668(6)
Shell options
669(1)
Built-in commands
670(1)
Core built-in commands
670(3)
Add-in modules
673(1)
Viewing, adding, and removing modules
673(1)
Scripting with zsh
674(3)
Mathematical operations
674(1)
Performing calculations
674(1)
Mathematical functions
675(1)
Structured commands
676(1)
Functions
677(1)
Working Through a Practical Example
677(1)
Summary
678(1)
Part IV Creating and Managing Practical Scripts
679(62)
Chapter 24 Writing Simple Script Utilities
681(42)
Performing Backups
681(12)
Backing up files daily
682(1)
Obtaining the required functions
682(3)
Creating a daily archive location
685(1)
Creating a daily backup script
686(2)
Running the daily archive script
688(1)
Creating an hourly archive script
689(3)
Running the hourly archive script
692(1)
Managing Account Deletion
693(10)
Obtaining the required functions
693(1)
Getting the correct account name
693(2)
Creating a function to get the correct account name
695(1)
Verifying the entered account name
696(2)
Determining whether the account exists
698(1)
Removing any account processes
699(3)
Finding account files
702(1)
Removing the account
702(1)
Creating the script
703(5)
Running the script
708(2)
Monitoring Your System
710(11)
Obtaining the default shell audit functions
710(4)
Obtaining the permission audit functions
714(2)
Creating the script
716(3)
Running the script
719(2)
Summary
721(2)
Chapter 25 Getting Organized
723(18)
Understanding Version Control
723(4)
Working directory
724(1)
Staging area
725(1)
Looking at the local repository
725(1)
Exploring a remote repository
726(1)
Branching
726(1)
Cloning
726(1)
Using Git for VCS
727(1)
Setting Up Your Git Environment
727(5)
Committing with Git
732(7)
Summary
739(2)
Appendix A Quick Guide to Bash Commands 741(14)
Appendix B Quick Guide to sed and gawk 755(12)
Index 767
RICHARD BLUM has over three decades of experience working as a system and network administrator. He is the author of several Linux books and is an accomplished online Linux instructor.

CHRISTINE BRESNAHAN is an Adjunct Professor at Ivy Tech Community College where she teaches Linux certification and Python classes. She is the author of several Linux books, including the CompTIA Linux+ Study Guide, Fourth Edition.