1 os|linxu常用命令|vim编辑器

news2024/11/26 8:47:44

文章目录

  • os
  • linux 常用命令
    • 用户配置
      • 切换用户
      • 添加用户
      • 设置(修改)密码
      • 删除用户
      • 总结
    • 目录以及文件操作
      • 查看文件或者目录
      • 改变工作目录
      • 显示当前工作目录
      • 创建目录
      • 删除空目录
      • 拷贝文件或者目录
      • 移动文件或者目录
      • 删除文件或者目录
      • 修改目录或者文件的权限
        • 文字设定法
        • 数字设定法
      • 文件查找
      • 列出磁盘的使用情况
      • 显示每个文件和目录的磁盘使用情况
      • 创建符号链接
    • 文件查看以及处理命令
      • 查看文件内容
        • 标准的输入输出与重定向:
      • 显示文件内容的前几行
      • 显示文件的后几行
      • 单页浏览文件
      • 对文件内容进行排序
      • 查看文件内容类型
      • 报告或删除文件中重复的行
      • 统计指定文件中的行数、字数、字节数
      • 搜索文件内容 grep
    • 其他命令
      • 管道与命令替换
      • 文件或目录的创建掩码
      • 文档管理
        • 文件压缩解压
      • scp 远程 copy 文件命令
      • 总结
  • VIM 编辑器
    • 如何安装
    • VIM 的两种状态
    • VIM 内常用的命令操作
      • 删除与修改
      • 光标移动
      • 查找与替换
      • 块操作
      • 文档保存及退出
    • VIM 外使用到的命令
    • 修改配置

os

对于操作系统来说,个人觉得408当中的操作系统进行相关的了解就差不多了,这边进行简要的介绍(笔者,操作系统学的也不咋样,在新建文件夹了,在新建文件夹了。)

首先引用一张很经典的图来阐述操作系统,一目了然:
在这里插入图片描述
而操作系统实际上就是管理各种计算机硬件资源,并为用户提供一个简单的接口,方便用户使用的一个东西

linux 常用命令

ctrl a 回到行首 ctrl e 回到行尾

用户配置

在linux下有俩种用户:超级用户(root)、普通用户

  1. 超级用户:可以在linux下做任何事情,一般其对应的命令提示符为‘#’
  2. 普通用户:在linux下只能做一些有限的事情,一般对应的命令提示符为‘$’

切换用户

su [用户名]

例子:

  1. 要从root用户切换到普通用户user ,则使用su user。
  2. 要从user用户切换到超级用户,则使用su root 或者直接su (root省略实际上就是切换为超级用户的意思)
  3. 普通用户以root的身份去做事情,就使用sudo。

值得关注的是使用sudo的时候输入的密码是user的密码,不是root的密码

添加用户

useradd 用户名

例子: 在root用户下,或者在sudo组的user下使用这个指令,使用该指令,并且加上-m 之后,系统会在‘/home’下创建一个名为user的目录。

cat /etc/passwd 查看当前系统的用户。

而创建完角色之后,登录该角色发现只有一个$符号,原因就在于useradd当中需要加-s参数,指向调用/bin/bash 不指示的可能会指向/bin/sh,导致解析异常。

设置(修改)密码

passwd 用户名

需要关注的是只有root用户才可以给新创建的用户配置密码。 或者使用sudo passwd。

删除用户

userdel 用户名

删除用户之后,其对应的家的目录并不会消失,如果想要删除其家的目录,就需要 userdel -r 用户名

PS 对于删除用户的时候报错,实际上可能就是由于此用户仍处于运行状态(可能中间切换用户,切换到该用户了,并且没有进行exit),需要手动将其运行状态关掉,才能让其删除。

总结

在这里插入图片描述

目录以及文件操作

查看文件或者目录

ls [选项] [目录或者文件]

对于目录来说,该命令列出该目录下的所有子目录以及文件
对于文件来说,列出文件名以及其他的信息。

选项解释
-a显示指定目录下所有的子目录与文件
-l列出指定目录下所有子目录与文件的详细信息

补充:
在linux下以.开头的文件是隐藏文件,只有使用ls -a才可以显示出来
一般配置文件都以.开头 隐藏文件处理

补充:
关于-l的详细信息进行相关的补充:
在这里插入图片描述
从前往后分别是 文件类型与权限 硬连接数(实际上就是绑定相同的inode节点的对象的个数) 文件所有者 文件所属组 文件大小 最近修改时间 文件名字。

而对于文件类型与权限的介绍(第1个字符是文件类型,后面9个字符分为三组,分别表示创建者 同组用户 其他用户的权限):

文件类型解释
-普通文件
d目录
l符号链接
b块设备文件
c字符设备文件
p命名管道
ssocket文件
文件权限解释
r可读
w
x执行
_没有设置该权限

而每一组都可以由一个数字表示,比如rwx就对应111也就是7,r_x对应101也就是5.

改变工作目录

cd 目录名

功能如名字所示

常用的简写:
cd … 到父目录
cd / 到根目录
cd ~ 到用户的主目录下 与直接执行cd 效果一样
cd - 到上一次的目录

显示当前工作目录

pwd

功能:显示当前的绝对路径。

创建目录

mkdir [选项] 目录名

删除空目录

rmdir [选项] dirname

删除该工作目录下的子目录,如果该目录下有文件,用之后介绍的命令进行删除。

拷贝文件或者目录

cp [选项] 源文件或者目录 目标文件或者目录

把指定的源文件或者目录复制到目标文件或者目录中。

选项解释
-f若目标文件目录存在同名的文件,直接覆盖,不提示
-i与上面相反,遇到相同名的文件,会进行提示是否覆盖
-r拷贝的是一个目录,此时会将此目录下所有文件及目录拷贝到对应的目标目录之下。

移动文件或者目录

mv [选项] 源文件或者目录 目标文件或者目录

如果第二个参数是目标文件时,mv操作完成的就是文件重命名,此时源文件只能有一个(也可以是源目录名),他将所指向的源文件或者目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或者目录参数可以有多个,mv操作将各个参数指定的源文件均移动到目标目录当中。

选项解释
-i如果在移动到过程中存在重名,提示是否覆盖
-f存在重名,直接覆盖,不进行提示

删除文件或者目录

rm [选项] 文件或者目录

rm可以删除多个文件或者目录,也可以将某个目录及其下的所有文件全部都进行删除,对于链接文件,只删除链接文件。如果删除时候没有-r 则不会删除目录

选项解释
-f删除过程中不会给出提示
-i删除过程中会给出交互式的提示
-r删除目录及其目录下的所有文件

修改目录或者文件的权限

chmod进行修改,但是一般存在两种修改方式:文字设定法 数字设定法

who 模块介绍:

who解释
uuser 用户即文件或者目录的所有者
ggroup 同组成员
oother 其他用户
aall 所有用户 没有写who所指向的就是all

操作符号:

操作符号解释
+添加某个权限
-取消某个权限
=赋值权限,取消原本的权限

mode

mode解释
r读 4
w写 2
x执行 1

文字设定法

chmod [who][+|-|=][mode] 文件名
修改指定文件名中who的权限增加去除赋值为mode

操作对象可以是其中一个也可以是其中的组合。

例子:
chmod ug+r,o+r example 使文件创建者和同组和其他组的成员都对example有读的权限。

数字设定法

chmod [mode] 文件名

实际上就是对于上文的数字的相加

例子:
chmod 750 test
u 可读可写可执行 7=111=4+2+1
g 可读可执行 5 = 101 =4+0+1
o 啥都不行 0 =000

值得关注的是删除文件,看的是对应包含这个文件的目录的权限是否满足,而非看这个文件的权限是否可写。即对于文件的写操作实际上对应着对于文件的写入操作,对于目录的写操作实际上对应着往往文件中添加上文件的功能。

文件查找

find 起始目录 查找条件 操作

在指定目录结构中搜索文件,并且执行指定的操作

命令的查找条件可以是一个逻辑运算符not and or组成的复合条件

逻辑运算符解释
-aand 与
-oor 或
!not 非

常用的查找条件

查找条件解释
-name 字串查找文件名匹配给字串的所有文件,字串内可用通配符* ? []
-gid n查找属于ID为n的用户组的所有文件
-uid n查找属于ID为n的用户的所有文件
-group 字串查找属于用户组名所给字串的所有的文件
-user 字串查找用户的所给的字串的所有文件
-empty查找空我呢见或目录
-perm 权限(数字)查找具有指定权限的文件或者目录
-size n[bckMG]查找指定大小的文件,n后面的字符表示单位 缺省为b 表示512字节,后面的数字需要加上+或者-然后跟着数字然后单位 比如+100G就是大于100G的文件 -100G就是小于100G的文件
-type x查找类型为x的文件 x:b块设备文件 c字符设备文件 d目录文件 p命名管道(FIFO)f普通文件 l符号链接文件 s socket文件
-amin n查找n分钟之前被访问过的所有文件(+表示n分钟之前,-表示以内,+/-不能省略)
-atime n查找n天以前被访问过的所有文件
-cmin n查找n分钟以前文件状态被修改过的所有文件
-ctime查找n天以前文件状态被修改过的所有文件
-mmin n查找n分钟以前文件内容被修改过的所有文件
-mtime n查找n天以前文件内容被修改过的所有文件

补充,关于通配符,这边引出我之前的另一篇博客,请移步:
链接
此篇文章的正则表达式,进行浏览

可执行操作
-exec 命名名称 {} ; 或者:| xargs 一般推荐后者

{}实际上就是替换哪一个文件名的地方

例子:
find /home/user -type f -exec cp -i {} /home/user1 ;
find /home/user -type f|xargs -i cp {} /home/user1

列出磁盘的使用情况

df [-h 按照GB KB MB显示] [文件名]
一般直接使用df -h显示整个磁盘的使用情况

显示每个文件和目录的磁盘使用情况

du[-h][文件名]
显示目录的每一级的磁盘使用情况,如果只想显示当前的目录,则使用du -h --max-depth=0 /home/user

创建符号链接

软链接:
ln -s 链接的对象 取的名字
实际上就是当我们调用这个名字的时候,调用的就是那个链接的对象,相当于搞一个快捷方式出来。

硬链接:
ln 链接的对象 取的名字
实际上就是我们调用这个名字的时候,调用的是和链接对象相同的inode的对象。

关于软连接和硬链接:个人感觉理解起来就相当于,软连接就是指针过程,硬链接就是绑定地址的过程。inode节点就是操作系统来分辨这一块对应的代码所属于的地方的东西。

补充:关于copy和删除的理解,对于copy来说,比如我们将目录1复制到目录2,我们需要将目录二当中复制的文件名的每一个元素都取一个新的inode并且进行分配当中的inode,所以速度会很慢,但是对于删除,我们实际上只是将每个名字都去掉,速度很快,然后此处的数据实际上还是存在的,但是此时inode的连接数为0,所以我们可以对其进行覆盖操作。(引用计数原理)

文件查看以及处理命令

查看文件内容

cat [选项] [文件]
查看目标文件的内容

选项解释
-b对非空输出行进行编号
-E在每行结束处显示$
-n对输出的所有行进行编号
-s不要输出多行空行

cat 常常与重定向一起使用。其中>表示创建,>>表示追加,<<表示以什么结束,如果 cat 的命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。

标准的输入输出与重定向:

文件描述符是一个整数,它代表一个打开的文件,标准的三个描述符号:
标准输入:一般指键盘,描述符为:0
标准输出:一般指屏幕输出,描述符为:1
错误输出:也是屏幕,描述符为:2

重定向符号:

“>”:将命令的输出重定向到指定文件中。如果文件不存在,则会创建该文件;如果文件已存在,则会清空文件内容并将输出写入文件。
“>>”:将命令的输出追加到指定文件的末尾。如果文件不存在,则会创建该文件;如果文件已存在,则将输出追加到文件末尾。
“<”:将指定文件的内容作为命令的输入。
“|”:将一个命令的输出作为另一个命令的输入。这被称为管道(Pipe)操作符。
“2>”:将命令的错误输出重定向到指定文件中。
“&>”:将命令的标准输出和错误输出都重定向到指定文件中。

显示文件内容的前几行

head -n 行数值 文件名
功能:显示目标文件的前几行。
例如 要显示 当前目录下 main.cc 的前 10 行,则使用
Head -n 10 main.py

显示文件的后几行

tail -n 行数值 文件名。
功能:显示目标文件的最后几行。
例如 要显示“/home/user/0718/”目录下的 main.cc 文件的最
后 10 行。则使用 tail –n 10 /home/user/0718/main.py

单页浏览文件

more 或者 less 命令

对文件内容进行排序

sort 文件名

查看文件内容类型

file 文件名 根据文件内容,判别文件类型

报告或删除文件中重复的行

uniq [选项] 文件名

选项解释
-c在输出行前面加上每行在输入文件中出现的次数。
-d仅显示重复行。
-u仅显示不重复的行。

统计指定文件中的行数、字数、字节数

wc 文件名

选项解释
-c统计字节数
-l统计行数
-m统计字符数这个标志不能与 -c 标志一起使用
-w统计字数。一个字被定义为由空白、跳格(tab)或换行字符分隔的字符串
wc main.c
[root@ ~/pp]$ wc day3_history.txt
318 990 5372 day3_history.txt
依次行数,单词数,字符数

一般使用的时候:ls|wc -l 实际上就是统计有这个字符串当中存在多少个文件(一个目录也算一个文件)。

搜索文件内容 grep

命令:grep [选项] [查找模式] [文件名 1,文件名 2,…]
功能:grep 过滤器查找指定字符模式的文件,并显示含有此模式
的所有行。被寻找的模式称为正则表达式。

选项解释
-F每个模式作为固定的字符串对待
-c只显示匹配行的数量。
-i比较式不区分大小写。
-n在输出前加上匹配串所在的行号。

如何找到所有 py 文件里是否调用了 print 函数?
find . -name “*.py”|xargs grep print

其他命令

管道与命令替换

管道 | :是重定向的一种,就像一个导管一样,将一个程序或命令的输出作为另一个程序或命令的输入,实际上就是使用管道之后前一个的输出,相当于就是一个缓存文件,此时我们就可以继续使用文件查看以及处理命令对其进行相关的处理。

文件或目录的创建掩码

umask 指文件(0666)或目录(0777)创建时在全部权限中要去掉的一些权限,普通用户缺省时 umask 的值为 002,超级用户为 022。002 表示创建目录时所有者的权限不去掉, 所属组权限不去掉,其他组权限写属性去掉创建一文件以后,普通用户缺省的权限为 664,超级用户: 644,创建一目录以后,普通用户缺省的权限为 775,超级用户: 755可以通过 umask 查看默认的缺省的掩码值。通过 umask 对应的三个数值来进行修改掩码值。

文档管理

tar [主选项+辅选项] 目标文档 源文件或目录
功能:tar 可以为文件和目录创建档案。利用 tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用 tar 命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

常用参数:
c:创建新的档案文件。
r: 要把存档的文件追加到档案文件的末尾。
x:从档案文件中释放文件。
f:使用档案文件或设备。
v:在归档过程中显示处理的文件。
z:用 gzip 来压缩/解压缩文件,后缀名为.gz,加上该选项后可
以将档案文件进行压缩。

一般来说我们进行压缩包处理实际上就是:
tar cvfz source.tar.gz /home/user/对应的文件等等

文件压缩解压

gzip/bzip2 [选项] 压缩或解压缩的文件名
功能:gzip 用来将文件压缩成后缀为.gz 的压缩文件,或者将后缀为.gz 的文件进行解压。Bzip2 用来将文件压缩成后缀名为.bz2 的压缩文件,或者将后缀为.bz2 的压缩文件解压。

常用参数:
-d: 将压缩文件进行解压。
-v:在压缩或解压过程中显示解压或压缩的文件。
例如,将 main.c 进行压缩,则使用
gzip/bzip2 –v main.c。
则就会将 main.c 压缩成 main.c.gz 或者 main.c.bz2 。
如果将刚才的压缩文件解压,则使用
gzip –dv main.c.gz,或者 bzip2 –dv main.c.bz2。

scp 远程 copy 文件命令

scp filename username@ip:path
filename:文件名称
username:copy 到的目标主机的用户名
ip:目标主机 IP
path:目标主机路径

scp file3 king@192.168.4.52:~/ 从本机 copy 到其他机器
scp king@192.168.4.52:~/file3 . 从其他机器 copy 到本机
scp file8 luke@192.168.2.100:~ 无秘钥登录设置
ssh-keygen 一直回车即可
ssh-copy-id python5@42.192.117.114

总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

VIM 编辑器

如何安装

sudo apt install vim

VIM 的两种状态

VIM(vimsual)是 Linux/UNIX 系列 OS 中通用的全屏编辑器。

vimm 分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作命令来处理,如:q 代表退出,而编辑状态则是用来编辑文本资料的。当你进入 vim 时,会首先进入命令状态。在命令状态下,按”i”(插入)或”a”(添加)可以进入编辑状态,在编辑状态,按 ESC 键进入命令状态。

在命令状态下,有如下一些命令进入编辑模式:
新增:
a 从光标后面开始添加文本
A 从光标所在行的末尾开始添加文本
插入:
i 从光标前面开始插入文本
I 从光标所在行的开始处插入文本

一般都是用i进入编辑模式即可

VIM 内常用的命令操作

删除与修改

功能解释
x删除光标处的字符
dd删除光标所在的整行
3dd删除光标所在行以及下面的两行(删除 3 行)
D删除光标到行尾的文本,常用语删除注释语句 (d$)
yy复制光标所在的整行
[n]yy从光标开始往下复制 n 行,[n]表示一个整数
p将复制后的文本粘贴到光标处
u撤销上次操作

值得关注的是删除的x实际上是会存在剪贴板中的,所以实际上剪切就是v选中然后x删除,然后p粘贴。

光标移动

快捷键解释
^光标移动到行首
$光标移动到行尾
Ctrl+d向下翻半页
Ctrl+f向下翻一页
Ctrl+u向上翻半页
Ctrl+b向上翻一页
gg光标定位到文档头
G光标定位到文档尾
H光标定位到当前页首
L光标定位到当前页的最后一行的行首
w光标往后移一个字
b光标往前移一个字
[n]+光标向后移动 n 行,[n]表示一个整数 10+
[n]-光标向前移动 n 行,[n]表示一个整数 10-
[n]G光标定位到第 n 行行首, [n]表示一个整数 20G
也可以:50到达第 50 行

查找与替换

快捷键解释
/[str]查找字符串 str,[str]表示要查找的字符串,回车后会加亮显示所有找到的字符串,接着,命令 n 移动到下一个找到的字符串,命令 N 移动到上一个找到的字符串

补充:
替换
方法:s/[src]/[dst][参数]
功能:就是将文中出现的 src全部替换成dst。

常用参数解释
/i忽略大小写
/g全部匹配,不加/g实际上就是,只替换光标当前选中的元素

常用的例子记忆

:s/hello/world/g : 将本行的world全部替换成hello

:3,6 s/hello/world/g : 将3-6行的world全部替换成hello

:%s/[src]/[dst]/g : 将文档中所有 src 的字符串替换为 dst 字符串
:%s/^ //g : 将文档每一行的行首的空格去掉

块操作

v 可视化块选择状态,选中块之后,可以对块进行删除(d),复制(y),此处注意不是yy,剪切(x) 都需要加上p的粘贴

Ctrl +v 竖向选择模式,主要用于批量注释代码,输入步骤如下:

1、首先按 ctrl+v,竖选选中要注释的行
2、输入 I(注意是大写的 I,相当于把光标移动到最前面),然后输入//
3、再输入 esc,就会看到选中的行被注释了。

文档保存及退出

结束编辑:
:q 在未修改文档的情况下退出
:q! 放弃文档的修改,强行退出
:w 文档存盘
:wq 文档存盘退出

其他:
:%!xxd 十六进制模式
:%!xxd -r 返回文本模式 中间有一个空格的

如果在编辑过程中不小心按了 Ctrl+s,vim 会处于僵死状态,按Ctrl+q 可以恢复。

VIM 外使用到的命令

sed: 管道查找替换程序

-i 参数介绍,实际上就是不加上-i就是给你看个样子,加上才生效。

sed ‘s/aa/bb/’ a.txt > b.txt //将 a.txt 中的 aa 替换成 bb 并重定向输出到 b.txt中。
sed -i “s/print/mysprint/g” *.py

Vimdiff 命令讲解
vimdiff 文件一 文件二
就是使用vim打开俩个文件,进行比较二者的差别,会进行标注对比。

修改配置

.bashrc 修改 PS1,alias,PATH 配置

永久变色
export PS1="[\e[37;40m][[\e[32;40m]\u[\e[37;40m]@[\e[36;40m]\w[\e[0m]]\$ "

做短命令 alias
alias ll=‘ls -lh’
自己定义的alias实际上就可以直接放到个人的~/.bashrc中,进行缩写使用

执行代码不需要./是因为对应的可执行代码在 PATH 环境变量路径下

在bin目录下添加自己vim写的比如qscp脚本语句来方便使用指令

scp -r $1 c2022@42.192.117.114:~/day$2

1、没有~/.local/bin,就创建.local,和 bin
2、把 qscp 放到 bin 下面
3、export PATH=$PATH:~/.local/bin 添加到~/.bashrc
4、执行 source ~/.bashr

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

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

相关文章

年过30的我,今年也遇到了职场危机 ...

在软件测试行业摸爬滚打这么多年&#xff0c;即将人到中年&#xff0c;也会和大家一样面临转型或者跳槽的问题。这里总结了一下自我的看法。 对于找工作这个事情&#xff0c;有这么个普遍现象。工作供求无法匹配~ 1、对于测试招聘者&#xff0c;特别是一、二线互联网公司的招…

12.动态规划:子集状压DP和位运算

参考&#xff1a; 0x3f&#xff1a;从集合论到位运算&#xff0c;常见位运算技巧分类总结&#xff01;https://leetcode.cn/circle/discuss/CaOJ45/ 状态压缩DP详细讲解 https://zhuanlan.zhihu.com/p/599427567 【动态规划学习】状压/子集 DP https://leetcode.cn/circle/arti…

zabbix-4-触发器

4.触发器 4.1什么是触发器 当监控的值发现变化后&#xff0c;对应的值不符合预期&#xff0c;则应该通过触发器通知管理人员介入&#xff1b; 比如&#xff1a;监控TCP的80端口&#xff0c;如果存活则符合预期&#xff0c;如果不存活则不符合预期&#xff0c;应该通过触发器通…

从一个线上 Android Bug 回看 Fragment 的基础知识

作者&#xff1a;Kotlin上海用户组 公司的项目在最近遇到了一个与 Fragment 有关的线上 crash&#xff0c;导致这个问题的根本原因比较复杂&#xff0c;导致修复方案的可选项非常有限&#xff0c;不过这个问题的背景、crash 点&#xff0c;以及修复过程都非常有趣&#xff0c;值…

unittest教程__Python+unittest+ddt_实现数据驱动测试(7)

我们设计测试用例时&#xff0c;会出现测试步骤一样&#xff0c;只是其中的测试数据有变化的情况&#xff0c;比如测试登录时的账号密码。这个时候&#xff0c;如果我们依然使用一条case一个方法的话&#xff0c;会出现大量的代码冗余&#xff0c;而且效率也会大大降低。此时&a…

知网英语类专刊《中学生英语》是正规刊物吗?

知网英语类专刊《中学生英语》是正规刊物吗&#xff1f; 《中学生英语》是经国家新闻出版署批准在国内公开发行的教育类学术期刊&#xff0c;由教育部主管&#xff0c;华中师范大学主办的国家级期刊&#xff0c;是正规刊物。 《中学生英语》是中国外语教学期刊质量检测网络入…

南京贸易企业增值税居高不下,该如何解决?

南京贸易企业增值税居高不下&#xff0c;该如何解决&#xff1f; 《税筹顾问》专注于园区招商&#xff0c;您的贴身节税小能手&#xff0c;合理合规节税&#xff01; 南京作为省会城市&#xff0c;近年来由于芯片、生物医药等产业的发展而跻身前十&#xff0c;随着它在教育、军…

【探索 Kubernetes|作业管理篇 系列 11】控制器的核心功能

前言 大家好&#xff0c;我是秋意零。 上一篇结束了 Pod 对象的内容。 今天要探讨的内容是 “控制器”&#xff0c;它是 Kubernetes 编排最核心的功能。理解了 “控制器”&#xff0c;你就能理解 Deployment、StatefulSet、DaemontSet、Job、CroJob 控制器对象。 最近搞了一…

使用parcel搭建threejs开发环境

一、什么是parcel parcel官网&#xff1a;https://www.parceljs.cn/ Parcel是一个快速、零配置的Web应用打包器&#xff0c;可将JavaScript、CSS、HTML和图像等静态文件打包到一个捆绑文件中。它的主要目标是简化Web应用程序的打包过程&#xff0c;使开发人员可以更快速地创建…

测试开发工是做什么的?2023年往后测试之路发展前景?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 现在公司企业对测…

Linux目录分类说明

在Linux根目录下一般包括如下目录&#xff0c;这里就这些目录的特点做一些归纳。&#xff08;centos8为例&#xff09; 一、/var目录 /var目录是一个包含经常变化的文件的目录。它是Variable的缩写&#xff0c;也有些人解释为Versioned Archives。通常包含以下内容&#xff1a;…

Groovy基础教程

一、概述 Groovy是一种基础JVM(Java虚拟机)的敏捷开发语言&#xff0c;他结合了Python、Ruby和Smalltalk的特性&#xff0c;Groovy代码能够于Java代码很好的结合&#xff0c;也能用于扩展现有代码。由于其运行在JVM的特性&#xff0c;Groovy可以使用其他Java语言编写法的库。 …

电源ATE测试系统-电源模块自动化测试软件ATECLOUD-Power

ATECLOUD-Power测试应用场景 研发测试、产线测试、老化测试、一测二测等 ATECLOUD-Power解决测试痛点 ☁ 人工手动测试&#xff0c;效率低&#xff0c;需要提高测试效率和准确性&#xff1b; ☁ 测试产品种类繁多&#xff0c;测试方法多样&#xff0c;客户需要灵活的解决方案…

六、SpringBoot集成elasticsearch

目录 官网API介绍 1、新建maven项目 2、检查elasticsearch依赖的版本 3、配置RestHighLevelClient对象 4、使用springboot-test测试API的使用 官网API介绍 Java API Client https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html …

TypeScript基础使用方法

Author: 德玛玩前端 Date: 2023-06-07 TypeScript 一、Typescript介绍 1.1、TypeScript产生的原因 旧JS是弱类型语言&#xff0c;一个变量先后可以保存不同类型的数据&#xff0c;所以不可靠。旧JS是解释执行语言&#xff0c;一边解释&#xff0c;一边执行&#xff0c;一些低…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

简介 上一篇和大家一起科普扫盲接口后&#xff0c;知道什么是接口&#xff0c;接口类型等&#xff0c;对其有了大致了解之后&#xff0c;我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…

7.SpringCloudAlibaba 整合 Sentinel

一、分布式系统遇到的问题 1 服务雪崩效应 在分布式系统中,由于网络原因或自身的原因,服务一般无法保证 100%是可用的。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致调用服务瘫痪。 由于服务…

SDP协议是什么,详解SDP协议

一、SDP协议简介 SDP&#xff08;Session Description Protocol&#xff09;是一种会话描述协议&#xff0c;用于描述多媒体会话的参数。它是一种文本协议&#xff0c;通常用于VoIP&#xff08;Voice over Internet Protocol&#xff09;和视频会议等应用中。SDP协议定义了一种…

【自监督论文阅读 1】SimCLR

文章目录 一、摘要二、引言三、方法3.1 主要框架3.2 训练一个大的batchsize 四、数据增强4.1 实验一 数据增强的组合对学习好的特征表达非常重要4.2 对比学习需要更多的数据增强 五、一些实验证明5.1 大模型更有利于无监督对比学习5.2 非线性层的预测头增加了特征表示5.3可调节…

使用vtkWindow报错Debug Assertion Failed ... mfc140d.dll

环境&#xff1a;VS2022VTK7.1.1&#xff0c;还使用了MFC 报错信息 Debug Assertion Failed! Program: C:\WINDOWS SYSTEM32 mfc140d.dll File. D: a work 1 s src vctools VC7Libs ship ATLMFCnclude afxwin1.inLine: 21 For information on how your program can cause an a…