学习笔记|盘点一些Linux 常用的命令

news2024/11/25 2:46:49

 

目录

1、apt-get Debian/Ubuntu系统包管理器

2、uname 获取

操作系统信息

3、date 查看/设置 系统时间

4、yum CentOS系统包管理器

5、mkdir 新建 文件夹

6、free 查看内存使用信息

7、wget 下载工具

8、cd 进入 文件夹

8、cp 复制或重命名 文件/文件夹

9、VI、VIM 编辑文件内容

10、cat 查看文件内容

11、du 查看 文件/文件夹 占用磁盘空间的大小

12、mv 移动或重命名 文件/文件夹

13、rm 删除 文件/文件夹

14、ls 显示目录中文件


小编是一个网安爱好者,网工工作者,在日常工作和学习中总是离不开和 Linux 打交道。无论你是编程小白还是职场老手,都建议你收藏这份常用 Linux 命令手册。今天就和大家一起学习 Linux常用命令。欢迎大家随时添加。

1、apt-get Debian/Ubuntu系统包管理器

# 命令:
update - 检索 新的包列表
upgrade - 升级 可更新的所有软件包
install - 安装 新软件包(pkg是libc6不是libc6.deb)
remove - 删除 软件包
autoremove - 自动删除 所有未使用的软件包
purge - 删除 软件包和配置文件
clean - 清除 已下载的归档文件
autoclean - 清除 旧的下载的档案文件
check - 验证 是否有损坏的依赖
download - 下载 二进制包到当前目录
 
# 选项:
-q :不输出任何信息
-qq :除了错误之外,没有输出
-d :仅下载,不要安装或解压缩存档
-y :对所有确定询问都选择 Yes,并且不提示
-f :尝试纠正 被破坏依赖关系的系统
-m :如果存档是可定位的,则尝试继续
-u :显示升级包的列表
-b :在获取源代码包后构建源包
 
# 更多的命令可以用 apt-get --help 查看。
---------------------------------------------------------------------------------------------------

使用示例:

  • # 检索 新的包列表      apt-get update
  • # 升级 可更新的所有软件包     apt-get upgrade
  • # 安装 Nginx 软件包    apt-get install nginx
  • # 卸载 Nginx 软件包    apt-get remove nginx
  • # 卸载 Nginx 软件包 并删除所有相关配置文件    apt-get remove --purge nginx
  • # 安装 Nginx 软件包 并不显示确定提示    apt-get install nginx -y
  • # 卸载 Nginx 软件包,删除所有相关配置文件 并不显示提   apt-get remove --purge nginx -y 
  • # 清除 旧的/无用 的软件包   apt-get clean && apt-get autoclean 
  • # 下载 Nginx 二进制软件包到当前目录,但不解压和安装   apt-get download nginx -d 

  

2、uname 获取

操作系统信息

参数介绍:

-a:显示 全部信息
-m:显示 系统位数
-n:显示 主机名称
-r:显示 操作系统的发行编号
-s:显示 操作系统的名称
-v:显示 操作系统的版本
-p:输出 处理器类型 或"unknown"
-i:输出 硬件平台 或"unknown"
-o:输出 操作系统名称
 
# 更多的命令可以用 uname --help 来查看。
---------------------------------------------------------------------------------------------------

使用示例:

  • root@mlldxe.cn:~# uname       #在使用 uname 的时候,相当于是使用 uname -s
  • root@mlldxe.cn:~# uname -a Linux mlldxe.cn 4.9.75-040975-generic #1 SMP Thu Oct 27 16:59:03 MSK 2016 x86_64 GNU/Linux
  • root@mlldxe.cn:~# uname -m       #输出一般是64位: x86_64 / 32位: i386 或分支 i686 
  • x86_64 # 系统位数
  • root@mlldxe.cn:~# uname -n  mlldxe.cn # 服务器名(往往购买服务器时会让你填写)
  • root@mlldxe.cn:~# uname -r  4.9.75-040975-generic # 系统当前内核(主)
     

  

3、date 查看/设置 系统时间

# 命令:
update - 检索 新的包列表
upgrade - 升级 软件包
search - 搜索 软件包
install - 安装 软件包
list - 列出 软件包或者软件包组
info - 显示软件包或者软件包组的详细信息
erase - 删除 软件包(这两个命令一样)
remove - 删除 软件包(这两个命令一样)
groupinfo - 显示 有关包组的详细信息
groupinstall - 安装 软件包组(就像一种软件合集)
grouplist - 列出 可用的软件包组
groupremove - 删除 软件包组
check - 检查 软件包
check-update - 检查 可更新的软件包
clean - 清除 缓存目录内的软件包
deplist - 列出 一个包的依赖关系
distribution-synchronization - 同步 已安装的软件包到最新的版本
downgrad - 降级 一个软件包
reinstall - 重新安装 软件包(自动删除重装)
repolist - 显示 配置的软件包仓库
resolvedep - 确定 软件包需要的依赖关系
 
# 选项:
-t :容忍错误
-C :完全从系统缓存运行,不要更新缓存
-R 分钟 :最大命令等待时间
-q :安静的操作
-y :对于所有问题回答是
--nogpgcheck :禁用gpg签名检查
 
# 更多的命令可以用 yum --help 查看。
---------------------------------------------------------------------------------------------------

使用示例:

  •  检索 新的包列表 yum update 
  •  安装 Nginx 软件包yum install nginx 
  •  安装 Development Tools 软件包组yum groupinstall "Development Tools" 
  •  卸载 Nginx 软件包yum erase nginx / yum remove nginx 
  •  卸载 Development Tools 软件包组yum groupremove "Development Tools" 
  •  升级 所有可更新的软件包yum upgrade 
  •  升级 Nginx 可更新的软件包yum upgrade nginx 
  •  安装 Nginx 软件包 并不显示确定提示yum install nginx -y
  •  卸载 Nginx 软件包 并不显示确定提示yum erase nginx -y / yum remove nginx -y 
  •  搜索 Nginx 软件包是否存着yum search nginx 
  •  列出 可用的软件包yum list 
  •  列出 可用的软件包组yum grouplist 
  •  清除 缓存目录中的所有软件包yum clean 
  •  清除 缓存目录中的 Nginx 软件包yum clean nginx 
  •  重装 Nginx 软件包yum reinstall nginx 

  

4、yum CentOS系统包管理器

# 命令:
update - 检索 新的包列表
upgrade - 升级 软件包
search - 搜索 软件包
install - 安装 软件包
list - 列出 软件包或者软件包组
info - 显示软件包或者软件包组的详细信息
erase - 删除 软件包(这两个命令一样)
remove - 删除 软件包(这两个命令一样)
groupinfo - 显示 有关包组的详细信息
groupinstall - 安装 软件包组(就像一种软件合集)
grouplist - 列出 可用的软件包组
groupremove - 删除 软件包组
check - 检查 软件包
check-update - 检查 可更新的软件包
clean - 清除 缓存目录内的软件包
deplist - 列出 一个包的依赖关系
distribution-synchronization - 同步 已安装的软件包到最新的版本
downgrad - 降级 一个软件包
reinstall - 重新安装 软件包(自动删除重装)
repolist - 显示 配置的软件包仓库
resolvedep - 确定 软件包需要的依赖关系
 
# 选项:
-t :容忍错误
-C :完全从系统缓存运行,不要更新缓存
-R 分钟 :最大命令等待时间
-q :安静的操作
-y :对于所有问题回答是
--nogpgcheck :禁用gpg签名检查
 
# 更多的命令可以用 yum --help 查看。
---------------------------------------------------------------------------------------------------

 

使用示例:

  •  检索 新的包列表yum update
  •  安装 Nginx 软件包yum install nginx
  •  安装 Development Tools 软件包组yum groupinstall "Development Tools"
  •  卸载 Nginx 软件包yum erase nginx / yum remove nginx
  •  卸载 Development Tools 软件包组yum groupremove "Development Tools"
  •  升级 所有可更新的软件包yum upgrade
  •  升级 Nginx 可更新的软件包yum upgrade nginx   
  •  搜索 Nginx 软件包是否存着yum search nginx
  •  列出 可用的软件包yum list
  •  列出 可用的软件包组yum grouplist
  •  清除 缓存目录中的所有软件包yum clean
  •  清除 缓存目录中的 Nginx 软件包yum clean nginx
  •  重装 Nginx 软件包yum reinstall nginx

 

 

5、mkdir 新建 文件夹

# 在当前文件夹新建一个 bash 文件夹,完整的绝对路径就是 /root/bash
mkdir bash
 
# 更多的命令可以用 mkdir --help 查看。

  

6、free 查看内存使用信息

参数介绍:

-b :以 字节(bytes/B) 为单位显示
-k :以 KB 为单位显示
-m :以 MB 为单位显示
-g :以 GB 为单位显示
--tera :以 TB 为单位显示
-h :以 人类易读的方式输出
--si :以 1000为单位转换,而不是 1024(1MB=1*1024KB改成 1MB=1*1000KB)
-t :显示 内存总数 行
-s 时间 :每隔 X秒输出一次(重复输出监视内存,使用 Ctrl+C 终止)
-c 次数 :每隔 1秒输出 X次
 
# 更多的命令可以用 free --help 来查看。
---------------------------------------------------------------------------------------------------
使用示例:

# 显示当前系统内存(默认 free = free -k,单位为 KB)
free
 
# 输出示例
             total       used       free     shared    buffers     cached
Mem:        250872     237752      13120          0      34620      70520
-/+ buffers/cache:     132612     118260
Swap:       643064       1744     641320
—————————————————————————————————————
# 以单位 B/KB/MB/GB/TG 显示当前系统内存
free -b / free -k / free -m / free -g / free --tera
—————————————————————————————————————
# 以人类易读的方式 显示当前系统内存
free -h
 
# 输出示例
             total       used       free     shared    buffers     cached
Mem:          244M       232M        12M         0B        33M        68M
-/+ buffers/cache:       129M       115M
Swap:         627M       1.7M       626M
—————————————————————————————————————
# 以 1000为单位转换并使用 MB为单位 显示当前系统内存(1MB=1*1024KB改成 1MB=1*1000KB)
free -m --si
 
# 每隔 3秒并使用 MB为单位 显示一次当前系统内存
free -ms 3
 
# 每隔 1秒并使用 MB为单位 显示 5次当前系统内存
free -mc 5
 
# 每隔 2秒并使用 MB为单位 总共显示 6次当前系统内存
free -m -c 6 -s 2
 
# 更多的命令可以用 free --help 来查看。

  

7、wget 下载工具

参数介绍:

# 只介绍最常用的参数
# 如果提示命令不存在,那么使用 yum install wget -y / apt-get install wget -y 来安装(有一些非常精简的系统可能会没装)
 
-b :启动后,后台下载
-q :安静模式(不输出任何信息)
-c :断点续传下载文件
-O :指定下载后的文件名(可使用绝对路径目录+文件名)
-P :指定下载后的文件目录(-P只能指定下载目录,并不能指定文件名)
-t :设置重试次数(0代表无限)
-T :设置超时时间(单位:秒)
-N :只获取比本地新的文件(新的覆盖旧的)
-4 :仅连接至 IPv4地址
-6 :仅连接至 IPv6地址
--limit-rate=xxxk :限制下载速度(k代表KB/S)
--post-data :通过POST方式发送数据
--no-check-certificate :不验证服务器的SSL证书
 
# 更多的命令可以用 wget --help 来查看。
---------------------------------------------------------------------------------------------------
使用示例:

# 下载一个文件到当前目录
wget https://yun.doubibackup.com/100MB.bin
 
# 下载文件到当前目录并重命名为 200MB.bin
wget -O "200MB.bin" https://yun.doubibackup.com/100MB.bin
 
# 下载文件到 /root目录(-P只能指定下载目录,并不能指定文件名)
wget -P "/root" https://yun.doubibackup.com/100MB.bin
 
# 下载文件到 /root/doubi目录并重命名为 200MB.bin
wget -O "/root/doubi/200MB.bin" https://yun.doubibackup.com/100MB.bin
 
# 下载文件完成之前 wget进程结束了,那么可以使用断点续传重新下载中断的文件(前提是下载服务器支持断点续传)
wget -c https://yun.doubibackup.com/100MB.bin
 
# 通过后台下载文件到 /root/doubi目录并重命名为 200MB.bin
wget -b -O "/root/doubi/200MB.bin" https://yun.doubibackup.com/100MB.bin
# Continuing in background, pid 2333.
# Output will be written to `wget-log'.
# 后台下后,你可以使用以下命令来查看下载进度:
tail -f wget-log
 
# 有时候一些Linux系统中的SSL证书不完整,会导致下载一些 HTTPS网站文件的时候会验证SSL证书失败,可以这样做
# 不验证服务器SSL证书,下载文件到当前目录并重命名为 200MB.bin
wget --no-check-certificate -O "200MB.bin" https://yun.doubibackup.com/100MB.bin
 
# 使用wget发送POST请求数据
wget --post-data "user=doubi&passwd=23333" https://xxx.xx/
 
# 下载文件到当前目录 并仅通过IPv4连接 只获取比本地新的文件,限速 200KB/S
wget --limit-rate=200k -N -4 https://yun.doubibackup.com/100MB.bin
 
# 下载文件到当前目录 并重试次数为 1,超时时间为 2秒
wget -t1 -T2 https://yun.doubibackup.com/100MB.bin
 
# 通过 wget来获取服务器的外网IP(-qO- 代表运行完会输出下载的信息,并不会保存到本地文件)
wget -qO- ipinfo.io/ip
 
# 更多的命令可以用 wget --help 来查看。

 

 

8、cd 进入 文件夹

# 你当前在 /root目录中,使用这个命令会进入 /root/bash目录,这是相对路径
cd bash
# 如果你不在 /root目录中的话,就不能用上面的相对路径了,就需要绝对路径
cd /root/bash
—————————————————————————————————————
# 假设你当前在 /root/bash目录中,使用相对路径,你可以用这个命令进入上一级 /root目录, .. 代表相对路径 上级目录
cd ..
# 当然你也可以用绝对路径来进入上一级 /root目录
cd /root

  

8、cp 复制或重命名 文件/文件夹

# 复制当前目录内的 log.txt文件到 /var目录
cp log.txt /var/log.txt
 
# 复制当前目录内的 bash文件夹到 /home目录
cp -R bash /home/bash
—————————————————————————————————————
# 复制当前目录内的所有.txt后缀的文件到 /var/log目录
cp *.txt /var/log
 
# 复制当前目录内的所有以 doubi开头的文件到 /var/log目录
cp doubi* /var/log
 
# 复制当前目录内的所有以 doubi开头 以.txt后缀结尾的文件到 /var/log目录
cp doubi*.txt /var/log
—————————————————————————————————————
# 假设当前目录是 /root/doubi/log,要把这个目录中的所有.txt后缀的文件复制到上一级目录 /root/doubi,那么这样做
cp *.txt ..
 
# .. 就是相对路径,代表上一级目录,当然你也可以用绝对路径,这样更不容易出错
cp *.txt /root/doubi
—————————————————————————————————————
# 重命名当前目录内的 log.txt文件为 log2.txt
cp log.txt log2.txt
 
# 复制当前目录内的 log.txt文件到 /var目录并重命名为 log1.txt
cp log.txt /var/log1.txt
 
# 复制当前目录内的 bash文件夹到 /home目录并重命名为 bash2
cp -R bash /home/bash2
—————————————————————————————————————
# 复制当前目录内的 log.txt文件到 /var目录,但是 /var 目录中已经存着 log.txt,那么会提示 cp: overwrite `/var/log.txt'? 可以用 -f 强制覆盖
cp -f log /var/log.txt
 
# 大家可能会发现,当你使用 cp -f 强制覆盖的时候,依然会询问你是否覆盖,这是因为 CP 为了避免你手误,默认加上了 -i 参数(该参数代表每次覆盖必须询问)。
# 所以想要避免 CP 默认的 -i 参数,只需要在 CP 命令前面加上斜杠即可 “/”
/cp -f log /var/log.txt
 
# 复制当前目录内的 log.txt log1.txt log2.txt文件和 log233目录到 /home/log目录中
cp -R log.txt log1.txt log2.txt log233 /home/log
 
# 更多的命令可以用 cp --help 查看。

  

9、VI、VIM 编辑文件内容

# 打开当前目录下的 log.txt文件,如果没有那么会新建 log.txt文件(安装vim后,使用 vi和 vim打开文件没区别)
vi log.txt
vim log.txt
# 在命令行模式下,直接输入以下 符号和字母(区分大小写)
## 进入编辑模式(插入模式,按 Esc键 即可返回命令行模式)
i
## 删除光标当前所在的一行
dd
## 删除文件内所有内容
dddG
## 复制光标当前所在的一行
yy
## 粘贴刚才复制的一行内容
p
## 撤销上个操作(误操作可以用这个恢复)
u
## 保存当前文件( : 是英文的冒号)
:w
## 另存当前文件内容为 log2.txt
:w log2.txt
## 退出当前文件
:q
## 不保存 并强制退出当前文件
:q!
## 保存并退出当前文件
:wq
 
# 更多的命令可以用 vi --help / vim --help 来查看。

  

10、cat 查看文件内容

假设 log.txt文件的内容为:

doubi233
doubi
 
 
doubi666
 
doubi2366
doubi8888
查看文件:

# 查看 log.txt文件的所有内容
cat log.txt
# 输出示例如下
doubi233
doubi
 
 
doubi666
 
doubi2366
doubi8888
 
# 查看 log.txt文件的所有内容,并对所有行编号
cat -n log.txt
# 输出示例如下:
     1	doubi233
     2	doubi
     3	
     4	
     5	doubi666
     6	
     7	doubi2366
     8	doubi8888
 
# 查看 log.txt文件的所有内容,并对非空行编号
cat -b log.txt
# 输出示例如下:
     1	doubi233
     2	doubi
 
 
     3	doubi666
 
     4	doubi2366
     5	doubi8888
 
# 查看 log.txt文件的所有内容,并对非空行编号,且不输出多行空行
cat -bs log.txt
# 输出示例如下:
     1	doubi233
     2	doubi
 
     3	doubi666
 
     4	doubi2366
     5	doubi8888
清空文件:

# 清空当前目录中的 log.txt 文件
cat /dev/null > log.txt
 
# 清空 /var目录中的 log.txt 文件
cat /dev/null > /var/log.txt
写入文件:

# 写入文本到当前目录中的 log.txt文件中(加入文本到文件内容最后)
cat >> log.txt <<-EOF
doubi
doubi233
doubi666
EOF
 
# 清空文件并写入文本到 /var目录中的 log.txt文件中(先清空后写入)
cat > /var/log.txt <<-EOF
doubi
doubi233
doubi666
EOF
 
# 更多的命令可以用 cat --help 来查看。

 

 

11、du 查看 文件/文件夹 占用磁盘空间的大小

参数介绍:
-h :以人类易读的方式显示
-a :显示 目录占用的磁盘空间大小,并显示其下目录和文件占用磁盘空间的大小
-s :显示 目录占用的磁盘空间大小,但不显示其下子目录和文件占用的磁盘空间大小
-c :显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
--apparent-size:显示目录或文件自身的大小
-l :统计硬链接占用磁盘空间的大小
-L :统计符号链接所指向的文件占用的磁盘空间大小
# 待写...
 
# 更多的命令可以用 du --help 来查看。
---------------------------------------------------------------------------------------------------
使用示例:
# 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,但不显示其子目录和文件的大小
du -sh
 
# 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,并显示其子目录和文件的大小
du -ah
 
# 假设当前位于 /root 目录下,则显示 /root 文件夹下的所有文件夹的大小及其总和
du -lh --max-depth=1
 
# 更多的命令可以用 du --help 来查看。

  

12、mv 移动或重命名 文件/文件夹

# 移动当前目录内的 log.txt文件到 /var目录
mv log.txt /var/log.txt
 
# 移动当前目录内的 bash文件夹到 /home目录
mv bash /home/bash
—————————————————————————————————————
# 重命名当前目录内的 log.txt文件为 log2.txt
mv log.txt log2.txt
 
# 复制当前目录内的 log.txt文件到 /var目录并重命名为 log1.txt
mv log.txt /var/log1.txt
 
# 复制当前目录内的 bash文件夹到 /home目录并重命名为 bash2
mv bash /home/bash2
 
# 更多的命令可以用 mv --help 查看。

  

13、rm 删除 文件/文件夹

# 删除当前目录下的 log.txt文件
rm log.txt
 
# 删除当前目录下所有.txt后缀的文件
rm *.txt
 
# 使用 rm 命令删除时,会提示你是否确定删除,输入 y 即删除,输入 n 则取消
# rm: remove regular file `log.txt'? y
—————————————————————————————————————
# 删除当前目录下所有.txt后缀的文件
rm *.txt
 
# 删除当前目录下所有以 doubi开头的文件
rm doubi*
 
# 删除当前目录下所有以 doubi开头 以.txt后缀结尾的文件
rm doubi*.txt
—————————————————————————————————————
# 当你用 rm 删除目录的时候会发现提示这不是一个文件
# rm bash
# rm: cannot remove `bash': Is a directory
# 可以加上 -r 来归递删除目录及其目录下的内容
rm -r bash
—————————————————————————————————————
# 因为为了避免手误删除错误,所以 rm默认是加上了 -i 的参数,也就是每一次删除文件/目录都会提示,如果觉得烦可以用 -rf 参数
rm -rf bash
 
# rm -rf 这个命令请慎重使用,而且千万不要使用 rm -rf / 或者 rm -rf /* 之类的命令(系统自杀),可能会让你系统爆炸,所以使用请慎重!
 
# 更多的命令可以用 rm --help 查看。

 

 

14、ls 显示目录中文件

# 显示当前目录下的所有文件
ls -a
—————————————————————————————————————
# 命令后面加上 绝对路径/相对路径 就会显示指定文件夹内的所有文件
ls -a bash/log
 
# 相对路径,当前目录是 /root ,欲查看的目录是 /root/bash/log
ls -a /root/bash/log
 
# 绝对路径, 当前目录是 /root ,欲查看的目录是 /root/bash/log
 
# 更多的命令可以用 ls --help 来查看。

 

 

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

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

相关文章

机器学习之支持向量机(SVM)

1 支持向量机介绍 支持向量机&#xff08;support vector machine&#xff0c;SVM&#xff09;是有监督学习中最有影响力的机器学习算法之一&#xff0c;该算法的诞生可追溯至上世纪 60 年代&#xff0c; 前苏联学者 Vapnik 在解决模式识别问题时提出这种算法模型&#xff0c;…

synchronized监视器锁

1、synchronized&监视器锁 1.1 synchronized 介绍 在 Java 中&#xff0c;synchronized 是一种关键字&#xff0c;用于实现线程的同步和互斥控制。它可以修饰方法或代码块&#xff0c;用于保护共享资源的访问&#xff0c;避免多个线程同时修改数据而引发的并发问题。 具…

chatgpt赋能python:Python重写父类__init__方法的必要性与实现方法

Python重写父类__init__方法的必要性与实现方法 在Python中&#xff0c;一个类可以继承自另一个类&#xff0c;从而获得另一个类的属性和方法。当我们继承一个父类时&#xff0c;通常我们需要重写其中的一些方法&#xff0c;以满足我们自己的需求。在这篇文章中&#xff0c;我…

玩机搞机-----带你了解高通刷机平台中的一些选项释义 玩转平台

很多刷机工具玩家都使用过&#xff0c;但对于一些新手来说。有些选项所表达的意义不太了解&#xff0c;选择与否严重会导致机型固件刷完个别功能出现故障&#xff0c;今天的这个博文对有些刷机平台中的选项做个简单的说明。 一 小米刷机平台 MiFlash.截止目前最新的版本是2022…

最新|2024年QS世界大学排名前100榜单发布

6月28日世界高等教育研究机构Quacquarelli Symonds&#xff08;QS&#xff09;率先公布了2024年世界大学排名&#xff0c;本次QS排名因指标和权重的重大调整&#xff0c;导致排名发生较大变化。知识人网小编将新的评分标准及前100的大学榜单整理如下&#xff0c;供读者参考。 前…

Unity渲染工程收集

NPR 非真实渲染 UnityURP-AnimeStyleCelShader SSR 屏幕空间反射 UnitySSReflectionURP

消息传输不丢失:掌握消息中间件的持久化机制

当涉及到消息的持久化和重放时&#xff0c;我们可以使用Spring Boot与RabbitMQ来实现这个场景。RabbitMQ支持消息的持久化&#xff0c;以确保在发送和接收过程中消息不会丢失。同时&#xff0c;我们可以使用消息的重放机制&#xff0c;以便在需要时重新发送消息。 首先&#xf…

leetcode:387. 字符串中的第一个唯一字符(python3解法)

难度&#xff1a;简单 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;则返回 -1 。 示例 1&#xff1a; 输入: s "leetcode" 输出: 0示例 2: 输入: s "loveleetcode" 输出: 2示例 3: 输…

1253. 重构 2 行二进制矩阵(力扣)

1253. 重构 2 行二进制矩阵&#xff08;力扣&#xff09; 题目第一种方式分析测试代码运行结果 第二种方式测试代码运行结果 题目 给你一个 2 行 n 列的二进制数组&#xff1a; 矩阵是一个二进制矩阵&#xff0c;这意味着矩阵中的每个元素不是 0 就是 1。 第 0 行的元素之和为…

系统架构设计师-软件工程(1)

一、软件过程模型 &#xff08;1&#xff09;瀑布模型、&#xff08;2&#xff09;V模型【瀑布变种】、&#xff08;3&#xff09;原型模型、 &#xff08;4&#xff09;螺旋模型【原型瀑布】、&#xff08;5&#xff09;构件组装模型/基于构件的开发方法、 &#xff08;…

学习Kotlin~类

类 类的field 类定义的每一个属性&#xff0c;kotlin都会产生一个filed,一个setter(),一个getter()field用来存储属性数据&#xff0c;不能直接定义&#xff0c;kotlin会封装&#xff0c;保护它里面数据&#xff0c;只暴露给getter和setter使用只有可变属性才有setter方法需要…

UNITY3D弹幕游戏,万人同屏解决方案_类萌宠宠之战

先上效果 &#xff08;类萌宠宠之战&#xff09;弹幕游戏&#xff0c;万人同屏解决方案演示 UNITY默认的人物动画显示方案是 SkinnedMeshRenderer 该动画的计算是由CPU计算&#xff08;计算骨骼位置所影响的顶点位置&#xff09; 所以是CPU计算&#xff0c;物体大于2000个时…

Python3,掌握这几种并行处理,轻轻松松提升for循环速度。

并行处理几种方法 1、引言2、并行处理2.1 定义2.2 并行处理优缺点2.3 并行处理的常用库2.4 代码示例2.4.1 multiprocessing2.4.2 concurrent.futures2.4.3 joblib2.4.4 threading 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;你给我讲一讲并行处理呗。 小鱼&#xff1…

Android:datePicker对话框的使用

一、前言&#xff1a;这篇文章是关于DatePickerDialog&#xff0c;点击按钮出现一个日期选择器对话框&#xff0c;通过点击确认把选则的日期显示到文本控件上。 二、上代码 页面布局xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout…

正则表达式回溯引发的生产惨案

文章目录 背景问题原因分析如何解决&#xff1f;chatgpt 3.5GP4的表现未完待续 背景 业务上的一个字段在解析时为了避免脏数据导致后续ETL的异常&#xff0c;决定从源头将该字段严格按照设计的规则去匹配。该字段的上传是设备端传上来的文件中的一个字段。 正向&#xff1f;反…

「C/C++」C++类与类的关系(UML类图+代码说明)

✨博客主页&#xff1a;何曾参静谧的博客 &#x1f4cc;文章专栏&#xff1a;「C/C」C/C学习 相关术语 &#x1f3af;依赖关系&#xff08;Dependency&#xff09;&#xff1a;表示一个类的实现需要另一个类的协助&#xff0c;虚线箭头&#xff0c;箭头指向被依赖的类。 &#…

基于当量因子法、InVEST、SolVES模型等多技术融合在生态系统服务功能社会价值评估中的应用及论文写作、拓展分析

生态系统服务是人类从自然界中获得的直接或间接惠益&#xff0c;可分为供给服务、文化服务、调节服务和支持服务4类&#xff0c;对提升人类福祉具有重大意义&#xff0c;且被视为连接社会与生态系统的桥梁。自从启动千年生态系统评估项目&#xff08;Millennium Ecosystem Asse…

2023软科中国大学智能建造专业排名结果出炉(共54所高校)

智能建造专业&#xff08;Intelligent Construction&#xff09;是一个新兴的跨学科领域&#xff0c;它涉及到建筑、土木工程、计算机科学、数据科学等多个学科的知识。智能建造专业专注于研究如何利用先进的计算机技术、人工智能&#xff08;AI&#xff09;、物联网&#xff0…

进销存软件市场成熟,为什么还要用低代码构建?

关键词&#xff1a;进销存软件、群晖NAS、低代码平台 编者按&#xff1a; 进销存管理软件产业已经逐步走向成熟&#xff0c;产品种类也越来越丰富&#xff0c;也正因如此&#xff0c;企业在选择购买进销存软件的时候&#xff0c;往往不知该如何选择。不少的企业会直接选择平台型…

[golang 微服务] 8.go-micro的负载均衡操作,go Web框(Gin,Beego)调用go-micro微服务

一.先创建go-micro服务端 启动consul 需要先启动consul, consol相关内容见 [golang 微服务] 5. 微服务服务发现介绍,安装以及consul的使用,Consul集群 [golang 微服务] 6. GRPC微服务集群Consul集群grpc-consul-resolver案例演示 启动consul命令,这里,使用dev模式: consul agen…