❀My学习Linux命令小记录(6)❀

目录

❀My学习Linux命令小记录(6)❀

26.ps指令

27.grep指令

28.awk指令

29.sed指令

30.wc指令


❀My学习Linux命令小记录(6)❀

26.ps指令

功能说明:报告当前系统的进程状态

(ps.ps命令 用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。)

基本语法:ps(选项)

选项:

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

-ef:显示系统中所有进程信息,包括系统进程用户进程。它会显示出每个进程的PID、PPID(父进程ID)、C(CPU使用率)、STIME(进程启动时间)、TTY(终端)、CMD(进程命令)等信息。通过这个参数我们可以快速了解系统正在运行的进程情况

-aux:这个参数遇上一个参数类似,也可以显示系统中的所有进程信息。但不同的是,它会显示出进程的用户信息,包括进程的所有者、所属组等。这个参数对于查找特定用户的进程非常有用

-l:显示进程的长格式信息。他会显示出进程的所有详细信息,包括进程的状态(S)、CPU占用率(%CPU)、内存占用率(%MEM)、优先级(PRI)、进程运行时间(TIME)等

-e:显示系统中正在运行的进程信息,但不包括僵尸进程(Zombie)。僵尸进程是指已经结束单父进程还没有处理的进程。使用这个参数可以过滤掉僵尸进程,使进程列表更加清晰

-u:显示指定用户的进程信息

-p:显示指定进程ID的进程信息

-A:列出所有的进程信息

-w:显示加宽可以显示较多的资讯

-C:显示指定命令的进程信息

实例:

#ps -u root    # 显示指定用户信息

#ps -aux    #显示所有包含其他使用者的进程

aux输出格式含义:

USER: 行程拥有者

PID: pid

%CPU: 占用的 CPU 使用率

%MEM: 占用的记忆体使用率

VSZ: 占用的虚拟记忆体大小

RSS: 占用的记忆体大小

TTY: 终端的次要装置号码 (minor device number of tty)

STAT: 该行程的状态:

D:  无法中断的休眠状态 (通常 IO 的进程)

R: 正在执行中

S: 静止状态

T: 暂停执行

Z: 不存在但暂时无法消除

W: 没有足够的记忆体分页可分配

<: 高优先序的行程

N: 低优先序的行程

L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

START: 行程开始时间

TIME: 执行的时间

COMMAND:所执行的指令

#ps -ef    # 显示指定用户信息

#ps -l  #显示进程长格式信息

-l输出格式含义:

F代表这个程序的旗标 (flag), 4 代表使用者为 super user

S 代表这个程序的状态 (STAT)

UID 程序被该 UID 所拥有

PID 就是这个程序的 ID !

PPID 则是其上级父程序的ID

C CPU 使用的资源百分比

PRI 这个是 Priority (优先执行序) 的缩写

NI 这个是 Nice 值

ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"

SZ 使用掉的内存大小

WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作

TTY 登入者的终端机位置

TIME 使用掉的 CPU 时间

CMD 所下达的指令为何

27.grep指令

功能说明:强大的文本搜索工具

(ps.grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。)

基本语法:

grep [options] pattern [files]

grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

pattern:表示要查找的字符串或正则表达式。

files :表示要查找的文件名,可以同时查找多个文件,如果省略 files 参数,则默认从标准输入中读取数据。

选项:

-i忽略大小写进行匹配。

-v反向查找,只打印不匹配的行。

-n:显示匹配行的行号

-r递归查找子目录中的文件。

-l:只打印匹配的文件名

-c:只打印匹配的行数

规则表达式:

^    # 锚定行的开始 如:'^grep'匹配所有以grep开头的行。    

$    # 锚定行的结束 如:'grep$' 匹配所有以grep结尾的行。

.    # 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。    

*    # 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。    

.*   # 一起用代表任意字符。   

[]   # 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。    

[^]  # 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。    

\(..\)  # 标记匹配字符,如'\(love\)',love被标记为1。    

\<      # 锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。    

\>      # 锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。    

x\{m\}  # 重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。    

x\{m,\}   # 重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。    

x\{m,n\}  # 重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。   

\w    # 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。   

\W    # \w的反置形式,匹配一个或多个非单词字符,如点号句号等。   

\b    # 单词锁定符,如: '\bgrep\b'只匹配grep。

更多参数说明: 

- -a 或 --text : 不要忽略二进制的数据。

- -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。

- -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。

- -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。

- -c 或 --count : 计算符合样式的列数。

- -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。

- -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

- -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。

- -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。

- -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

- -F 或 --fixed-regexp : 将样式视为固定字符串的列表。

- -G 或 --basic-regexp : 将样式视为普通的表示法来使用。

- -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。

- -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。

- -i 或 --ignore-case : 忽略字符大小写的差别。

- -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。

- -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。

- -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。

- -o[[ 或 --only-matching : 只显示匹配PATTERN 部分。

- -q 或 --quiet或--silent : 不显示任何信息。

- -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。

- -s 或 --no-messages : 不显示错误信息。

- -v 或 --invert-match : 显示不包含匹配文本的所有行。

- -V 或 --version : 显示版本信息。

- -w 或 --word-regexp : 只显示全字符合的列。

- -x --line-regexp : 只显示全列符合的列。

- -y : 此参数的效果和指定"-i"参数相同。

实例:

#grep hello 1.txt   #在文件file.txt 中查找字符串 "hello",并打印匹配的行

#grep -r -n happy moon/   #在文件夹moon中递归(-r)查找所有文件中匹配正则表达式 "happy" 的行,并打印匹配行所在的文件名和行号(-n)

#echo "hello world" ./1.txt | grep -c world  #在当前目录的1.txt文件中中查找字符串 "world",并只打印匹配的行数(-c)

#grep -r update ~/moon  #以递归(-r)的方式查找符合条件的文件。例如,查找指定目录~/moon及其子目录(如果存在子目录的话)下所有文件包含字符串"update"的文件,并打印出该字符串所在行的内容

#grep -v test *1.txt*  #查找文件名(1.txt)中包含 test 的文件中不包含test的行

#ifconfig eth1 |grep -E "([0-9]{1,3}\.){3}" |awk '{print $2}'   #-E使用正则表达式提取出网卡的ip地址

28.awk指令

功能说明:AWK 是一种处理文本文件的语言(取列),是一个强大的文本分析工具。

(ps.awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。)

基本语法:

awk [选项参数] 'script' var=value file(s)

awk [选项参数] -f scriptfile var=value file(s)

选项:

-F fs fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:

-v var=value 赋值一个用户定义变量,将外部变量传递给awk

-f scripfile 从脚本文件中读取awk命令

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

模式可以是以下任意一个:

/正则表达式/:使用通配符的扩展集。

关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。

模式匹配表达式:用运算符~(匹配)和!~(不匹配)。

BEGIN语句块、pattern语句块、END语句块:参见awk的工作原理

awk内置变量(预定义变量)

说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk

 **$n**  当前记录的第n个字段,比如n为1表示第一个字段,n为2表示第二个字段。

 **$0**  这个变量包含执行过程中当前行的文本内容。

[N]  **ARGC**  命令行参数的数目。

[G]  **ARGIND**  命令行中当前文件的位置(从0开始算)。

[N]  **ARGV**  包含命令行参数的数组。

[G]  **CONVFMT**  数字转换格式(默认值为%.6g)。

[P]  **ENVIRON**  环境变量关联数组。

[N]  **ERRNO**  最后一个系统错误的描述。

[G]  **FIELDWIDTHS**  字段宽度列表(用空格键分隔)。

[A]  **FILENAME**  当前输入文件的名。

[P]  **FNR**  同NR,但相对于当前文件。

[A]  **FS**  字段分隔符(默认是任何空格)

[G]  **IGNORECASE**  如果为真,则进行忽略大小写的匹配。

[A]  **NF**  表示字段数,在执行过程中对应于当前的字段数。

[A]  **NR**  表示记录数,在执行过程中对应于当前的行号。

[A]  **OFMT**  数字的输出格式(默认值是%.6g)。

[A]  **OFS**  输出字段分隔符(默认值是一个空格)。

[A]  **ORS**  输出记录分隔符(默认值是一个换行符)。

[A]  **RS**  记录分隔符(默认是一个换行符)。

[N]  **RSTART**  由match函数所匹配的字符串的第一个位置。

[N]  **RLENGTH**  由match函数所匹配的字符串的长度。

[N]  **SUBSEP**  数组下标分隔符(默认值是34)。

实例:

#awk '{print $1,$2,$5}' OFS=" $ "  log.txt  #指定字段分隔符$

用法一:

awk '{[pattern] action}' {filenames}   # 行匹配语句 awk ' ' 只能用单引号

实例:

#awk '{print $1,$4}' log.txt  # 每行按空格或TAB分割,输出文本中的1、4项

用法二:

awk -F  #-F相当于内置变量FS, 指定分割字符

实例:

#awk -F , '{print $1,$2}' log.txt   # -F使用","分割

#awk 'BEGIN{FS=","} {print $1,$2}' log.txt   #或者使用内建变量指定字段分隔符,

#awk ' BEGIN{FS=" ---- "} {print $1,$2,$3}'  111   #指定字段分隔符----

用法三:

awk -v  # 设置变量

实例:

#awk -v a=1 '{print $1,$1+a}' log.txt   #-v设置变量a=1,打印1,2项

#awk -v a=1 -v b=s '{print $1,$1+a,$1b}' log.txt  #-v设置变量a=1,b=s,打印1,2项并加上s

用法四:

awk -f {awk脚本} {文件名}

实例:

# awk -f cal.awk log.txt

使用正则字符串匹配

#awk '$2 ~ /th/ {print $2,$4}' log.txt  # 输出第二列包含 "th",并打印第二列与第四列

~ 表示模式开始。// 中是模式。

#awk ' /re/ ' log.txt  # 输出包含 "re" 的行

#awk 'BEGIN{IGNORECASE=1} /this/' log.txt  # 忽略大小写

awk脚本基本结构

awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file

一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中,脚本通常是被 单引号 或 双引号 中,例如:

awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename

awk "BEGIN{ i=0 } { i++ } END{ print i }" filename

awk的工作原理

awk 'BEGIN{ commands } pattern{ commands } END{ commands }'

    第一步:执行BEGIN{ commands }语句块中的语句;

    第二步:从文件或标准输入(stdin)读取一行,然后执行pattern{ commands }语句块,它逐行扫描文件,从第一行到最后一行重复这个过程,直到文件全部被读取完毕。

    第三步:当读至输入流末尾时,执行END{ commands }语句块。

BEGIN语句块 在awk开始从输入流中读取行 之前 被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中。

END语句块 在awk从输入流中读取完所有的行 之后 即被执行,比如打印所有行的分析结果这类信息汇总都是在END语句块中完成,它也是一个可选语句块。

pattern语句块 中的通用命令是最重要的部分,它也是可选的。如果没有提供pattern语句块,则默认执行{ print },即打印每一个读取到的行,awk读取的每一行都会执行该语句块。

29.sed指令

功能说明:功能强大的流式文本编辑器,利用脚本来处理文本文件。(替换和取行)。

(ps.sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。)

基本语法:sed [-hnV][-e<script>][-f<script文件>][文本文件]

选项:

参数说明:

-e<script>或--expression=<script>   以选项中指定的script来处理输入的文本文件。

-f<script文件>或--file=<script文件>  以选项中指定的script文件来处理输入的文本文件。

-h或--help   显示帮助。

-i 直接修改文件内容。

-n或--quiet或--silent   静默输出,仅显示script处理后的结果。

-V或--version   显示版本信息。

动作说明:

a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)

c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行

d :删除,因为是删除,所以 d 后面通常不接任何东西

i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)

p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行

s :取代,可以直接进行取代的工作,通常这个s的动作可以搭配正则表达式!例如 1,20s/old/new/g

实例:

我们先创建一个 testfile 文件,内容如下:

#sed -e 4a\newLine testfile 在 testfile 文件的第四行(4)后添加(a)一行,并将结果输出到标准输出

#nl testfile | sed '2,5d'  #将 testfile 的内容列出并且列印行号,将第 2~5 行删除

查看某一文件内容并且列印行号用nl 文件名

sed 的动作为 2,5d,那个 d 删除的意思,因为删除了 2-5 行,所以显示的数据就没有 2-5 行了, 另外,原本应该是要下达 sed -e 才对,但没有 -e 也是可以的,同时也要注意的是, sed 后面接的动作,请务必以 '...' 两个单引号括住喔!

#nl testfile | sed '3,$d'    #要删除第 3 到最后一行

#nl testfile |sed '2a drink tea?'   #在第二行后 加上drink tea?

#nl testfile |sed '2i drink tea?'   #在第二行前加上drink tea?

#nl testfile | sed '2a Drink tea or......\

>drink beer?'    #要增加两行以上,在第二行后面加入两行字,例如 Drink tea or ......与 drink beer?

每一行之间都必须要以反斜杠 \ 来进行新行标记。上面的例子中,我们可以发现在第一行的最后面就有 \ 存在。

#nl testfile |sed '2,5c No 2-5 number'  #将第 2-5 行的内容取代(c)成为 No 2-5 number

#nl testfile |sed -n '5,7p'  #仅列出 testfile 文件内的第 5-7 行(打印p)

#nl testfile | sed -n '/oo/p'  #搜索 testfile 有 oo 关键字的行:(-n仅显示script处理后的结果)

#nl testfile |sed '/oo/d'  #删除 testfile 所有包含 oo 的行,其他行输出

#nl testfile | sed -n '/oo/{s/oo/kk/;p;q}'  #搜索 testfile,找到 oo 对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把 oo 替换为 kk,再输出这行,最后的 q 是退出,p是打印,s是取代。

#sed -e 's/oo/kk/g' testfile\  #g 标识符表示全局查找替换,使 sed 对文件中所有符合的字符串都被替换,修改后内容会到标准输出,不会修改原文件

#sed -i 's/oo/kk/g' testfile  #选项 i 使 sed 修改文件

sed 的 -i 选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!

30.wc指令

功能说明统计文件的字节数、字数、行数

(ps.wc命令 统计指定文件中的字节数、字数、行数,并将统计结果显示输出。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。wc同时也给出所指定文件的总统计数。)

语法:

wc(选项)(参数)

wc [选项]... [文件]...

wc [选项]... --files0-from=F

选项:

-c :统计字节数,或--bytes或——chars:只显示Bytes数

-l :统计行数,或——lines:只显示列数

-m : 统计字符数。这个标志不能与 -c 标志一起使用

-w :统计字数,或——words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

-L :打印最长行的长度

-help  :显示帮助信息

--version : 显示版本信息

实例

在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。使用的命令为:

# wc testfile

-l)行数为11,(-w)单词数为23,(-c)字节数为148

❀My学习Linux命令小记录(6)❀over~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序SSL证书

小程序通常需要与服务器进行数据交互&#xff0c;包括用户的登录信息、支付数据等。在没有安全保障的情况下&#xff0c;这些敏感数据容易受到黑客攻击&#xff0c;导致信息泄露和用户隐私的严重问题。因此&#xff0c;确保小程序中的通信安全势在必行。 SSL证书在小程序中扮演…

GEE:使用Roberts算子卷积核进行图像卷积操作

作者:CSDN @ _养乐多_ 本文将深入探讨边缘检测中的一个经典算法,即Roberts算子卷积。我们将介绍该算法的基本原理,并演示如何在Google Earth Engine中应用Roberts算子进行图像卷积操作。并以试验区NDVI为例子,研究区真彩色影像、NDVI图像以及卷积结果如下所示, 文章目录 …

通义灵码简单使用例子

首先我们需要了解到通义灵码的能力&#xff1a; 行/函数级实时续写&#xff1a; 当我们在 idea进行代码编写时(确认开启了自动云端生成的模式)&#xff0c;通义灵码会根据当前代码文件及相关代码文件的上下文&#xff0c;自动为你生成代码建议。你可以不用&#xff0c;也可以t…

凯捷对汽车数字化的思考

标题凯捷&#xff08;中国&#xff09;对汽车行业数字化转型的探索 凯捷中国数字化研发团队有超过1200名专业顾问致力于数字化相关项目&#xff0c;分布在北京、天津、沈阳、呼和浩特、上海、昆山、杭州、广州、深圳等地&#xff0c;运用Rightshore交付模式和通过专业顾问为客…

设计模式-结构型模式之装饰者设计模式

文章目录 六、装饰者模式 六、装饰者模式 装饰者模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。它是作为现有的类的一个包装。 装饰类和被装饰类可以独立发展&#xff0c;不会相互耦合&#xff0c;装饰者模…

SpringIOC第二课,@Bean用法,DI详解,常见面试题Autowired VS Resource

一、回顾 但是我们之前MVC时候&#xff0c;在页面上&#xff0c;为什只用Controller,不用其他的呢&#xff1f; 用其他的好使吗&#xff1f;(我们可以在这里看到&#xff0c;出现404的字样&#xff09; Service ResponseBody public class TestController {RequestMapping(&quo…

Apache Doris 详细教程(三)

7、监控和报警 Doris 可以使用 Prometheus 和 Grafana 进行监控和采集&#xff0c;官网下载最新版即可。 Prometheus 官网下载&#xff1a;https://prometheus.io/download/ Grafana 官网下载&#xff1a;https://grafana.com/grafana/download Doris 的监控数据通过 FE 和…

外卖平台推荐算法的优化与实践

目录 引言 一、推荐算法的原理 二、推荐算法的挑战 三、实际案例分析 四、优化推荐算法的策略 五、结论 引言 在当今数字化社会&#xff0c;外卖平台成为了人们生活中不可或缺的一部分。为了提供更加个性化、高效的服务&#xff0c;外卖平台使用推荐算法成为了一项关键技…

使用Pytoch实现Opencv warpAffine方法

随着深度学习的不断发展&#xff0c;GPU/NPU的算力也越来越强&#xff0c;对于一些传统CV计算也希望能够直接在GPU/NPU上进行&#xff0c;例如Opencv的warpAffine方法。Opencv的warpAffine的功能主要是做仿射变换&#xff0c;如果不了解仿射变换的请自行了解。由于Pytorch的图像…

web自动化 -- pyppeteer

由于Selenium流行已久&#xff0c;现在稍微有点反爬的网站都会对selenium和webdriver进行识别&#xff0c;网站只需要在前端js添加一下判断脚本&#xff0c;很容易就可以判断出是真人访问还是webdriver。虽然也可以通过中间代理的方式进行js注入屏蔽webdriver检测&#xff0c;但…

【算法套路】(数组中)等价转换

文章目录 例题——2488. 统计中位数为 K 的子数组⭐【套路】子数组统计问题常用技巧&#xff1a;等价转换 相似题目列表面试题 17.05. 字母与数字525. 连续数组1124. 表现良好的最长时间段解法1解法2——利用单调栈 例题——2488. 统计中位数为 K 的子数组⭐ https://leetcode…

了解大模型 RAG (Retrieval-Augmented Generation):大模型外挂知识库 (检索增强技术)

本心、输入输出、结果 文章目录 了解大模型 RAG &#xff08;Retrieval-Augmented Generation&#xff09;&#xff1a;大模型外挂知识库 &#xff08;检索增强技术&#xff09;前言什么是检索增强技术 RAG &#xff08;Retrieval-Augmented Generation&#xff09;检索增强技术…

分享几个电视颜色测试图形卡

介绍 本文分享几个常见的电视颜色测试图形卡和一段matlab程序&#xff0c;完成JPG转FPGA烧写文件&#xff0c;便于把彩色图片预装载到FPGA内。 电视颜色测试图形卡 一种专业检测电视显示效果的工具。它通常由一张卡片和一些色块组成&#xff0c;可以根据标准色彩空间和颜色渐…

数据结构 | 查漏补缺之ASL、

目录 ASL 情形之一&#xff1a;二分查找 线索二叉树 哈夫曼树 大根堆 邻接表&邻接矩阵 ASL 参考博文 关于ASL(平均查找长度)的简单总结_平均查找长度asl-CSDN博客 情形之一&#xff1a;二分查找 线索二叉树 参考博文 线索二叉树(线索链表遍历&#xff0c;二叉树…

『亚马逊云科技产品测评』活动征文|基于亚马逊云EC2搭建私有网盘 Nextcloud系统

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器&#xff08;Elastic Compute Cloud&#xff09;是亚马…

[架构之路-256]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 软件系统不同层次的复用与软件系统向越来越复杂的方向聚合

目录 前言&#xff1a; 一、CPU寄存器级的复用&#xff1a;CPU寄存器 二、指令级复用&#xff1a;二进制指令 三、过程级复用&#xff1a;汇编语言 四、函数级复用&#xff1a;C语言 五、对象级复用&#xff1a;C, Java, Python 六、组件级复用 七、服务级复用 八、微…

leetcode 202 快乐数

leetcode 202 快乐数 题目题解代码 题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变…

【尾递归】

尾递归 如果函数在返回前才进行递归调用&#xff0c;则该函数可以被编译器或解释器优化&#xff0c;使其在空间效率上与迭代相当。这种情况被称为「尾递归 tail recursion」。 普通递归&#xff1a;当函数返回到上一层级的函数后&#xff0c;需要继续执行代码&#xff0c;因此…

Android Init系统:引领设备启动的先锋

Android Init系统&#xff1a;引领设备启动的先锋 引言 Init系统是一个操作系统启动的必要组件&#xff0c;负责在启动时初始化所有系统资源、服务和应用程序。在Android设备中&#xff0c;Init系统起到了至关重要的作用&#xff0c;它是启动过程中的第一个进程&#xff0c;负…

C++分数计算器

C分数计算器各种分数计算类型都能计算 代码&#xff1a;https://mbd.pub/o/bread/ZZeZk5hx 一 目的 &#xff08;1&#xff09;定义一个整数类。 定义一个分数类&#xff0c;由整数类派生。能对分数进行各种计算和输入/输出。可进行分数的加、减、乘和除法等四则运算。 流程…