1. Summarize the use of the commands involved in this course and show the relevant examples;
Rights Management:
Rights Management: chmod
Affiliation Management: Chown, CHGRP
File Matte Code: Umask
Modify file Permissions: chmod
chmod [OPTION] ... Mode[,mode] ... FILE ...
chmod [OPTION] ... Octal-mode FILE ...
chmod [OPTION] ...--reference=rfile FILE:
Three categories:
U:owner
G:group
O:other
A:all
Two ways to use:
=mode
=rx, =r, =
Ug=rx, go=
[+|-]mode
U+r,
+w
+x
-r:recursive
Modified file owner: Chown
chown [OPTION] ... [OWNER] [: [GROUP]] FILE ...
chown [OPTION] ...--reference=rfile FILE ...
-r:recursive
Modified file group: CHGRP
Umask: Masking Code
Catalog: 777-umask
Files: 666-umask
If the permissions of a certain class of users have permission to execute, it will automatically add 1 to its permission bit.
Umask umask
Set: Valid only for the current shell process;
2. Summarize basic regular expressions and extended regular expressions
Grep:
Linux Text Processing Three musketeers:
grep: Text filtering tool;
Sed: Text editor (line); stream editor
awk: Text report Generator; awk implementation on Linux is gawk
Grep:global search REgular expression and Print out of the line.
Function: Text Search tool, according to user-specified "pattern" line to search for target text, print the matching line;
Pattern: The filter condition written by metacharacters and text characters of regular expressions;
Metacharacters: A character does not represent its literal meaning, but is used to denote a wildcard or control function;
Divided into two categories:
Basic Regular Expressions: BRE
Extended Regular expression: ERE
The regular expression engine;
grep [OPTIONS] PATTERN [FILE ...] :
Options:
--color=auto: The matching to the string to do highlighting;
-V: The display mode does not match the row;
-I: ignore character case;
-O: Displays only strings that can be matched to the pattern;
-Q: Silent mode;
-E: Using extended regular expressions;
The metacharacters of the basic regular expression:
Character Matching:
. : matches any single character;
[]: matches any single character within the specified range;
[^]: matches any single character outside the specified range;
Character Set:
POSIX Character Set Collection |
Description |
[: Alnum:] |
Any one letter or number (A-Z, A-Z, 0-9) |
[: Alpha:] |
Any one letter (A-Z, A-Z) |
[: ASCII:] |
Any one ASCII range character (\x00–\x7f) |
[: Cntrl:] |
Any one control character (\x00–\x1f, \x7f) |
[:d Igit:] |
Any one number (0–9) |
[:p rint:] |
Any one of the ASCII characters that can be displayed (\x20–\x7e) |
[: Space:] |
Any one whitespace character (\x09–\x0d, \x20) |
[: Graph:] |
Any one of the ASCII characters that can be displayed, without spaces (\x21–\x7e) |
[: Lower:] |
Any one lowercase letter (a–z) |
[: Upper:] |
Any one capital letter (a–z) |
[:p UNCT:] |
can display the character [:p rint:] to remove the alphanumeric [: alnum:] |
[: Xdigit:] |
Any one hexadecimal digit (0-9, a-f, a-f) |
[: Blank:] |
Spaces or tabs (\x20, \x09) |
Description |
When [: is followed by ^ , the character that represents the corresponding character set is not matched. |
Number of occurrences: used to specify the number of times after the character;
*: any time;
Abxy
Xay
Xxxxxxxy
grep "X*y"
\?:0 or 1 times;
grep "X\?y"
\+:1 or multiple times;
\{m\}: Precisely limited to M times;
\{m,n\}: At least m times, up to n times, [M,n]
\{0,n\}: Up to n times;
\{m,\}: at least m times;
. *: Matches any character of any length;
Location anchoring:
^: Anchor at the beginning of the line, for the leftmost mode;
$: End of line anchoring; for the rightmost side of the pattern;
\< \b: The first anchor of the word; the left side of the pattern used to denote the word;
\> \b: the ending anchor; the right side of the pattern used to represent the word;
^$: blank line;
Group: \ (\)
The contents of the pattern in the grouped parentheses are recorded by the regular expression engine during execution, and the built-in variables are saved: The variables are \1, \2, ...
\1: From the left, the first opening parenthesis, and the matching right parenthesis in the middle of the pattern match to the content;
\2:
...
Back reference: Use a variable to refer to the character that matches the pattern in the preceding grouping brackets;
An extended regular expression:
The grep family has three commands:
grep: basic Regular expression
-e: extending regular expressions
-F: Regular expressions are not supported
Egrep: Extending Regular expressions
Fgrep: Regular expressions are not supported
Extend the metacharacters of regular expressions:
differs from the basic regular expression:
Number of matches:
*
?: 0 or 1 times;
+: more than 1 times;
{m}: exact match m times;
{M,n}: At least m times, up to n times;
Group: ()
Back reference: \1, \2, ...
Or:
A|b
C|cat: does not represent cat or cat, but is C or cat;
To be written (C|c) at
3. Display the lines in the/etc/passwd file that end with bash
[[email protected] ~]# grep ' \ (bash\) $ '/etc/passwd
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m01/72/56/wkiom1xhjrar2muhaae_djho51c425.jpg "width=" 642 "height=" 216 "/>
4. Display the two-digit or three-digit number in the/etc/passwd file
[[email protected] ~]# grep ' \b[0-9]\{2,3\}\b '/etc/passwd
Or
[Email protected] ~]# grep-e ' \b[0-9]{2,3}\b '/etc/passwd
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m02/72/56/wkiom1xhjruydb4eaakzai6auke414.jpg "width=" 726 "height=" 376 "/>
Attention:
[[email protected] ~]# grep ' [0-9]\{2,3\} '/etc/passwd wrong wording
5. Display lines with ' LISTEN ' followed by 0, one or more whitespace characters in the ' Netstat-tan ' command result
[Email protected] ~]# Netstat-tan | grep ' Listen[[:space:]] *$ '
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m00/72/53/wkiol1xhmmhiyghraaeonb9dces528.jpg "width=" 833 "height=" 290 "/>
6. Add user bash, Testbash, basher, and Nologin user (Nologin user's shell is/sbin/nologin), then find the same line in the/etc/passwd file as the user name and its shell name
[Email protected] ~]# egrep ' (\b[a-z]+[a-z]\b). *\1$ '/etc/passwd
Description: * Previous matches 0 or n times, \1 references the first \ (\) in front of the $ to what end
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m01/72/53/wkiol1xhmmlhqsa3aafek2ox718828.jpg "width=" 925 "height=" 261 "/>
7. Display the default shell and UID of root, CentOS, or User1 user on the current system (please create these users beforehand, if not present)
[[email protected] ~]# egrep ' ^ (root|centos|user1) '/etc/passwd | Cut-d:-f3,7
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m02/72/53/wkiol1xhmmswagffaacl8tgu98u098.jpg "width=" 943 "height=" 215 "/>
8, find a word in the/etc/rc.d/init.d/functions file (the middle of the word can be underlined) followed by a set of parentheses line
[[email protected] ~]# egrep ' ^ (\w+) \ (. *\) '/etc/rc.d/init.d/functions//This effect is immediately followed by a word ()
[[email protected] ~]# egrep ' ^\w+.*\ (. *\) '/etc/rc.d/init.d/functions//This effect is not followed by a word (), but there is (), and does not end with ()
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m00/72/53/wkiol1xhmmahgocqaaefjod_ric748.jpg "width=" 966 "height=" 385 "/>
9, use echo to output a path, and then egrep find its path base name; Further use Egrep to remove its directory name
Path base Name
[Email protected] ~]# echo "/etc/sysconfig/modules/" | Egrep ' [^/]+/$ '
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m01/72/53/wkiol1xhmmez0qzraab-bqzj1k0740.jpg "width=" 687 "height=" 165 "/>
Directory Name
[Email protected] ~]# echo "/etc/sysconfig/modules" | Egrep--color=auto ' (^[/].*[/]\b) '
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m02/72/53/wkiol1xhmmijso7waab36ued1ey006.jpg "width=" 682 "height=" 158 "/>
Description
[Email protected] ~]# basename/etc/sysconfig/modules/
Modules
[Email protected] ~]# dirname/etc/sysconfig/modules/
/etc/sysconfig
[Email protected] ~]#
10. Find the number between 1-255 in the result of ifconfig command execution
[Email protected] ~]# Ifconfig | Egrep-n ' \b[1-9]\b|\b[1-9][0-9]\b|\b[1-2][0-9][0-5]\b|\b[1][0-9][0-9] '
Effect:
650) this.width=650; "title=" image "style=" border-right-width:0px;background-image:none;border-bottom-width:0px; padding-top:0px;padding-left:0px;padding-right:0px;border-top-width:0px; "border=" 0 "alt=" image "src=" http:// S3.51cto.com/wyfs02/m01/72/53/wkiol1xhmm2jjhr7aaiwj0ktpn8676.jpg "width=" "height=" 297 "/>
Description of Linux regular expressions and extended expressions, egrep commands (August 27 job exercise)