Home > Article > Backend Development > Detailed introduction to basic learning of Linux shell scripts (2)
Linux Shell Script Basics Course The previous lecture introduced the beginning, comments, variables and environment variables of the basic grammar. Here we will introduce the first part of the shell command and control process. There are three types of commands that can be used in shell scripts, and Let’s leave the control process to the next lesson.
1.1.5 Shell commands and process control
Three types of commands can be used in shell scripts:
1)Unix commands:
Although any unix command can be used in shell scripts, there are still Some of the more commonly used commands. These commands are usually used for file and text operations.
Common command syntax and functions
echo "some text": Print text content on the screen
ls: File list
wc –l filewc -w filewc -c file: Calculate the number of file lines The number of words in the file counts the number of characters in the file
cp sourcefile destfile: file copy
mv oldname newname: rename the file or move the file
rm file: delete the file
grep 'pattern' file: Search for a string in a file, for example: grep 'searchstring' file.txt
cut -b colnum file: Specify the file content range to be displayed, and output them to the standard output device. For example: output the 5th to 5th lines of each line. 9 characters cut -b5-9 file.txt must not be confused with the cat command, these are two completely different commands
cat file.txt: Output the contents of the file to the standard output device (screen)
file somefile: Get the file type
read var: Prompt the user for input and assign the input to the variable
sort file.txt: Sort the lines in the file.txt file
uniq: Delete the lines that appear in the text file Lines and columns, for example: sort file.txt | uniq
expr: Perform mathematical operationsExample: add 2 and 3expr 2 "+" 3
find: Search for files, for example: search based on file name find . -name filename -print
tee: Output data to the standard output device (screen) and file. For example: somecommand | tee outfile
basename file: Return the file name without a path. For example: basename /bin/tux will return tux
dirname file: Return the path of the file. For example: dirname /bin/tux will return /bin
head file: print the first few lines of the text file
tail file: print the last few lines of the text file
sed: Sed is a basic search Replacement program. You can read text from standard input (such as a command pipe) and output
the results to standard output (screen). This command uses regular expressions (see Reference) to search. Not to be confused with wildcards in the shell. For example: replace linuxfocus with LinuxFocus: cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.fileawk: awk is used to extract fields from text files. By default, the field separator is a space. You can use -F to specify other separators.
cat file.txt | awk -F, '{print $1 "," $3 }'Here we use as the field separator to print the first and third fields at the same time. If the content of the file is as follows: Adam Bor, 34, IndiaKerry Miller, 22, USA, the command output is: Adam Bor, IndiaKerry Miller, USA
2) Concept: pipeline, redirection and backtick
These are not system commands, But they are really important.
Pipe (|) uses the output of one command as the input of another command.
grep "hello" file.txt | wc -l
Search for lines containing "hello" in file.txt and count the number of lines.
Here the output of the grep command is used as the input of the wc command. Of course you can use multiple commands.
Redirect: Output the results of the command to a file instead of the standard output (screen).
> Write to the file and overwrite the old file
>> Add to the end of the file, retaining the content of the old file.
Backslash
Use the backslash to use the output of one command as a command line parameter of another command.
Command:
find . -mtime -1 -type f -print
is used to find files modified in the past 24 hours (-mtime -2 means the past 48 hours). If you want to package all found files into one package, you can use the following script:
#!/bin/sh
# The ticks are backticks (`) not normal quotes ('):
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
That’s it for the second lecture. We will continue to talk about the control process in the next lecture on the basics of Linux shell scripts.
The above is a detailed introduction to the basic learning of Linux shell scripts (2). For more related content, please pay attention to the PHP Chinese website (m.sbmmt.com)!