grep 整理

grep 整理

    • 1. 正则表达式和通配符
    • 2. grep
      • 2.1 基本用法
      • 2.2 进阶使用
      • 2.3 配合正则表达式使用
      • 2.4 grep增强版

在这里插入图片描述

1. 正则表达式和通配符

首先,我们回顾下正则表达式和通配符相关内容,这有助于接下来的grep学习:

基础正则表达式

RE 字符意义与范例
^word意义:待搜寻的字符串(word)在行首!范例:搜寻行首为 # 开始的那一行,并列出行号。grep -n ‘^#’ regular_express.txt
word$意义:待搜寻的字符串(word)在行尾!范例:将行尾为 ! 的那一行打印出来,并列出行号。grep -n ‘!$’ regular_express.txt
.意义:代表『一定有一个任意字符』的字符!范例:搜寻的字符串可以是 (eve) (eae) (eee) (e e), 但不能仅有 (ee) !亦即 e 与 e 中间『一定』仅有一个字符,而空格符也是字符!grep -n ‘e.e’ regular_express.txt
\意义:跳脱字符,将特殊符号的特殊意义去除!范例:搜寻含有单引号 ’ 的那一行!grep -n ’ regular_express.txt
*意义:重复零个到无穷多个的前一个 RE 字符。范例:找出含有 (es) (ess) (esss) 等等的字符串,注意,因为 * 可以是 0 个,所以 es 也是符合带搜寻字符串。另外,因为 * 为重复『前一个 RE 字符』的符号, 因此,在 * 之前必须要紧接着一个 RE 字符喔!例如任意字符则为 『.*』 !grep -n ‘ess*’ regular_express.txt
[list]意义:字符集合的 RE 字符,里面列出想要撷取的字符!范例搜寻含有 (gl) 或 (gd) 的那一行,需要特别留意的是,在 [] 当中『谨代表一个待搜寻的字符』, 例如『 a[afl]y 』代表搜寻的字符串可以是 aay, afy, aly 即 [afl] 代表 a 或f 或 l 的意思!grep -n ‘g[ld]’ regular_express.txt
[n1-n2]意义:字符集合的 RE 字符,里面列出想要撷取的字符范围!范例:搜寻含有任意数字的那一行!需特别留意,在字符集合 [] 中的减号 - 是有特殊意义的,他代表两个字符之间的所有连续字符!但这个连续与否与 ASCII 编码有关,因此,你的编码需要设定正确(在 bash 当中,需要确定 LANG 与 LANGUAGE 的变量是否正确!) 例如所有大写字符则为 [A-Z]。grep -n ‘[A-Z]’ regular_express.txt
[^list]意义:字符集合的 RE 字符,里面列出不要的字符串或范围!范例:搜寻的字符串可以是 (oog) (ood) 但不能是 (oot) ,那个 ^ 在 [] 内时,代表的意义是『反向选择』的意思。 例如,我不要大写字符,则为 [^A-Z]。但是,需要特别注意的是,如果以 grep -n [^A-Z] regular_express.txt 来搜寻,却发现该文件内的所有行都被列出,为什么?因为这个 [^A-Z] 是『非大写字符』的意思, 因为每一行均有非大写字符,例如第一行的 “Open Source” 就有 p,e,n,o… 等等的小写字。grep -n ‘oo[^t]’ regular_express.txt
\{ n,m\}意义:连续 n 到 m 个的『前一个 RE 字符』意义:若为 {n} 则是连续 n 个的前一个 RE 字符,意义:若是 {n,} 则是连续 n 个以上的前一个 RE 字符! 范例:在 g 与 g 之间有 2 个到3 个的 o 存在的字符串,亦即 (goog)(gooog)grep -n ‘go{2,3}g’ regular_express.txt

兼容于 POSIX 的正则表达式

描述
[[:alpha:]]匹配任意字母字符,不管大小写,[a-z],[A-Z]
[[:alnum:]]匹配任意字母字符和数字,[0-9],[a-z],[A-Z]
[[:upper:]]匹配大写字母,[A-Z]
[[:lower:]]匹配小写字母,[a-z]
[[:digit:]]匹配数字,[0-9]
[[:blank:]]匹配空格或值表符
[[:cntrl:]]代表键盘上面的控制按键,亦即包括 CR, LF, Tab, Del… 等等
[[:graph:]]除了空格符 (空格键与 [Tab] 按键) 外的其他所有按键
[[:print:]]匹配任意可打印字符
[[:punct:]]匹配标点符号
[[:space:]]匹配任意空白字符,空格,制表,NL,FF,VT,CR
[[:xdigit:]]代表 16 进位的数字类型,因此包括: 0-9, A-F, a-f 的数字与字符

上表中的[:alnum:], [:alpha:], [:upper:], [:lower:], [:digit:]代表区间合集,注意在匹配中只能代表一个字符

扩展正则表达式

RE 字符意义与范例
+意义:重复『一个或一个以上』的前一个 RE 字符
范例:搜寻 (god) (good) (goood)… 等等的字符串。 那个 o+ 代表『一个以上的 o 』所以,底下的执行成果会将第 1, 9, 13 行列出来。
egrep -n 'go+d' regular_express.txt
?意义:『零个或一个』的前一个 RE 字符
范例:搜寻 (gd) (god) 这两个字符串。 那个 o? 代表『空的或 1 个 o 』所以,上面的执行成果会将第 13, 14 行列出来。 有没有发现到,这两个案例( ‘go+d’ 与 ‘go?d’ )的结果集合与 ‘go*d’ 相同?想想看,这是为什么喔! ^_^
egrep -n 'go?d' regular_express.txt
|意义:用或( or )的方式找出数个字符串
范例:搜寻 gd 或 good 这两个字符串,注意,是『或』! 所以,第 1,9,14 这三行都可以被打印出来喔!那如果还想要找出 dog 呢?
egrep -n 'gd|good' regular_express.txt
egrep -n 'gd|good|dog' regular_express.txt
()意义:找出『群组』字符串
范例:搜寻 (glad) 或 (good) 这两个字符串,因为 g 与 d 是重复的,所以,我就可以将 la 与 oo 列于 ( ) 当中,并以 | 来分隔开来,就可以啦!
egrep -n 'g(la|oo)d' regular_express.txt
()+意义:多个重复群组的判别
范例:将『AxyzxyzxyzxyzC』用 echo 叫出,然后再使用如下的方法搜寻一下!echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C'
上面的例子意思是说,我要找开头是 A 结尾是 C ,中间有一个及以上的 “xyz” 字符串的意思~

linux通配符

符号意义
*代表『 0 个到无穷多个』任意字符
?代表『一定有一个,单个字符』任意字符
[ ]同样代表『一定有一个在括号内』的字符(非任意字符)。例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』
[ - ]若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如 [0-9] 代表 0 到 9 之间的所有数字,因为数字的语系编码是连续的!
[^ ]若中括号内的第一个字符为指数符号 (^) ,那表示『反向选择』,例如 [^abc] 代表 一定有一个字符,只要是非 a, b, c 的其他字符就接受的意思。

linux特殊符号

符号内容
#批注符号:这个最常被使用在 script 当中,视为说明!在后的数据均不执行
\跳脱符号:将『特殊字符或通配符』还原成一般字符
|管线 (pipe):分隔两个管线命令的界定(后两节介绍);
;连续指令下达分隔符:连续性命令的界定 (注意!与管线命令并不相同)
~用户的家目录
$取用变数前导符:亦即是变量之前需要加的变量取代值
&工作控制 (job control):将指令变成背景下工作
!逻辑运算意义上的『非』 not 的意思!
/目录符号:路径分隔的符号
>, >>数据流重导向:输出导向,分别是『取代』与『累加』
<, <<数据流重导向:输入导向 (这两个留待下节介绍)
’ ’单引号,不具有变量置换的功能 ($ 变为纯文本)
" "具有变量置换的功能! ($ 可保留相关功能)
` `两个『 ` 』中间为可以先执行的指令,亦可使用 $( )
( )在中间为子 shell 的起始与结束
{ }在中间为命令区块的组合!

没有对比就没有伤害~,我们发现正则表达式和通配符中有一些符号相同,但含义不同

符号RE含义通配符含义
*重复零个到无穷多个的前一个 RE 字符代表『 0 个到无穷多个』任意字符
?『零个或一个』的前一个 RE 字符代表『一定有一个,单个字符』任意字符
>[root@node-249 test]# touch {101..110}
[root@node-249 test]# ls
101  102  103  104  105  106  107  108  109  110
[root@node-249 test]# ls|grep '10*'
101
102
103
104
105
106
107
108
109
110
[root@node-249 test]# ls 10*
101  102  103  104  105  106  107  108  109
[root@node-249 test]# ls |egrep '10?'
101
102
103
104
105
106
107
108
109
110
[root@node-249 test]# ls 10?
101  102  103  104  105  106  107  108  109

2. grep

文本搜索工具

grep (缩写来自Globally search a Regular Expression and Print)是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。Unix的grep家族包括grepegrepfgrep。Windows系统下类似命令FINDSTR

egrepfgrep的命令只跟grep有很小不同。egrep和fgrep都是grep的扩展,支持更多的re元字符,fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G-E-F命令行选项来使用egrep和fgrep的功能。

In addition, two variant programs egrep and fgrep are available. egrep is the same as grep -E. fgrep is the same as grep -F. Direct invocation as either egrep or fgrep is deprecated, but is provided to allow historical applications that rely on them to run unmodified.

egrep和fgrep并不推荐使用

默认grep只支持基础正则表达式,而通过grep -E或者egrep则可以使用扩展正则表达式

关于基础正则表达式和扩展正则表达式,可以查看
https://blog.csdn.net/u010230019/article/details/132075257
https://blog.csdn.net/u010230019/article/details/132097203

2.1 基本用法

grep [-acinv] [--color=auto] '搜寻字符串' filename
#选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的行数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

示例

[root@node-249 test]# cat txt
100
101
105
110
111
115
120
121
125
Dog
dog
[root@node-249 test]# grep -c '11' txt
3
[root@node-249 test]# vim txt
[root@node-249 test]# grep -i 'dog' txt
Dog
dog
[root@node-249 test]# grep  'dog' txt
dog
[root@node-249 test]# grep -ni 'dog' txt
10:Dog
11:dog
[root@node-249 test]# grep -v 'dog' txt
100
101
105
110
111
115
120
121
125
Dog
[root@node-249 test]# grep --color 'dog' txt
dog
[root@node-249 test]# grep --color '11' txt
110
111
115
[root@node-249 test]# grep --color '10' txt
100
101
105
110
[root@node-249 test]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

2.2 进阶使用

[dmtsai@study ~]$ grep [-A] [-B] [--color=auto] '搜寻字符串' filename
#选项与参数:
-A :后面可加数字,为 after 的意思,除了列出该行外,以该行为锚点,后续的 n 行也列出来;
-B :后面可加数字,为 befer 的意思,除了列出该行外,以该行为锚点,前面的 n 行也列出来;
-n :显示匹配内容的行号
-i :忽略大小写
--color=auto 可将正确的那个撷取数据列出颜色
-l :列出文件名

示例

[root@node-249 test]# grep -A1 -B1 '110' txt
105
110
111

2.3 配合正则表达式使用

这里我们编写个内容更多的文件

[root@node-249 test]# cat txt
"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
However, this dress is about $ 3183 dollars.^M
GNU is free air not free beer.^M
Her hair is very beauty.^M
I can't finish the test.^M
Oh! The soup taste good.^M
motorcycle is cheap than car.
This window is clear.
the symbol '*' is represented as start.
Oh! My god!
The gd software is a library for drafting programs.^M
You are the best is mean you are the no. 1.
The world <Happy> is the same with "glad".
I like dog.
google is the best tools for search keyword.
goooooogle yes!
go! go! Let's go.
# I am VBird
  • 利用中括号 [] 来搜寻集合字符
#只能匹配a或e一个字符
[root@node-249 test]# grep -n 't[ae]ste*' txt
8:I can't finish the test.^M
9:Oh! The soup taste good.^M#匹配不包含g或o连接的oo字符串
[root@node-249 test]# grep -n '[^go]oo' txt
2:apple is my favorite food.
3:Football game is not use feet only.
18:google is the best tools for search keyword.#匹配不以小写字母连接的oo
[root@node-249 test]# grep -n '[^a-z]oo' txt
3:Football game is not use feet only.[root@node-249 test]# grep -n '[^[:lower:]]oo' txt
3:Football game is not use feet only.#匹配数字
[root@node-249 test]# grep -n '[0-9]' txt
5:However, this dress is about $ 3183 dollars.^M
15:You are the best is mean you are the no. 1.#匹配数字
[root@node-249 test]# grep -n [[:digit:]] txt
5:However, this dress is about $ 3183 dollars.^M
15:You are the best is mean you are the no. 1.
  • 行首与行尾字符 ^ $
#以the开头的行
[root@node-249 test]# grep -n '^the' txt
12:the symbol '*' is represented as start.#以大写字母开头的行
[root@node-249 test]# grep -n '^[A-Z]' txt
#不包含大写字母的单词
[root@node-249 test]# grep -n '[^A-Z]' txt#以小写字母开头的行
[root@node-249 test]# grep -n '^[[:lower:]]' txt
2:apple is my favorite food.
4:this dress doesn't fit me.
10:motorcycle is cheap than car.
12:the symbol '*' is represented as start.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.#不以小写字母开头的行
[root@node-249 test]# grep -n '^[^[:lower:]]' txt
1:"Open Source" is a good mechanism to develop programs.
3:Football game is not use feet only.
5:However, this dress is about $ 3183 dollars.^M
6:GNU is free air not free beer.^M
7:Her hair is very beauty.^M
8:I can't finish the test.^M
9:Oh! The soup taste good.^M
11:This window is clear.
13:Oh! My god!
14:The gd software is a library for drafting programs.^M
15:You are the best is mean you are the no. 1.
16:The world <Happy> is the same with "glad".
17:I like dog.
21:# I am VBird#不以字母开头的行
[root@node-249 test]# grep -n '^[^a-zA-Z]' txt
1:"Open Source" is a good mechanism to develop programs.
21:# I am VBird[root@node-249 test]# grep -n '^[^[:alpha:]]' txt
1:"Open Source" is a good mechanism to develop programs.
21:# I am VBird#以.结尾的行
[root@node-249 test]# grep -n '\.$' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
...#匹配空行和非空行
[root@node-249 test]# echo '' >> txt
[root@node-249 test]# grep -n '^$' txt
22:
[root@node-249 test]# grep -nv '^$' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
5:However, this dress is about $ 3183 dollars.^M
6:GNU is free air not free beer.^M
...
  • 任意一个字符.与重复字符 *

.(小数点):代表『一定有一个任意字符』的意思;
* (星星号):代表『重复前一个字符, 0 到无穷多次』的意思,为组合形态

[root@node-249 test]# grep -n 'g..d' txt
1:"Open Source" is a good mechanism to develop programs.
9:Oh! The soup taste good.^M
16:The world <Happy> is the same with "glad".#至少两个 o 以上的字符串
[root@node-249 test]# grep -n 'ooo*' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.^M
18:google is the best tools for search keyword.
19:goooooogle yes!#以g开头,g结尾中间至少一个o
[root@node-249 test]# grep -n 'goo*g' txt
18:google is the best tools for search keyword.
19:goooooogle yes!#以g开头,g结尾,中间可以有任意个字符
[root@node-249 test]# grep -n 'g.*g' txt
1:"Open Source" is a good mechanism to develop programs.
14:The gd software is a library for drafting programs.^M
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.#至少有两个数字
[root@node-249 test]# grep -n '[0-9][0-9][0-9]*' txt
5:However, this dress is about $ 3183 dollars.^M
  • 限定连续 RE 字符范围 {}
    限制一个范围区间内的重复字符数

注意:因为 { 与 } 的符号在 shell 是有特殊意义的,因此, 我们必须要使用跳脱字符 \ 来让他失去特殊意义才行

#连续出现2次以上的o
[root@node-249 test]# grep -n 'o\{2\}' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
9:Oh! The soup taste good.^M
18:google is the best tools for search keyword.
19:goooooogle yes!#数量限制
[root@node-249 test]# grep -n 'go\{2,5\}g' txt
18:google is the best tools for search keyword.
[root@node-249 test]# grep -n 'go\{2,\}g' txt
18:google is the best tools for search keyword.
19:goooooogle yes!
[root@node-249 test]# grep -n 'go\{,5\}g' txt
18:google is the best tools for search keyword.

2.4 grep增强版

这里提到的grep增强版egrep,由于egrep不推荐使用,所以这里我们用grep -E代替

egrep是一种增强版的grep,它使用更多的正则表达式来搜索文本,比如可以使用更多的元字符,更多的重复模式,更多的可选项等。

#匹配()中字符串一个及以上
[root@node-249 test]#  echo 'AxyzxyzxyzxyzC' | grep -E 'A(xyz)+C'
AxyzxyzxyzxyzC
[root@node-249 test]#  echo 'AxyzxyzxyzxyzC' | grep -E 'A(x)+C'
[root@node-249 test]##匹配o零个或1个
[root@node-249 test]# grep -En 'o?' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
5:However, this dress is about $ 3183 dollars.^M
6:GNU is free air not free beer.^M
7:Her hair is very beauty.^M
8:I can't finish the test.^M
9:Oh! The soup taste good.^M
10:motorcycle is cheap than car.
11:This window is clear.
12:the symbol '*' is represented as start.
13:Oh! My god!
14:The gd software is a library for drafting programs.^M
15:You are the best is mean you are the no. 1.
16:The world <Happy> is the same with "glad".
17:I like dog.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.
21:# I am VBird
22:#匹配o 零个或多个
[root@node-249 test]# grep -En 'o*' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
5:However, this dress is about $ 3183 dollars.^M
6:GNU is free air not free beer.^M
7:Her hair is very beauty.^M
8:I can't finish the test.^M
9:Oh! The soup taste good.^M
10:motorcycle is cheap than car.
11:This window is clear.
12:the symbol '*' is represented as start.
13:Oh! My god!
14:The gd software is a library for drafting programs.^M
15:You are the best is mean you are the no. 1.
16:The world <Happy> is the same with "glad".
17:I like dog.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.
21:# I am VBird
22:#匹配o 1个及以上
[root@node-249 test]# grep -En 'o+' txt
1:"Open Source" is a good mechanism to develop programs.
2:apple is my favorite food.
3:Football game is not use feet only.
4:this dress doesn't fit me.
5:However, this dress is about $ 3183 dollars.^M
6:GNU is free air not free beer.^M
9:Oh! The soup taste good.^M
10:motorcycle is cheap than car.
11:This window is clear.
12:the symbol '*' is represented as start.
13:Oh! My god!
14:The gd software is a library for drafting programs.^M
15:You are the best is mean you are the no. 1.
16:The world <Happy> is the same with "glad".
17:I like dog.
18:google is the best tools for search keyword.
19:goooooogle yes!
20:go! go! Let's go.#匹配good或glad
[root@node-249 test]# grep -En 'g(oo|la)d' txt
1:"Open Source" is a good mechanism to develop programs.
9:Oh! The soup taste good.^M
16:The world <Happy> is the same with "glad".#gd之间只能是o,至少一个
[root@node-249 test]# grep -En 'g(o)+d' txt
1:"Open Source" is a good mechanism to develop programs.
9:Oh! The soup taste good.^M
13:Oh! My god!

比较常用的命令

#去除空行和注释行,这个对查看配置文件很有用
[root@node-249 test]# grep -Ev '^$|^#' txt
"Open Source" is a good mechanism to develop programs.
apple is my favorite food.
Football game is not use feet only.
this dress doesn't fit me.
However, this dress is about $ 3183 dollars.^M
...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/11333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目经理根本不需要考PMP证书,浪费?

我首先会考虑你是否有这方面的需求&#xff0c;这是肯定的。如果你只是为了跟风而考证&#xff0c;因为别人都在考&#xff0c;所以你也跟着考&#xff0c;这样做是毫无意义的。 那么如何判断自己是否有这方面的需求呢&#xff1f; 1、工作 在工作中要考虑三个条件&#xff…

内裤什么牌子的质量好男士?2024男士内裤排行榜出炉

换新内裤这件事情对很难男生来说都挺难的&#xff0c;因为现在的男士内裤品牌比较多&#xff0c;而且还有各种不同材质的区分。尤其是大多数男士对自己穿的内裤都不是特别在意&#xff0c;实际上如果长期不更换内裤&#xff0c;会使内裤的舒适性、透气性降低&#xff0c;而且还…

附录2 创建flask镜像

目录 1 python镜像 2 安装flask 3 把项目文件扔进去 3.1 创建git仓库 3.2 上传文件 3.3 获取git链接 3.4 在容器中git clone 4 启动flask服务 5 将容器保存为镜像 6 映射端口运行镜像 7 遇到的问题 8 Dockerfile创建镜像 1 python镜像 首先找一下fla…

【全开源】keep健身小程序基于FastAdmin+ThinkPHP+UniApp

基于FastAdminUniApp&#xff08;目前仅支持微信小程序&#xff09;开发的健身相关行业小程序&#xff0c;程序适用于健身房、瑜伽馆、游泳馆、篮球馆等健身培训场所。平台拥有课程售卖、课程预约、多门店管理、私教预约、教练端、会员卡办理、在线商城、分销模块、页面自定义装…

Charles客户端下载

1.Charles客户端下载&#xff1a; 官网地址&#xff1a;Download a Free Trial of Charles • Charles Web Debugging Proxy 2.下载安装完成后激活 激活网站地址&#xff1a;https://www.zzzmode.com/mytools/charles/ 3.help&#xff0c;选择第一个&#xff0c;激活

Docker基础复习

文章目录 基础Docker基础命令镜像操作命令容器操作命令 案例:安装MySql案例:查看DockerHub&#xff0c;拉取Nginx镜像&#xff0c;并运行容器Docker命令起别名 基础 Docker基础命令 启动Docker systemctl start docker镜像操作命令 从远程仓具下载镜像到本地 docker pull 镜像…

Linux开发--Linux字符设备驱动设计

Linux字符设备驱动设计 概述 驱动的定义与功能 计算机系统中存在着大量的设备&#xff0c; 操作系统要求能够控制和管理这些硬件&#xff0c; 而驱动就是帮助操作系统完成这个任务。 驱动相当于硬件的接口&#xff0c; 它直接操作、 控制着我们的硬件&#xff0c; 操作系统通…

五款商用加密软件推荐 | 商用加密软件排行榜

没有网络安全就没有国家安全。信息安全是国家经济社会稳定运行&#xff0c;广大人民群众利益的保障。 对于公司来讲&#xff0c;数据安全同样是企业可持续发展的重要保障&#xff0c;防止内部核心数据、知识产权的泄露是企业数据安全的重要工作。下面是五款企业常用的加密软件…

网络安全学习路线+自学笔记(超详细) 自学网络安全看这一篇就够了

一、什么是网络安全 网络安全是一种综合性的概念&#xff0c;涵盖了保护计算机系统、网络基础设施和数据免受未经授权的访问、攻击、损害或盗窃的一系列措施和技术。经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.1,2,3-GPIO中断控制实验

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

C--贪吃蛇

前言 贪吃蛇游戏是一个耳熟能详的小游戏,本次我们讲解他的简单的实现,需要掌握基本的API知识(http://t.csdnimg.cn/uHH6y),简单的C语言知识和基本的数据结构链表 简单的准备工作 蛇的节点 在游戏运⾏的过程中&#xff0c;蛇每次吃⼀个⻝物&#xff0c;蛇的⾝体就会变⻓⼀节&a…

力扣HOT100 - 45. 跳跃游戏 II

解题思路&#xff1a; 贪心 class Solution {public int jump(int[] nums) {int end 0;int maxPosition 0;int steps 0;for (int i 0; i < nums.length - 1; i) {maxPosition Math.max(maxPosition, i nums[i]);if (i end) {end maxPosition;steps;}}return steps;…

华为配置带反射器的iNOF功能实验

配置带反射器的iNOF功能示例 适用产品和版本 安装了SAN系列单板的CE16800系列交换机V300R020C10或更高版本。 安装了P系列单板的CE16800系列交换机V300R021C00或更高版本。 CE6866、CE6866K、CE8851-32CQ8DQ-P、CE8851K系列交换机V300R020C00或更高版本。 CE6860-SAN、CE8850-S…

wordpress增加谷歌分析

wordpress增加谷歌分析 为了更好的浏览体验&#xff0c;欢迎光顾勤奋的凯尔森同学个人博客 http://www.huerpu.cc:7000 一、创建谷歌分析账号与媒体应用 谷歌分析地址&#xff1a;https://analytics.google.com/analytics 创建一个账号&#xff0c;如果你没有的话。 在该账…

基于 Ubuntu22.04 安装 SSH 服务

文章目录 一、Ubuntu22.04 安装 SSH 服务二、配置 OpenSSH&#xff08;安全性&#xff09;1. 更改 OpenSSH 端口2. 限制使用 SSH 登录尝试次数3. 禁止 SSH 以 root 身份连接 三、设置防火墙&#xff08;UFW&#xff09;锁定 SSH四、远程终端软件通过 SSH 连接 Ubuntu22.041. 远…

自学32单片机两个周了,感觉非常懵逼怎么办?

在开始前我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些单片机学习方法和资料&#xff0c;让我不断提升自己&#xff0c;感谢帮助过我的人&#xff0c; 如大家和我一样…

如何使用Shortemall自动扫描URL短链接中的隐藏内容

关于Shortemall Shortemall是一款针对URL地址安全与Web内容安全的强大工具&#xff0c;该工具基于纯Python开发&#xff0c;专为Web安全方向设计&#xff0c;可以帮助广大研究人员以自动化的形式扫描URL短链接中的隐藏内容。 Shortemall的全名为ShortEm All&#xff0c;该工具…

【大比武05】多方主体参与下的工程档案资料数据化实现路径探究

关注我们 - 数字罗塞塔计划 - 数据化&#xff0c;是以数据为基础&#xff0c;以信息技术为手段&#xff0c;以数据分析为切入点&#xff0c;通过数据发现并分析问题&#xff0c;实现科学决策。而工程档案资料的数据化是实现工程全生命周期管理智慧化&#xff0c;发挥数据生产…

机器学习1——线性回归、误差推导

有监督——分类、回归 一、线性回归 对于一个线性方程&#xff0c;没办法拟合所有的数据点&#xff0c;但是要尽可能的覆盖尽可能多的点。 在下面的图中&#xff0c;x01。添加这一项的目的是&#xff1a;将数据矩阵补全&#xff08;比如年龄是x1、工资是x2&#xff0c;那么x0手…

“等保测评实施策略:保障企业信息安全合规“

等保测评&#xff0c;即网络安全等级保护测评&#xff0c;是企业保障信息安全合规的重要实施策略。以下是企业实施等保测评的一些关键策略&#xff1a; 理解等保测评的重要性&#xff1a; 等保测评有助于企业识别和评价信息系统的安全性能&#xff0c;提供改进建议&#xff0c;…