2021SC@SDUSC

现在我们已经将 ubuntu 系统安装到了树莓派上面,并且实现了两种连接树莓派的方式,同时对 Linux 系统中常见的命令有了一定的了解,接下来就是对一些 Linux 系统高级命令行的具体操作实验。

正则表达式

正则表达式,又称规则表达式(在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",单数有regexp、regex,复数有regexps、regexes、regexen。

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

实验十:高级命令(grep、sed、awk)

1.实验目的

1) 掌握 Ubuntu 系统下一些高级命令行的原理及使用

2.实验内容

我们知道 Linux 系统下一些皆文件,所以对 LInux 系统的文件操作就相当于对 linux 的系统进行操作。如果能更好的处理文件,就需要用到下面说到的命令。 
高级命令行部分: 
1.grep 命令 – 强大的文本搜索工具 
2.sed 命令 – 处理编辑文本文件 
3.awk 命令 – 文本和数据进行处理的编程语言

3.实验环境

树莓派 4B,系统为 Ubuntu 21.10 系统 。实验的编程环境为 Terminal 终端程序

4.实验步骤

1.grep 命令 – 强大的文本搜索工具

(1)语法

grep  [参数]

(2)功能

我们可以使用grep命令在文本中查找指定的字符串,就像你在windows中打开txt文件,使用快捷键 “Ctrl+F” 在文本中查找某个字符串一样,说白了,可以把grep理解成字符查找工具。

grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。当然,不使用正则表达式时也可以使用grep,但是当grep与正则表达式结合在一起时,威力更强大。

grep是Linux中最常用的”文本处理工具”之一

(3)参数

–color=auto 或者 –color:表示对匹配到的文本着色显示

-i:在搜索的时候忽略大小写

-n:显示结果所在行号

-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数

-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行

-v:输出不带关键字的行(反向查询,反向匹配)

-w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配

-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after

-Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行,B:before

-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行,C:context

-e:实现多个选项的匹配,逻辑or关系

-q:静默模式,不输出任何信息,当我们只关心有没有匹配到,却不关心匹配到什么内容时,我们可以使用此命令,然后,使用”echo $?”查看是否匹配到,0表示匹配到,1表示没有匹配到。

-P:表示使用兼容perl的正则引擎。

-E:使用扩展正则表达式,而不是基本正则表达式,在使用”-E”选项时,相当于使用egrep。

(4)实例

(1)在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行。此时,可以使用如下命令:

grep test *file 

结果如下所示:

$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行 

(2)以递归的方式查找符合条件的文件。例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:

grep -r update /etc/acpi 

输出结果如下:

$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi”
#下包含“update”的文件
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)
Rather than
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of
IO.) Rather than
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update 

(3)反向查找。前面各个例子是查找并打印出符合条件的行,通过"-v"参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,使用的命令为:

grep -v test *test*

结果如下所示:

$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行
testfile1:helLinux!
testfile1:Linis a free Unix-type operating system.
testfile1:Lin
testfile_1:HELLO LINUX!
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.
testfile_1:THIS IS A LINUX TESTFILE!
testfile_2:HELLO LINUX!
testfile_2:Linux is a free unix-type opterating system.  

2.sed 命令 – 处理编辑文本文件

Sed 的正则表达式

sed 的正则表达式元字符

元字符 功 能 示 例 示例的匹配对象
^ 行首定位符 /^love/ 匹配所有以 love 开头的行
$ 行尾定位符 /love$/ 匹配所有以 love 结尾的行
. 匹配除换行外的单
个字符
/l..e/ 匹配包含字符 l、后跟两个任意
字符、再跟字母 e 的行
* 匹配零个或多个前
导字符
/*love/ 匹配在零个或多个空格紧跟着
模式 love 的行
[] 匹配指定字符组内
任一字符
/[Ll]ove/ 匹配包含 love 和 Love 的行
[^] 匹配不在指定字符
组内任一字符
/[^A-KM-Z]ove/ 匹配包含 ove,但 ove 之前的那
个字符不在 A 至 K 或 M 至 Z 间
的行
\(..\) 保存已匹配的字符
& 保存查找串以便在
替换串中引用
s/love/**&**/ 符号&代表查找串。字符串 love
将替换前后各加了两个**的引
用,即 love 变成**love**
\< 词首定位符 /\<love/ 匹配包含以 love 开头的单词的
\> 词尾定位符 /love\>/ 匹配包含以 love 结尾的单词的
x\{m\} 连续 m 个 x /o\{5\}/ 分别匹配出现连续 5 个字母 o、
至少 5 个连续的 o、或 5~10 个
连续的 o 的行
x\{m,\} 至少 m 个 x /o\{5,\}/
x\{m,n\} 至少 m 个 x,但不
超过 n 个 x
/o\{5,10\}/

sed的常用选项

sed 的常用选项

选项 说明
-n 使用安静模式,在一般情况所有的 STDIN 都会输出到屏幕上,加入-n 后只打印
被 sed 特殊处理的行
-e 多重编辑,且命令顺序会影响结果
-f 指定一个 sed 脚本文件到命令行执行,
-r Sed 使用扩展正则
-i 直接修改文档读取的内容,不在屏幕上输出

Sed 操作命令

sed 操作命令告诉 sed 如何处理由地址指定的各输入行。如果没有指定地址, sed 就会处理输入的所有的行。

命 令 说 明
a\ 在当前行后添加一行或多行
c\ 用新文本修改(替换)当前行中的文本
d 删除行
i\ 在当前行之前插入文本
h 把模式空间里的内容复制到暂存缓存区
H 把模式空间里的内容追加到暂存缓存区
g 取出暂存缓冲区里的内容,将其复制到模式空间,覆盖该处原有内容
G 取出暂存缓冲区里的内容,将其复制到模式空间,追加在原有内容后面
l 列出非打印字符
p 打印行
n 读入下一输入行,并从下一条命令而不是第一条命令开始处理
q 结束或退出 sed
r 从文件中读取输入行
对所选行意外的所有行应用命令
s 用一个字符串替换另一个

替换标志

g 在行内进行全局替换
p 打印行
w 将行写入文件
x 交换暂存缓冲区与模式空间的内容
y 将字符转换为另一字符(不能对正则表达式使用 y 命令)

(1)语法

sed  [参数]

(2)功能

sed 是一种新型的,非交互式的编辑器。它能执行与编辑器 vi 和 ex 相同的编辑任务。sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令、指定文件名,然后在屏幕上查看输出。 sed 编辑器没有破坏性,它不会修改文件,除非使用 shell 重定向来保存输出结果。默认情况下,所有的输出行都被打印到屏幕上。

(3)参数

-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e :直接在命令列模式上进行 sed 的动作编辑;
-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作;
-r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i :直接修改读取的文件内容,而不是输出到终端。

(4)实例

下面给出测试文件作为输入文件:

1

2

3

4

5

6

7

8

9

10

[root@Gin scripts]# cat ceshi.txt

northwest       NW      Charles Main    3.0     .98     3       34

western         WE      Sharon Gray     5.3     .97     5       23

southwest       SW      Lewis Dalsass   2.7     .8      2       18

southern        SO      Suan Chin       5.1     .95     4       15

southeast       SE      Patricia Hemenway       4.0     .7      4       17

eastern         EA      TB Savage       4.4     .84     5       20

northeast       NE      AM Main Jr.     5.1     .94     3       13

north           NO      Margot Weber    4.5     .89     5       9

central         CT      Ann Stephens    5.7     .94     5       13

打印: p 命令

命令 p 是打印命令,用于显示模式缓存区的内容。默认情况下, sed 把输入行打印在屏幕上,选项-n 用于取消默认打印操纵。当选项-n 和命令 p 同时出现时, sed 可打印选定的内容

案例1:

1

2

3

4

5

6

7

8

9

10

11

12

13

[root@Gin scripts]# sed '/north/p' ceshi.txt

northwest       NW      Charles Main    3.0     .98     3       34

northwest       NW      Charles Main    3.0     .98     3       34

western         WE      Sharon Gray     5.3     .97     5       23

southwest       SW      Lewis Dalsass   2.7     .8      2       18

southern        SO      Suan Chin       5.1     .95     4       15

southeast       SE      Patricia Hemenway       4.0     .7      4       17

eastern         EA      TB Savage       4.4     .84     5       20

northeast       NE      AM Main Jr.     5.1     .94     3       13

northeast       NE      AM Main Jr.     5.1     .94     3       13

north           NO      Margot Weber    4.5     .89     5       9

north           NO      Margot Weber    4.5     .89     5       9

central         CT      Ann Stephens    5.7     .94     5       13

说明:默认情况下, sed 把所有输入行都打印在标准输出上。如果在某一行匹配到 north, sed就把该行另外打印一遍。

案例2:

1

2

3

4

[root@Gin scripts]# sed -n '/north/p' ceshi.txt

northwest       NW      Charles Main    3.0     .98     3       34

northeast       NE      AM Main Jr.     5.1     .94     3       13

north           NO      Margot Weber    4.5     .89     5       9

说明:默认情况下, sed 打印当前缓存区中的输入行。命令 p 指示 sed 将再次打印该行。选项-n 取消 sed 取消默认打印操作。选线-n 和命令配合使用,模式缓冲区内的输入行,只被打印一次。如果不指定-n 选项, sed 就会像上例中那样,打印出重复的行。如果指定了-n,则sed 只打印包含模式 north 的行。

删除: d 命令

命令 d 用于删除输入行。sed 先将输入行从文件复制到模式缓存区,然后对该行执行 sed命令,最后将模式缓存区的内容显示在屏幕上。如果发出的是命令 d,当前模式缓存区的输入行会被删除,不被显示。
案例 3:

1

2

3

4

5

6

7

8

9

[root@Gin scripts]# sed '3d' ceshi.txt

northwest       NW      Charles Main    3.0     .98     3       34

western         WE      Sharon Gray     5.3     .97     5       23

southern        SO      Suan Chin       5.1     .95     4       15

southeast       SE      Patricia Hemenway       4.0     .7      4       17

eastern         EA      TB Savage       4.4     .84     5       20

northeast       NE      AM Main Jr.     5.1     .94     3       13

north           NO      Margot Weber    4.5     .89     5       9

central         CT      Ann Stephens    5.7     .94     5       13

说明:删除第 3 行。默认情况下,其余的行都被打印到屏幕上。

案例 4:

1

2

3

[root@Gin scripts]# sed '3,$d' ceshi.txt

northwest       NW      Charles Main    3.0     .98     3       34

western         WE      Sharon Gray     5.3     .97     5       23

说明:删除从第三行到最后一行内容,剩余各行被打印。地址范围是开始第 3 行,结束最后一行。

案例 5:

1

2

3

4

5

6

7

[root@Gin scripts]# sed '/north/d' ceshi.txt

western         WE      Sharon Gray     5.3     .97     5       23

southwest       SW      Lewis Dalsass   2.7     .8      2       18

southern        SO      Suan Chin       5.1     .95     4       15

southeast       SE      Patricia Hemenway       4.0     .7      4       17

eastern         EA      TB Savage       4.4     .84     5       20

central         CT      Ann Stephens    5.7     .94     5       13

说明:所有包含模式 north 的行都被动删除,其余行被打印。

替换: s 命令

命令 s 是替换命令。替换和取代文件中的文本可以通过 sed 中的 s 来实现, s 后包含在斜杠中的文本是正则表达式,后面跟着的是需要替换的文本。可以通过 g 标志对行进行全局替换
案例 6:

1

2

3

4

5

6

7

8

9

10

[root@Gin scripts]# sed 's/west/north/g' ceshi.txt

northnorth      NW      Charles Main    3.0     .98     3       34

northern                WE      Sharon Gray     5.3     .97     5       23

southnorth      SW      Lewis Dalsass   2.7     .8      2       18

southern        SO      Suan Chin       5.1     .95     4       15

southeast       SE      Patricia Hemenway       4.0     .7      4       17

eastern         EA      TB Savage       4.4     .84     5       20

northeast       NE      AM Main Jr.     5.1     .94     3       13

north           NO      Margot Weber    4.5     .89     5       9

central         CT      Ann Stephens    5.7     .94     5       13

说明:s 命令用于替换。命令末端的 g 表示在行内全局替换;也就是说如果每一行里出现多个west,所有的 west 都会被替换为 north。如果没有 g 命令,则只将每一行的第一 west 替换为 north。
案例 7:

1

2

[root@Gin scripts]# sed -n 's/^west/north/p' ceshi.txt

northern                WE      Sharon Gray     5.3     .97     5       23

说明:s 命令用于替换。选线-n 与命令行末尾的标志 p 结合,告诉 sed 只打印发生替换的那些行;也就是说,如果只有在行首找到 west 并替换成 north 时才会打印此行。
案例 8:

1

2

3

4

5

6

7

8

9

10

[root@Gin scripts]# sed 's/[0-9][0-9]$/&.5/' ceshi.txt

northwest       NW      Charles Main    3.0     .98     3       34.5

western         WE      Sharon Gray     5.3     .97     5       23.5

southwest       SW      Lewis Dalsass   2.7     .8      2       18.5

southern        SO      Suan Chin       5.1     .95     4       15.5

southeast       SE      Patricia Hemenway       4.0     .7      4       17.5

eastern         EA      TB Savage       4.4     .84     5       20.5

northeast       NE      AM Main Jr.     5.1     .94     3       13.5

north           NO      Margot Weber    4.5     .89     5       9

central         CT      Ann Stephens    5.7     .94     5       13.5

说明:当“与”符号( &)用在替换串中时,它代表在查找串中匹配到的内容时。这个示例中所有以 2 位数结尾的行后面都被加上.5。

3.awk 命令 – 文本和数据进行处理的编程语

(1)语法

awk  [参数]  [文件]

(2)功能

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。

awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。

(3)参数

-F fs or --field-separator fs
指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。

-v var=value or --asign var=value
赋值一个用户定义变量。

-f scripfile or --file scriptfile
从脚本文件中读取awk命令。

-mf nnn and -mr nnn
对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。

-W compact or --compat, -W traditional or --traditional
在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。

-W copyleft or --copyleft, -W copyright or --copyright
打印简短的版权信息。

-W help or --help, -W usage or --usage
打印全部awk选项和每个选项的简短说明。

-W lint or --lint
打印不能向传统unix平台移植的结构的警告。

-W lint-old or --lint-old
打印关于不能向传统unix平台移植的结构的警告。

-W posix
打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符**和**=不能代替^和^=;fflush无效。

-W re-interval or --re-inerval
允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。

-W source program-text or --source program-text
使用program-text作为源代码,可与-f命令混用。

-W version or --version

(4)实例

假设last -n 5的输出如下

[root@localhost ~]# last -n 5 <==仅取出前五行
root     pts/1   192.168.1.100  Tue Feb 10 11:21   still logged in
root     pts/1   192.168.1.100  Tue Feb 10 00:46 - 02:28  (01:41)
root     pts/1   192.168.1.100  Mon Feb  9 11:41 - 18:30  (06:48)
dmtsai   pts/1   192.168.1.100  Mon Feb  9 11:41 - 11:41  (00:00)
root     tty1                   Fri Sep  5 14:09 - 14:10  (00:01)

如果只是显示最近登录的5个帐号

#last -n 5 | awk  '{print $1}'
root
root
root
dmtsai
root

awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。

如果只是显示/etc/passwd的账户

#cat /etc/passwd |awk  -F ':'  '{print $1}'
root
daemon
bin
sys

这种是awk+action的示例,每行都会执行action{print $1}。

-F指定域分隔符为':'。

如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割

#cat /etc/passwd |awk  -F ':'  '{print $1"\t"$7}'
root    /bin/bash
daemon  /bin/sh
bin     /bin/sh
sys     /bin/sh

如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。

cat /etc/passwd |awk  -F ':'  'BEGIN {print "name,shell"}  {print $1","$7} END {print "blue,/bin/nosh"}'
name,shell
root,/bin/bash
daemon,/bin/sh
bin,/bin/sh
sys,/bin/sh
....
blue,/bin/nosh

awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。

树莓派 4B 下 Linux 系统高级命令行相关推荐

  1. 在Linux系统的命令行中为MySQL创建用户的方法

    这篇文章主要介绍了在Linux系统的命令行中为MySQL创建用户的方法,包括对所建用户的权限管理,需要的朋友可以参考下 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQ ...

  2. 树莓派 4B 下 Linux 系统命令行(7)

    2021SC@SDUSC 设备管理 在计算机系统中,除了CPU和内存之外,其余的大部分硬件设备称为外部设备.外部设备包括常用的I/O(输入/输出)设备.外存设备以及终端设备等. 实验七:设备管理部分 ...

  3. Linux系统中用命令行清空垃圾箱Trash

    我用的系统是Ubuntu16.04,最近遇到了一个问题是,当我的垃圾箱有大量的小文件时,当我用图形界面清空垃圾箱时,总是卡死,而其清理很慢,于是用命令行清理,代码如下:这里的关键是确定你的系统的 Tr ...

  4. linux系统rar命令行,Linux下rar命令详解

    Linux下rar命令详解 发布时间:2010-05-24 23:28:23   作者:佚名   我要评论 通常rar命令由一个主命令加若干选项(可选)构成,操作文档为操作施加的.rar文件对象,文件 ...

  5. 记录下linux系统tar命令解压文件时碰到的问题

    使用tar -zxvf test.tar.gz解压文件时报错: gzip: stdin: not in gzip format   --不是Gzip格式 tar: Child returned sta ...

  6. linux系统init5命令,2.3.5 切换系统运行级别命令init

    2.3.5  切换系统运行级别命令init init命令用于改变系统的运行级别,改变系统的运行级别也可以关闭或重启系统.本小节将介绍如何使用init命令切换系统的运行级别. (1)运行级别 运行级别在 ...

  7. linux系统跟踪路由命令,Linux下traceroute命令的使用方法

    在Linux系统中,traceroute命令可用于显示数据包经过的路由器的ip地址,了解行走路径,在Linux系统和windows系统中的名称有些不同,不熟悉Linux系统的朋友可能一时没认出来,下面 ...

  8. linux系统跟踪路由命令,路由跟踪指令traceroute centos下路由追踪指令用法 跟踪IP路由链路...

    我们日常进行服务器运维,接触最多的应该是ping,ping是用来检查自己的主机是否与目标地址连通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是CP/IP,UDP包等. 但是路由跟踪指令tr ...

  9. Linux下怎么退出telnet命令行

    Linux下怎么退出telnet命令行 经常要用到telnet来测试端口是否正常开放. 但是在telnet进入某个端口后无法退出,没办法,为了继续测试只好关掉这个dos(或其他)窗口,重新打开一个. ...

最新文章

  1. 大学计算机信息技术一级考题,大学计算机信息技术一级试题新.pdf
  2. java.lang.ArrayIndexOutOfBoundsException异常分析及解决
  3. 网页解析之BeautifulSoup
  4. Redis常用命令之操作String类型
  5. Sweet.js 用 Readtables 编译 JSX
  6. 【NLP】如何在文本分类任务中Fine-Tune BERT
  7. 深度学习:tensorflow的简单用法,tensorflow实现SVM
  8. C#红包波动系数·高可用性,适合企业级开发
  9. Spring Boot 企业实战_前夕
  10. Pyotrch —— 优化器Optimizer(一)
  11. linux下如何关闭防火墙、查看当前的状态、开放端口
  12. 从环境搭建探讨做事的方法
  13. css基础知识汇总4
  14. Windows简单入门-送给第一次使用电脑的朋友
  15. 关于SSDP协议的基础知识
  16. 鸿蒙双系统怎么切换,苹果 Mac双系统如何切换?用Option键切换双系统的步骤分享...
  17. 静态背景下运动目标检测 matlab_动态拉伸、静态拉伸你做对了么?
  18. 脚踏实地小组的抓包实验
  19. Oracle_1th_查询语句
  20. python数据预测模型算法_Python机器学习 预测分析核心算法

热门文章

  1. win7 到期 不能打开桌面 激活
  2. IP RAN和PTN的区别——TFN TT60 综合网络测试仪
  3. VUE 切换页面后点击按钮没有反应
  4. 北京理工计算机实验二报告,北京理工大学计算机实验二报告表.doc
  5. OPPO R9s刷机包_OPPO R9s线刷包救砖包教程下载
  6. 「你是砍柴的,人家是放羊的,你们聊一天,人家羊吃饱了,你的柴怎么办?」这段话可以解读成哪些含义?
  7. 小册上新|张鑫旭:技术写作的“收益”超乎想象
  8. Android修行手册 - RatingBar全解
  9. 装箱和拆箱,自动装箱和自动拆箱
  10. C#基于Twain协议调用扫描仪,设置多图像输出模式(Multi image output)