Learning Linux Shell Scripting
图书信息
| 作者 | Ganesh Naik |
| 出版社 | Packt Publishing |
| ISBN | 9781788991537 |
| 出版时间 | 2018-05-21 |
| 字数 | 30.1万 |
| 分类 | 进口书,外文原版书,电脑,网络 |
读书简介
Break through the practice of writing tedious code with shell scripts About This Book ? Learn to impeccably build shell scripts and develop advanced applications ? Create smart solutions by writing and debugging scripts ? A step-by-step tutorial to automate routine tasks by developing scripts Who This Book Is For Learning Linux Shell Scripting is ideal for those who are proficient at working with Linux and want to learn about shell scripting to improve their efficiency and practical skills. What You Will Learn ? Familiarize yourself with the various text filtering tools available in Linux ? Understand expressions and variables and how to use them practically ? Automate decision-making and save a lot of time and effort of revisiting code ? Get to grips with advanced functionality such as using traps, dialogs to develop screens & Database administration such as MySQL or Oracle ? Start up a system and customize a Linux system ? Taking backup of local or remote data or important files. ? Use existing other language scripts such as Python, Perl & Ruby in Shell Scripts In Detail Linux is the most powerful and universally adopted OS. Shell is a program that gives the user direct interaction with the operating system. Scripts are collections of commands that are stored in a file. The shell reads this file and acts on commands as if they were typed on the keyboard. Learning Linux Shell Scripting covers Bash, GNU Bourne Again Shell, preparing you to work in the exciting world of Linux shell scripting. CentOS is a popular rpm-based stable and secured Linux distribution. Therefore, we have used CentOS distribution instead of Ubuntu distribution. Linux Shell Scripting is independent of Linux distributions, but we have covered both types of distros. We start with an introduction to the Shell environment and basic commands used. Next, we explore process management in Linux OS, real-world essentials such as debugging and perform Shell arithmetic fluently. You'll then take a step ahead and learn new and advanced topics in Shell scripting, such as decision making, starting up a system, and customizing a Linux environment. You will also learn about grep, stream editor, and AWK, which are very powerful text filters and editors. Finally, you'll get to grips with taking backup, using other language scripts in Shell Scripts as well as automating database administration tasks for MySQL and Oracle. By the end of this book, you will be able to confidently use your own shell scripts in the real world. Style and approach This practical book will go from the very basics of shell scripting to complex, customized automation. The idea behind this book is to be as practical as possible and give you the look and feel of what real-world scripting is like.
目录
Title Page
Copyright and Credits
Learning Linux Shell Scripting Second Edition
Dedication
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Reviews
Getting Started and Working with Shell Scripting
Comparison of shells
Tasks done by the shell
Working in the shell
Learning basic Linux commands
Our first script – Hello World
Compiler and interpreter – differences in process
When not to use scripts
Various directories
Working more effectively with Shell – basic commands
Working with permissions
Changing file permissions
The chmod command
Technique one – the symbolic method
Technique two – the numeric method
Setting umask
Setuid
Setgid
Sticky bit
Summary
Drilling Deep into Process Management, Job Control, and Automation
Introducing process basics
Monitoring processes using ps
Process management
Process monitoring tools – top, iostat, and vmstat
Understanding "at"
Understanding crontab
Summary
Using Text Processing and Filters in Your Scripts
Text filtering tools
Head and tail
The diff command
The cut command
The paste command
The join command
The uniq command
The comm command
The tr command
The sort command
IO redirection
File descriptors
Redirection
Brace expansion
Pattern matching with the vi editor
Pattern searching using grep
Summary
Working with Commands
Learning shell interpretation of commands
Checking and disabling shell internal commands
The exit status
Command substitution
Command separators
Command1; command2
Command grouping
Logical operators
Command1 & command2
Command1 && command2
Command1 || command2
Pipes
Summary
Exploring Expressions and Variables
Understanding variables
Working with environment variables
The local variable and its scope
Exporting variables
Working with read-only variables
Working with command-line arguments (special variables, set and shift, getopt)
Understanding set
Understanding shift
Resetting positional parameters
Understanding getopts
Understanding default parameters
Working with arrays
Creating an array and initializing it
Accessing array values
Summary
Neat Tricks with Shell Scripting
Interactive shell scripts – reading user input
Summarizing the read command with options
The here document and the << operator
The here operator with the sort command
The here operator with the wc command
The utility ed and here operator
A script for sending messages to all logged-in users
Using the << here operator for FTP usage and data transfer
Turning off variable substitution
The here string and the <<< operator
File handling
Introducing file handling
Using exec to assign a file descriptor (fd) to file
Understanding the opening, writing, and closing of a file
Understanding reading from a file
Understanding reading and writing to a file
Using the read command on a file descriptor (fd)
Reading from one file and writing to another file
Displaying the file descriptor information from the /proc folder
File handling - reading line by line
Executing the command and storing the results in a file
Summarizing usage of the exec command
Debugging
Debugging mode – disabling the shell (option -n)
Debugging mode - displaying commands (option -v)
Debugging mode – the tracing execution (option -x)
Summarizing the debugging options for the Bash shell
Using the set command
Summary of debugging options for the set command
The vi editor setting for debugging
Good practices for Shell scripts
Summary
Performing Arithmetic Operations in Shell Scripts
Using a declare command for arithmetic
Listing integers
Using the let command for arithmetic
Using the expr command for arithmetic
Using an arithmetic expansion
Binary, octal, and hex arithmetic operations
Floating-point arithmetic
Summary
Automating Decision-Making in Scripts
Checking the exit status of commands
Understanding the test command
Using the test command
Using the test command with double brackets
String comparison options for the test command
Numerical comparison operators for the test command
File test options for the test command
File-testing binary operators
Logical test operators
Conditional constructs – if else
Numerical handling if constructs
Using the exit command and the ? variable
String handling with the if construct
Checking for null values
File handling with the if command
Multiple test commands and if constructs
The if/elif/else command
The null command
Switching case
Implementing simple menus with select
Summary
Automating Repetitive Tasks
Looping with the for command
Exiting from the current loop iteration with the continue command
Exiting from a loop with a break
Working with the do – while loop
Using until
Piping the output of a loop to a Linux command
Running loops in the background
The IFS and loops
Summary
Working with Functions
Understanding functions
Displaying functions
Removing functions
Passing arguments or parameters to functions
Sharing the data with many functions
Declaring local variables in functions
Returning information from functions
Returning a word or string from a function
Running functions in the background
Command source and period (.)
Creating a library of functions
Summary
Using Advanced Functionality in Scripts
Understanding signals and traps
Using the trap command
Ignoring signals
Resetting signals
Listing traps
Using traps inside a function
Running scripts or processes even if the user logs out
Creating dialog boxes with the dialog utility
Creating a message box (msgbox)
Creating a message box (msgbox) with a title
The yes/no box (yesno)
The input box (inputbox)
The textbox (textbox)
A password box
The checklist box (checklist)
The menu box (menu)
The radiolist box (radiolist)
The progress meter box (gauge)
Summary
System Startup and Customizing a Linux System
System startup, inittab, and run levels
The kernel startup and init process
Understanding run levels
System initialization boot scripts
User initialization scripts
System-wide setting scripts
User level settings – default files
Summary
Pattern Matching and Regular Expressions with sed and awk
The basics of regular expressions
sed – non-interactive stream editor
Understanding sed
Understanding regular expression usage in sed
Addressing in sed
How to modify a file with sed
Printing – the p command
Deleting – the d command
Substitution – the s command
Range of selected lines the comma
Multiple edits – the e command
Reading from files – the r command
Writing to files – the w command
Appending – the a command
Inserting – the i command
Changing – the c command
Transform – the y command
Quit – the q command
Holding and getting – the h and g commands
Holding and exchanging – the h and x commands
sed scripting
Using awk
The meaning of awk
Using awk
Input from files
Input from commands
How awk works
awk commands from within a file
Records and fields
Records
The record separator
The $0 variable
The NR variable
Fields
Field separators
The input field separator
Patterns and actions
Patterns
Actions
Regular expressions
Writing the awk script file
Using variables in awk
Decision-making using an if statement
Using the for loop
Using the while loop
Using the do while loop
Summary
Taking Backup and Embedding Other Languages in Shell Scripts
Backup of files from command line
Backup command rsync
Backup across the network
Automating backup activity
Embedding other language codes or scripts in Bash shell scripts
Embedding other language code in Bash shell script
Sending output to Bash Script
Storing other language output to Bash variable
Sending data to an embedded language code
Using data from file by embedded language
Sending user input to the embedded code
Embedding Python code in Bash shell Script
Embedding Ruby code
Embedding other language code in Bash – comparative study
A summary of commands for embedding other programming languages
Summary
Database Administration Using Shell Scripts
Introduction to database administration
Working with a MySQL Database
Checking the version of MySQL database
Creating a database
Show databases
Creating a user
Creating a table in MySQL
Inserting data into table
Retrieving data from the table
Updating data
Deleting data
Altering a table
Describing a table
Drop the table
Drop the database
Working with Oracle Database
Switching to an Oracle user
Creating a user in Oracle SQL command line
The Grant statement
The Define command
Predefined variables
Create user through a shell script
Creating a table
Inserting the data into table
Retrieving data from a table
Update the data
Delete the data
Drop the table
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
- 诗书礼乐中的传统-陈致自选集(陈致)
- 白居易诗选((唐)白居易)
- 每晚一个离奇故事-2(蜚语春雾)
- 麦肯锡高效反馈技巧((英)服部周作)
- 九年级+中考-快捷英语周周练-完形填空(石骥)
- 全球通胀与衰退(滕泰张海冰)
- 老年人辅助器具应用(王文焕)
- 大学生就业指导(范崇源,姚旭东,杨梅)
