linux常用指令都是工作中遇到的

前端打war包

jar -cvf dist.war *

创建 WAR 文件的命令 jar -cvf dist.war * 用于将当前目录下的所有文件和文件夹打包成一个名为 dist.war 的 WAR 文件。以下是该命令的详细解释:
jar: Java Archive 工具,用于创建 JAR、WAR 或 EAR 文件。
-c: 创建新的归档文件。
-v: 在标准输出中生成详细输出。
-f dist.war: 指定生成的归档文件名为 dist.war。
*: 匹配当前目录下的所有文件和文件夹。
注意事项
当前目录: 命令会在当前目录下创建 dist.war 文件,并将当前目录下的所有文件和文件夹打包进去。
排除文件: 如果需要排除某些文件或文件夹,可以使用 -C 选项或在 * 后面指定具体的文件和文件夹。
路径问题: 确保当前目录下没有隐藏文件或特殊文件,这些文件可能会导致打包失败或产生意外的结果。

查询磁盘是固态还是机械

lsblk -d -o NAME,ROTA

命令解释
lsblk: 列出块设备信息。
-d: 只显示设备信息,不显示分区信息。
-o NAME,ROTA: 指定输出列,其中:
NAME: 设备名称。
ROTA: 设备是否为旋转设备(1 表示是旋转设备,0 表示是非旋转设备,如 SSD)。
示例
假设系统中有以下块设备:
/dev/sda (HDD)
/dev/nvme0n1 (SSD)
执行 lsblk -d -o NAME,ROTA 命令后,输出可能如下

NAME         ROTA
sda          1
nvme0n1      0

HDD(Hard Disk Drive,硬盘驱动器)和 SSD(Solid State Drive,固态硬盘)是两种常见的存储设备,它们在工作原理、性能、成本和可靠性等方面有显著的区别。以下是 HDD 和 SSD 的主要区别:

  1. 工作原理
    HDD:
    使用旋转磁盘和移动读写头进行数据的读取和写入。
    数据存储在磁盘上的不同位置,读写头需要物理移动到相应的位置。
    SSD:
    使用闪存芯片(NAND Flash)存储数据。
    没有机械部件,数据读写通过电子信号完成。
  2. 性能
    读写速度:
    HDD: 通常读写速度较慢,典型的顺序读写速度在 100 MB/s 到 200 MB/s 之间。
    SSD: 读写速度非常快,典型的顺序读写速度可达 500 MB/s 到 3500 MB/s 以上。
    随机访问速度:
    HDD: 随机访问速度较慢,因为需要读写头移动到不同的位置。
    SSD: 随机访问速度非常快,因为没有机械延迟。
    延迟:
    HDD: 延迟较高,通常在几毫秒级别。
    SSD: 延迟非常低,通常在微秒级别。
  3. 耐用性和可靠性
    耐用性:
    HDD: 由于有机械部件,容易受到物理冲击和振动的影响,可能导致数据丢失或损坏。
    SSD: 没有机械部件,更耐受物理冲击和振动。
    寿命:
    HDD: 寿命取决于机械部件的磨损程度,通常在几年左右。
    SSD: 寿命取决于闪存芯片的擦写次数(P/E 周期),现代 SSD 通常可以支持数万次擦写。
  4. 成本
    价格:
    HDD: 单位容量的价格较低,适合大容量存储需求。
    SSD: 单位容量的价格较高,但性能优越,适合对性能要求高的应用。
  5. 功耗
    功耗:
    HDD: 功耗较高,因为需要旋转磁盘和移动读写头。
    SSD: 功耗较低,因为没有机械部件。
  6. 体积和重量
    体积和重量:
    HDD: 体积较大,重量较重。
    SSD: 体积较小,重量较轻,更适合便携设备。
  7. 噪音
    噪音:
    HDD: 由于有机械部件,运行时会产生一定的噪音。
    SSD: 运行时几乎无声,因为没有机械部件。
  8. 温度
    温度:
    HDD: 运行时会产生较多热量。
    SSD: 运行时产生的热量较少。
    总结
    HDD 适用于需要大容量存储且对性能要求不高的场景,如备份存储、视频存储等。
    SSD 适用于需要高性能、快速响应和高可靠性的场景,如操作系统盘、数据库存储、游戏存储等。

检测io

iostat -xdmt 5 2

iostat 是一个用于监控系统输入/输出设备负载的工具,常用于分析磁盘性能。你提供的命令 iostat -xdmt 5 2 用于以详细的格式每 5 秒输出一次磁盘 I/O 统计信息,总共输出 2 次。下面是对这个命令的详细解释:
命令解释
iostat: 显示 CPU 和磁盘 I/O 统计信息。
-x: 以扩展模式显示详细的统计信息。
-d: 仅显示设备(磁盘)统计信息,不显示 CPU 统计信息。
-m: 以兆字节(MB)为单位显示传输速率。
-t: 在输出中添加时间戳。
5: 每 5 秒输出一次统计信息。
2: 总共输出 2 次统计信息。
输出字段解释
在扩展模式下,iostat 会输出多个字段,每个字段的含义如下:
Device: 设备名称。
tps: 每秒传输次数(I/O 操作数)。
kB_read/s: 每秒读取的数据量(以 KB 为单位)。
kB_wrtn/s: 每秒写入的数据量(以 KB 为单位)。
kB_read: 自系统启动以来读取的总数据量(以 KB 为单位)。
kB_wrtn: 自系统启动以来写入的总数据量(以 KB 为单位)。
rrqm/s: 每秒合并的读请求。
wrqm/s: 每秒合并的写请求。
r/s: 每秒完成的读 I/O 请求。
w/s: 每秒完成的写 I/O 请求。
rsec/s: 每秒读取的扇区数。
wsec/s: 每秒写入的扇区数。
avgrq-sz: 平均每次 I/O 操作的扇区数。
avgqu-sz: 平均 I/O 队列长度。
await: 平均每次 I/O 操作的等待时间(毫秒)。
r_await: 平均每次读 I/O 操作的等待时间(毫秒)。
w_await: 平均每次写 I/O 操作的等待时间(毫秒)。
svctm: 平均每次 I/O 操作的服务时间(毫秒)。
%util: 设备利用率,即设备忙于处理 I/O 请求的时间百分比。
示例输出
假设系统中有两个磁盘设备 /dev/sda 和 /dev/sdb,执行 iostat -xdmt 5 2 命令后,输出可能如下:

Linux 5.4.0-42-generic (hostname)   2023年10月10日  _x86_64_    (4 CPU)10:00:00 AM  Device         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn    rrqm/s    wrqm/s     r/s     w/s    rsec/s    wsec/s avgrq-sz avgqu-sz   await  r_await  w_await  svctm  %util
10:00:00 AM  sda            0.00        0.00        0.00         0         0     0.00     0.00    0.00    0.00     0.00     0.00    0.00     0.00    0.00    0.00    0.00   0.00   0.00
10:00:00 AM  sdb            0.00        0.00        0.00         0         0     0.00     0.00    0.00    0.00     0.00     0.00    0.00     0.00    0.00    0.00    0.00   0.00   0.0010:00:05 AM  Device         tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn    rrqm/s    wrqm/s     r/s     w/s    rsec/s    wsec/s avgrq-sz avgqu-sz   await  r_await  w_await  svctm  %util
10:00:05 AM  sda            1.00        8.00        0.00         40         0     0.00     0.00    1.00    0.00     8.00     0.00    8.00     0.01    8.00    8.00    0.00   8.00   0.80
10:00:05 AM  sdb            0.00        0.00        0.00         0         0     0.00     0.00    0.00    0.00     0.00     0.00    0.00     0.00    0.00    0.00    0.00   0.00   0.00

解释
第一次输出(10:00:00 AM)显示了系统启动以来的累计统计信息。
第二次输出(10:00:05 AM)显示了从上一次输出到这次输出之间的统计信息。

磁盘io 写文件

#!/bin/bash
iostat -xdmt 30 10 >/root/script/log/iostat.log

查看当前目录属于哪一个盘

df $(pwd) | grep -E '^(/)'

sqlserver指令登录

sqlcmd -S 127.0.0.1 -U sa -P password

参数解释
-S 127.0.0.1: 指定 SQL Server 实例的地址,这里是本地主机。
-U sa: 指定登录用户名,这里是 sa(系统管理员)。
-P password: 指定登录密码。注意 -P 是大写,后面跟的是密码字符串。
示例
假设 sa 用户的密码是 MyStrongPassword!,那么完整的命令应该是

sqlcmd -S 127.0.0.1 -U sa -P MyStrongPassword!

创建多级目录

mkdir -p dir1/dir2/dir3

赋权多级目录

chown -R dmdba:dmdba dmdba/

重启sshd服务

service sshd restart

查看sshd状态

service sshd status

redis重启

redis-server /etc/redis/6379.conf --daemonize yes

redis-server 是 Redis 的服务器进程,用于启动 Redis 服务。你提供的命令 redis-server /etc/redis/6379.conf --daemonize yes 用于启动 Redis 服务,并指定配置文件和以守护进程模式运行。下面是对这个命令的详细解释:
命令解释
redis-server: 启动 Redis 服务器。
/etc/redis/6379.conf: 指定 Redis 配置文件的路径。
–daemonize yes: 以守护进程模式(后台运行)启动 Redis 服务器。
详细说明
指定配置文件:
/etc/redis/6379.conf: 这个文件包含了 Redis 服务器的各种配置选项,如端口号、数据持久化方式、内存限制等。
你可以根据需要编辑这个配置文件来调整 Redis 的行为。
守护进程模式:
–daemonize yes: 这个参数告诉 Redis 服务器在后台以守护进程模式运行,而不是在前台运行。
如果你希望 Redis 在前台运行,可以省略 --daemonize yes 参数。

列出系统中所有块设备的分区表信息

fdisk -l

fdisk -l 是一个常用的命令,用于列出系统中所有块设备的分区表信息。这个命令可以帮助你查看硬盘、分区的详细信息,包括设备名称、大小、分区类型等。下面是对这个命令的详细解释和示例输出:
命令解释
fdisk: 一个用于分区管理的工具。
-l: 列出所有块设备的分区表信息。
示例输出
假设系统中有两个硬盘设备 /dev/sda 和 /dev/sdb,执行 fdisk -l 命令后,输出可能如下:

Disk /dev/sda: 500 GB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 12345678-1234-1234-1234-1234567890ABDevice         Start        End    Sectors   Size Type
/dev/sda1       2048     1050623    1048576   512M EFI System
/dev/sda2    1050624    20971519   19920896    9.5G Linux filesystem
/dev/sda3    20971520  976773119  955801599 455.8G Linux filesystemDisk /dev/sdb: 1 TB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x12345678Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 1953525167 1953523120  931G 83 Linux

查询sqlserver

rpm -qa | grep mssql

rpm -qa | grep mssql 是一个组合命令,用于列出系统中所有已安装的 RPM 包,并过滤出包含 mssql 字样的包。这个命令可以帮助你查找与 Microsoft SQL Server 相关的已安装包。下面是对这个命令的详细解释和示例输出:
命令解释
rpm -qa: 列出系统中所有已安装的 RPM 包。
-q: 查询包。
-a: 列出所有已安装的包。
grep mssql: 过滤出包含 mssql 字样的行。
确认安装: 检查系统中是否已经安装了特定的 Microsoft SQL Server 相关包。
版本管理: 查看已安装包的具体版本,以便进行版本管理和更新。
故障排除: 在遇到问题时,确认系统中安装了哪些相关的包,以便进行故障排除。

docker查询influxdb

docker ps
docker exec -it 4c0b8101abfb /bin/bash
influx v1 shell
use "db";

保障系统正常运行需要监控的指标

要确保系统正常运行,以下是一些关键的 Linux 监控指标,您可以定期监控这些指标以及相应的阈值来保障系统的稳定性:
CPU 使用率:监控 CPU 利用率,确保 CPU 不会过度使用,一般建议不超过 70-80%。
内存使用:检查系统内存使用情况,确保没有内存泄漏或过度使用。特别关注交换空间的使用情况。
磁盘空间:监控磁盘空间使用情况,避免出现磁盘空间耗尽的情况。
网络流量:监控网络接口的输入输出流量,确保网络连接正常且没有异常流量。
负载平均值:监控系统的负载情况,当负载过高时可能会影响系统性能。
进程监控:监视重要进程的状态,确保关键服务在运行,并警告或自动重启出现故障的进程。
日志文件:定期检查系统日志文件中是否有异常信息或错误,及时发现并解决潜在问题。
IO 情况:监控磁盘读写速度,确保磁盘 I/O 操作正常,避免磁盘性能瓶颈。
温度和硬件健康状况:监控硬件传感器,包括 CPU 温度、风扇转速等,确保硬件健康状态良好。
安全监控:定期审计系统安全日志,检查登录尝试、异常访问等安全问题。
以上指标是确保 Linux 系统正常运行所需监控的关键指标,定期监控并设定适当的阈值将帮助您及时发现并解决潜在问题,确保系统长时间稳定运行。
要实现实时监控 Linux 系统的性能指标,您可以考虑以下方法和工具:
使用监控工具:使用专门的监控工具可以帮助您实现实时监控。一些常用的监控工具包括:
Prometheus:开源的监控系统,支持多维度数据模型和强大的查询语言。
Grafana:可视化监控工具,与多种数据源集成,支持创建各种图表和仪表板。
Telegraf:数据采集代理,支持从各种来源收集数据并发送到监控系统。
设置警报:通过监控工具设置警报规则,当系统性能达到设定的阈值时触发警报通知。
实时日志监控:使用工具如 tail -f 或 journalctl -f 实时监控系统日志,以便快速发现错误或异常情况。
系统事件监控:使用工具如 inotify-tools 监控文件系统事件,以实时了解文件变动情况。
利用 SSH 远程监控:通过 SSH 连接远程服务器,并使用命令行工具实时监控系统性能,如 htop、top、iftop 等。
结合脚本和定时任务:编写脚本来定时获取系统性能数据,并将数据存储在本地文件中,以实现近实时的监控。
安装监控代理:在需要监控的主机上安装监控代理,将数据发送到中央监控服务器,实现实时监控和集中管理。
实时监控可以帮助您及时发现系统性能问题并采取相应措施。根据需求选择合适的监控工具和方法,确保您可以随时了解系统的运行状况。

配置ssh免密

ssh-keygen -t rsa

ssh-keygen -t rsa 是一个用于生成 RSA 类型的 SSH 密钥对的命令。SSH 密钥对包括一个公钥和一个私钥,用于实现无密码的 SSH 登录。下面是对这个命令的详细解释和示例输出:
命令解释
ssh-keygen: 用于生成、管理和转换认证密钥对的工具。
-t rsa: 指定生成的密钥类型为 RSA。其他常见的密钥类型还包括 DSA (-t dsa)、ECDSA (-t ecdsa) 和 Ed25519 (-t ed25519)。
命令执行步骤
生成密钥对:

ssh-keygen -t rsa 

提示信息:
保存位置: 默认情况下,密钥对将保存在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub 文件中。你可以选择默认位置或指定其他位置。
输入密码: 你可以为私钥设置一个密码(passphrase),增加安全性。如果你不想设置密码,可以直接按回车键跳过。
示例输出
假设你在终端中执行 ssh-keygen -t rsa,输出可能如下:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 

保存位置:
按回车键接受默认位置,或者输入自定义路径并按回车键

Enter passphrase (empty for no passphrase): 

输入密码:
输入密码(如果需要),或者直接按回车键跳过。

Enter same passphrase again: 

再次输入密码:
再次输入相同的密码(如果需要),或者直接按回车键跳过。

Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx user@hostname
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|                 |
|                 |
|                 |
|     . . S .     |
|    o + + +      |
|   . + B +       |
|    . = O        |
|     E .         |
+----[SHA256]-----+

生成的文件
私钥文件: ~/.ssh/id_rsa,包含私钥信息,需要保密。
公钥文件: ~/.ssh/id_rsa.pub,包含公钥信息,可以共享给需要无密码登录的远程服务器。
使用公钥进行无密码登录
复制公钥到远程服务器:

ssh-copy-id user@remote_host

手动复制公钥:
将公钥内容复制到远程服务器的 ~/.ssh/authorized_keys 文件中:

cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

注意事项
安全性: 私钥文件应妥善保管,不要泄露给他人。
权限: 确保 ~/.ssh 目录和 ~/.ssh/authorized_keys 文件的权限设置正确:

 chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys

查看端口被哪个服务或者进程占用

netstat -anop | grep 57298

查看进程使用了哪个端口

netstat -plunt | grep 53

东方通密码忘记

重置TongWeb密码,利用 <TongWeb_home>/domain_template/conf/security 中的文件模版去覆盖TongWeb根下的<TongWeb_home>/conf/security目录,或是域下的conf/security目录对应文件即可, 重启TongWeb恢复原始密码。

查询docker映射后的目录

docker inspect 9c9342be4ea7

查询服务器版本

cat /etc/*release*

查询linux cpu、mem占用量

ps aux --sort=-%cpu | head -n 10
ps aux --sort=-%mem | head -n 10

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

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

相关文章

响应式编程一、Reactor核心

目录 一、前置知识1、Lambda表达式2、函数式接口 Function3、StreamAPI4、Reactive-Stream1&#xff09;几个实际的问题2&#xff09;Reactive-Stream是什么&#xff1f;3&#xff09;核心接口4&#xff09;处理器 Processor5&#xff09;总结 二、Reactor核心1、Reactor1&…

Docker for Everyone Plus——No Enough Privilege

直接告诉我们flag在/flag中&#xff0c;访问第一小题&#xff1a; sudo -l查看允许提权执行的命令&#xff1a; 发现有image load命令 题目指明了有rz命令&#xff0c;可以用ZMODEM接收文件&#xff0c;看到一些write up说可以用XShell、MobaXterm、Tabby Terminal等软件连接上…

深度学习基础2

1.损失函数 1.1 线性回归损失函数 1.1.1 MAE损失 MAE&#xff08;Mean Absolute Error&#xff0c;平均绝对误差&#xff09;通常也被称为 L1-Loss&#xff0c;通过对预测值和真实值之间的绝对差取平均值来衡量他们之间的差异。。 公式&#xff1a; 其中&#xff1a; n 是样…

【Android】组件化嘻嘻嘻gradle耶耶耶

文章目录 Gradle基础总结&#xff1a;gradle-wrapper项目根目录下的 build.gradlesetting.gradle模块中的 build.gradlelocal.properties 和 gradle.properties 组件化&#xff1a;项目下新建一个Gradle文件定义一个ext扩展区域config.gradle全局基础配置&#xff08;使用在项目…

基础Web安全|SQL注入

基础Web安全 URI Uniform Resource Identifier&#xff0c;统一资源标识符&#xff0c;用来唯一的标识一个资源。 URL Uniform Resource Locator&#xff0c;统一资源定位器&#xff0c;一种具体的URI&#xff0c;可以标识一个资源&#xff0c;并且指明了如何定位这个资源…

【插入排序】:直接插入排序、二分插入排序、shell排序

【插入排序】&#xff1a;直接插入排序、二分插入排序、shell排序 1. 直接插入排序1.1 详细过程1.2 代码实现 2. 二分插入排序2.1 详细过程2.2 代码实现 3. shell排序3.1 详细过程3.2 代码实现 1. 直接插入排序 1.1 详细过程 1.2 代码实现 public static void swap(int[]arr,…

一万台服务器用saltstack还是ansible?

一万台服务器用saltstack还是ansible? 选择使用 SaltStack 还是 Ansible 来管理一万台服务器&#xff0c;取决于几个关键因素&#xff0c;如性能、扩展性、易用性、配置管理需求和团队的熟悉度。以下是两者的对比分析&#xff0c;帮助你做出决策&#xff1a; SaltStack&…

通讯专题4.1——CAN通信之计算机网络与现场总线

从通讯专题4开始&#xff0c;来学习CAN总线的内容。 为了更好的学习CAN&#xff0c;先从计算机网络与现场总线开始了解。 1 计算机网络体系的结构 在我们生活当中&#xff0c;有许多的网络&#xff0c;如交通网&#xff08;铁路、公路等&#xff09;、通信网&#xff08;电信、…

使用OSPF配置不同进程的中小型网络

要求&#xff1a; 给每个设备的接口配置好相应的地址 对进程1的各区域使用认证&#xff0c;认证为明文发送&#xff0c;明文保存 对骨干区域使用接口认证&#xff0c;非骨干区域使用区域认证 其他ospf进程均使用区域0 FW1上配置接口信任域和非信任域和服务器&#xff0c…

软考高项经验分享:我的备考之路与实战心得

软考&#xff0c;尤其是信息系统项目管理师&#xff08;高项&#xff09;考试&#xff0c;对于众多追求职业提升与专业认可的人士来说&#xff0c;是一场充满挑战与机遇的征程。我在当年参加软考高项的经历&#xff0c;可谓是一波三折&#xff0c;其中既有成功的喜悦&#xff0…

Transformers在计算机视觉领域中的应用【第1篇:ViT——Transformer杀入CV界之开山之作】

目录 1 模型结构2 模型的前向过程3 思考4 结论 论文&#xff1a; AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE 代码&#xff1a;https://github.com/google-research/vision_transformer Huggingface&#xff1a;https://github.com/huggingf…

Unity3D模型场景等测量长度和角度功能demo开发

最近项目用到多段连续测量物体长度和角度功能&#xff0c;自己研究了下。 1.其中向量角度计算&#xff1a; 需要传入三个坐标来进行计算。三个坐标确定两条向量线段的方向&#xff0c;从而来计算夹角。 public Vector3 SetAngle(Vector3 p1, Vector3 p2,Vector3 p3) { …

蓝桥杯第 23 场 小白入门赛

一、前言 好久没打蓝桥杯官网上的比赛了&#xff0c;回来感受一下&#xff0c;这难度区分度还是挺大的 二、题目总览 三、具体题目 3.1 1. 三体时间【算法赛】 思路 额...签到题 我的代码 // Problem: 1. 三体时间【算法赛】 // Contest: Lanqiao - 第 23 场 小白入门赛 …

从0开始学PHP面向对象内容之常用设计模式(享元)

二、结构型设计模式 7、享元模式&#xff08;Flyweight Pattern&#xff09; 这里是引用享元模式&#xff08;Flyweight Pattern&#xff09; 是一种结构型设计模式&#xff0c;旨在通过共享对象来减少内存使用&#xff0c;尤其适用于大量相似对象的场景。通过共享和重用对象的…

YOLO 标注工具 AutoLabel 支持 win mac linux

常见的标注工具&#xff0c;功能基础操作繁琐&#xff0c;无复制粘贴&#xff0c;标签无法排序修改&#xff0c;UI不美观&#xff0c;bug修正不及时&#xff0c;没有集成识别、训练、模型导出… 怎么办呢&#xff1f;AutoLabel它来了 Quick Start 一图胜千言 图像标注 支持YOL…

《Python基础》之Python中可以转换成json数据类型的数据

目录 一、JSON简介 JSON有两种基本结构 1、对象&#xff08;Object&#xff09; 2、数组&#xff08;Array&#xff09; 二、将数据装换成json数据类型方法 三、在Python中&#xff0c;以下数据类型可以直接转换为JSON数据类型 1、字典&#xff08;Dictionary&#xff09…

如何在Bash中等待多个子进程完成,并且当其中任何一个子进程以非零退出状态结束时,使主进程也返回一个非零的退出码?

文章目录 问题回答参考 问题 如何在 Bash 脚本中等待该脚本启动的多个子进程完成&#xff0c;并且当这其中任意一个子进程以非零退出码结束时&#xff0c;让该脚本也返回一个非零的退出码&#xff1f; 简单的脚本: #!/bin/bash for i in seq 0 9; docalculations $i & d…

远程桌面协助控制软件 RustDesk v1.3.3 多语言中文版

RustDesk 是一款开源的远程桌面软件&#xff0c;支持多平台操作&#xff0c;包括Windows、macOS、Linux、iOS、Android和Web。它提供端到端加密和基于角色的访问控制&#xff0c;确保安全性和隐私保护。使用简单&#xff0c;无需复杂配置&#xff0c;通过输入ID和密码即可快速连…

LWIP和FATFS 实现 FTP 服务端

目录 一、前言 二、LWIP 和 FTP 简介 1.LWIP 2.FTP 三、实现 FTP 服务端的主要步骤 1.初始化 LWIP 2.创建 FTP 服务器任务 3.处理客户端连接 4.实现 FTP 命令处理 5.文件系统操作 6.错误处理和日志记录 四、示例代码 1.创建FTP任务 2. FTP任务代码 3.处理交互数据…

多线程篇-8--线程安全(死锁,常用保障安全的方法,安全容器,原子类,Fork/Join框架等)

1、线程安全和不安全定义 &#xff08;1&#xff09;、线程安全 线程安全是指一个类或方法在被多个线程访问的情况下可以正确得到结果&#xff0c;不会出现数据不一致或其他错误行为。 线程安全的条件 1、原子性&#xff08;Atomicity&#xff09; 多个操作要么全部完成&a…