Linux 环境变量与软件安装

news/2025/10/17 9:10:47/文章来源:https://www.cnblogs.com/Jing61/p/19146978

Linux 环境变量与软件安装

环境变量

环境变量是 Linux 系统中定义的动态参数,用于指定系统或应用程序的运行路径、配置信息等,其中 PATH 变量 是最核心的环境变量之一,决定了系统在哪些目录下查找可执行指令。

环境变量 PATH 的作用

ls 指令为例,通过 which 命令可查看其绝对路径:

[root@localhost ~]# which ls
alias ls='ls --color=auto'  # alias 表示 ls 是别名,实际指向带颜色显示的 ls
/usr/bin/ls  # ls 指令的真实绝对路径

image

  • 我们执行 ls 时无需输入完整路径 /usr/bin/ls,是因为 /usr/bin 目录已包含在 PATH 环境变量中。
  • 输入 echo $PATH 可打印当前 PATH 配置(echo 用于打印内容,$ 表示引用变量):
    [root@localhost ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/Java/jdk-25/bin:/root/bin
    
    image

环境变量失效与修复案例

若将 ls 指令移动到非 PATH 目录(如 /root),执行 ls 会提示“找不到文件”:

# 移动 ls 到 /root 目录
[root@localhost ~]# mv /usr/bin/ls /root/
# 执行 ls 指令,系统在 PATH 目录中找不到 ls,报错
[root@localhost ~]# ls
-bash: /usr/bin/ls: 没有那个文件或目录

image

修复方法

  • 方法一:临时添加目录到 PATH
    执行以下命令将 /root 目录加入 PATH(仅当前终端生效,重启后失效):
    [root@localhost ~]# PATH=$PATH:/root
    [root@localhost ~]# ls  # 此时可正常执行 ls
    anaconda-ks.cfg
    
  • 方法二:使用绝对路径执行
    直接指定 ls 的新绝对路径 /root/ls
    [root@localhost ~]# /root/ls
    anaconda-ks.cfg
    

恢复初始状态

ls 移回原目录 /usr/bin,恢复正常使用:

[root@localhost ~]# mv /root/ls /usr/bin/
[root@localhost ~]# ls
anaconda-ks.cfg

image

软件安装方式

Linux 软件安装主要有三种方式:RPM 包安装(预编译包,快捷但依赖复杂)、YUM 安装(自动解决依赖,推荐)、源码安装(自定义程度高,需编译),以下分别详细说明。

RPM 包安装

RPM(Red-Hat Package Manager)是基于数据库的包管理工具,适用于 RedHat、CentOS 等系统。RPM 包是预先编译好的文件,安装速度快,但需手动处理依赖关系。

RPM 包的获取与目录

若系统光驱中插入了 CentOS 安装光盘,可通过以下命令挂载光驱并查看 RPM 包:

# 将光驱挂载到 /mnt 目录(只读模式)
[root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载# 查看挂载后的目录,RPM 包存放在 /mnt/Packages 中
[root@localhost ~]# ls /mnt
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL# 查看前 10 个 RPM 包(以 .rpm 结尾)
[root@localhost ~]# ls /mnt/Packages/ | head
acl-2.2.51-14.el7.x86_64.rpm
aic94xx-firmware-30-6.el7.noarch.rpm
aide-0.15.1-13.el7.x86_64.rpm
alsa-firmware-1.0.28-2.el7.noarch.rpm
alsa-lib-1.1.6-2.el7.x86_64.rpm
alsa-tools-firmware-1.1.0-1.el7.x86_64.rpm
atk-2.28.1-1.el7.x86_64.rpm
audit-2.8.4-4.el7.x86_64.rpm
audit-libs-2.8.4-4.el7.x86_64.rpm
authconfig-6.2.8-30.el7.x86_64.rpm

RPM 包名称解析

abrt-cli-2.0.8-15.el6.centos.i686.rpm 为例,名称分为 4 部分:

  • 包名abrt-cli(软件核心名称)
  • 版本号2.0.8(软件版本)
  • 发布版本15.el6.centos(适配的系统版本,如 CentOS 6)
  • 运行平台i686(32 位 CPU,常见平台还有 x86_64(64 位)、noarch(无硬件限制))

RPM 常用命令

功能 命令 选项说明
安装 RPM 包 rpm -ivh 包路径 -i:安装;-v:显示详细过程;-h:显示安装进度(# 号)
强制安装 rpm -ivh --force 包路径 --force:覆盖已有文件,强制安装
忽略依赖安装 rpm -ivh --nodeps 包路径 --nodeps:忽略依赖关系(不推荐,可能导致软件无法运行)
升级 RPM 包 rpm -Uvh 包路径 -U:升级(若未安装则自动安装)
卸载 RPM 包 rpm -e 包名 -e:卸载(需输入“包名”,而非包文件路径)
查询单个包是否安装 rpm -q 包名 -q:查询(包名无需带版本和平台信息)
查询所有已安装 RPM 包 rpm -qa -a:查询所有
查看包详细信息 rpm -qi 包名 -i:显示包的版本、发布时间、作者等信息
列出包安装的文件 rpm -ql 包名 -l:列出包安装的所有文件路径
查找文件所属的 RPM 包 rpm -qf 文件绝对路径 -f:根据文件路径反向查询所属包

实例演示:RPM 包安装与卸载

libjpeg-turbo-devel 包为例:

# 1. 安装 RPM 包(指定包的绝对路径)
[root@localhost ~]# rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm
Preparing...                ########################################### [100%]1:libjpeg-turbo-devel    ########################################### [100%]# 2. 查询包是否安装(仅输入包名“libjpeg-turbo-devel”)
[root@localhost ~]# rpm -q libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.1-1.el6.i686# 3. 查询所有已安装的 RPM 包(仅显示前 10 个)
[root@localhost ~]# rpm -qa | head
acl-2.2.51-14.el7.x86_64
aic94xx-firmware-30-6.el7.noarch
aide-0.15.1-13.el7.x86_64
alsa-firmware-1.0.28-2.el7.noarch
alsa-lib-1.1.6-2.el7.x86_64
alsa-tools-firmware-1.1.0-1.el7.x86_64
atk-2.28.1-1.el7.x86_64
audit-2.8.4-4.el7.x86_64
audit-libs-2.8.4-4.el7.x86_64
authconfig-6.2.8-30.el7.x86_64# 4. 查看包的详细信息
[root@localhost ~]# rpm -qi libjpeg-turbo-devel
Name        : libjpeg-turbo-devel
Version     : 1.2.1
Release     : 1.el6
Architecture: i686
Install Date: 2025-10-16 10:00:00
Group       : Development/Libraries
Size        : 123456
License     : GPLv2
Signature   : RSA/SHA1, 2023-01-01 00:00:00, Key ID 1234567890abcdef
Source RPM  : libjpeg-turbo-1.2.1-1.el6.src.rpm
Build Date  : 2023-01-01 00:00:00
Build Host  : build.example.com
Relocations : (not relocatable)
URL         : http://libjpeg-turbo.virtualgl.org/
Summary     : Development files for libjpeg-turbo
Description :
The libjpeg-turbo-devel package contains libraries and header files for
developing applications that use libjpeg-turbo.# 5. 列出包安装的文件
[root@localhost ~]# rpm -ql libjpeg-turbo-devel
/usr/include/jconfig.h
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpeglib.h
/usr/lib/libjpeg.so
# ...(省略其他文件)# 6. 反向查询文件所属包(以 /usr/lib/libjpeg.so 为例)
[root@localhost ~]# rpm -qf /usr/lib/libjpeg.so
libjpeg-turbo-devel-1.2.1-1.el6.i686# 7. 卸载 RPM 包(输入包名,无需路径)
[root@localhost ~]# rpm -e libjpeg-turbo-devel
# 验证卸载结果(提示“未安装”)
[root@localhost ~]# rpm -q libjpeg-turbo-devel
package libjpeg-turbo-devel is not installed

YUM 安装

YUM(Yellowdog Updater, Modified)是基于 RPM 的包管理工具,自动解决依赖关系,并支持从远程仓库下载安装包,是日常使用中最便捷的安装方式(需联网)。

前置配置:国内 YUM 源(阿里源)

默认 YUM 源为国外服务器,下载速度慢,推荐替换为国内阿里源,步骤如下:

方式一:命令行快速配置
# 1. 备份原 YUM 源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 2. 下载阿里源的 CentOS 7 配置文件
curl -sSO https://mirrors.aliyun.com/repo/Centos-7.repo# 3. 将配置文件移动到 YUM 源目录
mv Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo# 4. 清理旧缓存并生成新缓存
yum clean all && yum makecache
方式二:官网手动配置

访问阿里源官方指南:https://help.aliyun.com/zh/ecs/user-guide/manage-and-use-linux-software-repositories,根据页面提示完成 CentOS 7 系统的 YUM 源配置。

YUM 常用命令

功能 命令 选项说明
搜索包 yum search 关键词 根据关键词搜索相关包(如 yum search gcc 搜索 GCC 编译器)
安装包 yum install [-y] 包名 -y:自动确认安装(无需手动输入 y
卸载包 yum remove [-y] 包名 -y:自动确认卸载(谨慎使用,避免删除系统依赖包)
升级包 yum update [-y] 包名 升级指定包;若不指定包名,升级系统所有可更新包
查看包信息 yum info 包名 显示包的版本、大小、依赖等信息
列出已安装包 yum list installed 查看系统中所有通过 YUM 安装的包

实例演示:YUM 安装与搜索

以安装 gcc(C 语言编译器)为例:

# 1. 搜索 gcc 相关包
[root@localhost ~]# yum search gcc
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
N/S matched: gcc
gcc-c++.x86_64 : C++ support for GCC
gcc-gnat.x86_64 : Ada 95 support for GCC
gcc-objc.x86_64 : Objective-C support for GCC
gcc-objc++.x86_64 : Objective-C++ support for GCC
gcc-plugin-devel.x86_64 : Support for compiling GCC plugins
libgcc.i686 : GCC version 4.8 shared support library
libgcc.x86_64 : GCC version 4.8 shared support library
# ...(省略其他搜索结果)
gcc.x86_64 : Various compilers (C, C++, Objective-C, Java, ...)  # 核心 GCC 包# 2. 安装 gcc(加 -y 自动确认)
[root@localhost ~]# yum install -y gcc
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 gcc.x86_64.0.4.8.5-44.el7 将被 安装
--> 正在处理依赖关系 gcc-4.8.5-44.el7.x86_64 需要的 libgomp = 4.8.5-44.el7
# ...(YUM 自动下载并安装所有依赖包)
已安装:gcc.x86_64 0:4.8.5-44.el7作为依赖被安装:cpp.x86_64 0:4.8.5-44.el7          glibc-devel.x86_64 0:2.17-326.el7_9glibc-headers.x86_64 0:2.17-326.el7_9  kernel-headers.x86_64 0:3.10.0-1160.el7libgomp.x86_64 0:4.8.5-44.el7完毕!
# 3. 验证安装结果(查看 gcc 版本)
[root@localhost ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44.el7)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

源码安装

源码安装是将软件源代码编译为二进制可执行文件的过程,自定义程度高(可按需启用/禁用功能),但步骤相对复杂,适用于需要定制化配置的场景(如 Nginx、Tomcat 等)。

源码安装的核心步骤

源码安装通常遵循“配置 → 编译 → 安装”三步流程,前提是系统已安装 gcc 编译器(可通过 yum install -y gcc 安装):

  1. ./configure(配置)
    • 自定义软件功能(如启用 SSL 模块),通过 ./configure --help 查看所有可配置选项。
    • 自动检测系统环境是否满足编译依赖(如是否缺少库文件),检测通过后生成 Makefile(编译规则文件)。
  2. make(编译)
    • 根据 Makefile 中的规则,调用 gcc 编译器将源代码编译为二进制文件。
  3. make install(安装)
    • 将编译后的二进制文件、配置文件等复制到指定目录(通常为 /usr/local/软件名),完成安装。

实例 1:源码安装 Nginx(Web 服务器)

Nginx 是高性能的 Web 服务器,源码安装可自定义启用 HTTPS 等模块。

安装 Nginx 依赖环境
# 安装 GCC 编译器(若未安装)
yum install -y gcc-c++
# 安装 PCRE 库(支持正则表达式)
yum install -y pcre pcre-devel
# 安装 zlib 库(支持数据压缩)
yum install -y zlib zlib-devel
# 安装 OpenSSL 库(支持 HTTPS)
yum install -y openssl openssl-devel
下载并解压 Nginx 源码包

官网链接:https://nginx.org/
使用 wget 命令下载,若没有安装 wget,执行 yum install wget.x86_64,然后在官网找一个版本,右键就能复制安装包链接。
image

# 1. 进入 /usr/local 目录(推荐存放软件源码)
cd /usr/local
# 2. 创建 nginx 目录(用于存放源码和安装文件,当然也可以自己选一个目录,这里只是方便管理)
mkdir nginx
cd nginx
# 3. 下载 Nginx 源码包(以 1.28.0 版本为例,从官网复制链接)
wget https://nginx.org/download/nginx-1.28.0.tar.gz
# 4. 解压源码包
tar -zxvf nginx-1.28.0.tar.gz

当然也可以在官网下载 tar.gz 安装包,然后通过远程工具拉取到 linux 中,这里就不做详解。

配置、编译与安装
# 1. 进入解压后的源码目录
cd nginx-1.28.0
# 2. 配置(启用 HTTPS 模块,指定安装目录为 /usr/local/nginx)
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 3. 编译(生成二进制文件)
make
# 4. 安装(将文件复制到指定目录)
make install
启动 Nginx 并验证
# 1. 进入 Nginx 二进制文件目录(sbin 目录存放可执行文件)
cd /usr/local/nginx/sbin
# 2. 启动 Nginx
./nginx

可以输入 netstat -ntlp 查看nginx 是否启动成功
image

浏览器访问 Nginx
  1. 打开浏览器,输入虚拟机的 IP 地址(如 192.168.10.158,Nginx 默认端口为 80,即htpp://192.168.10.158:80)。也可以通过 netstat -ntlp 查看 nginx 端口。
    image

  2. 若无法访问,需检查防火墙:
    检查防火墙是否开启 systemctl status firewalld
    image
    若出现了 running 说明开启了防火墙,就需要开放端口号,如果防火墙处于关闭状态(dead状态)就可以不用进行下面的配置

  3. 开放防火墙 80 端口:

    # 开放 80 端口(永久生效)
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    # 重新加载防火墙规则(立即生效)
    firewall-cmd --reload
    # 查看已开放端口(确认 80/tcp 存在)
    firewall-cmd --list-port
    

    image

  4. 再次访问 IP 地址,显示“Welcome to nginx!”即表示成功。
    image

步骤 6:Nginx 常用操作
# 关闭 Nginx
./nginx -s stop
# 重启 Nginx
./nginx -s reload
# 查看 Nginx 版本
./nginx -v

实例 2:源码安装 JDK(Java 开发环境)

JDK(Java Development Kit)是 Java 程序的运行和开发环境,需手动配置环境变量。

下载并解压 JDK

JDK 官网链接:https://www.oracle.com/

# 1. 进入 /usr/local 目录,创建 Java 目录
cd /usr/local
mkdir Java
cd Java
# 上面这三条指令可以自行定义,这样是为了方便管理,然后在官网找到一个 jdk 版本,复制对应的链接(同样也可以使用远程工具拉取到 linux 中)。
# 2. 下载 JDK 源码包(以 JDK 25 为例,从 Oracle 官网复制链接)
wget https://download.oracle.com/java/25/latest/jdk-25_linux-x64_bin.tar.gz
# 3. 解压 JDK 包
tar -zxvf jdk-25_linux-x64_bin.tar.gz
配置 JDK 环境变量
# 1. 编辑系统环境变量配置文件 /etc/profile
vim /etc/profile
# 2. 在文件末尾添加以下内容(注意 JAVA_HOME 路径需与实际解压路径一致)
export JAVA_HOME=/usr/local/Java/jdk-25
export PATH=$PATH:$JAVA_HOME/bin
# 3. 保存并退出(按 ESC,输入 :wq 回车)
# 4. 重新加载 profile 文件,使配置生效
source /etc/profile

image

验证 JDK 安装
# 查看 Java 版本
java --version
# 输出如下表示成功:
java 25 2025-09-16 LTS
Java(TM) SE Runtime Environment (build 25+37-LTS-3491)
Java HotSpot(TM) 64-Bit Server VM (build 25+37-LTS-3491, mixed mode, sharing)

image

实例 3:源码安装 Tomcat(Java Web 服务器)

Tomcat 是运行 Java Web 应用的服务器,依赖 JDK 环境(需先安装 JDK),tomcat 的下载包链接:https://tomcat.apache.org/ ,可以在里面找到一个需要的版本下载。

下载并解压 Tomcat
# 1. 进入 /usr/local 目录,创建 Tomcat 目录
cd /usr/local
mkdir Tomcat
cd Tomcat
# 2. 下载 Tomcat 源码包(以 10.1.48 版本为例,从 Apache 官网复制链接)
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.48/bin/apache-tomcat-10.1.48.tar.gz
# 3. 解压 Tomcat 包
tar -zxvf apache-tomcat-10.1.48.tar.gz
启动 Tomcat 并验证
# 1. 进入 Tomcat 二进制文件目录(bin 目录)
cd apache-tomcat-10.1.48/bin
# 2. 启动 Tomcat(startup.sh 为 Linux 启动脚本)
./startup.sh
# 输出如下表示启动成功:
# Using CATALINA_BASE:   /usr/local/Tomcat/apache-tomcat-10.1.48
# Using CATALINA_HOME:   /usr/local/Tomcat/apache-tomcat-10.1.48
# Using CATALINA_TMPDIR: /usr/local/Tomcat/apache-tomcat-10.1.48/temp
# Using JRE_HOME:        /usr/local/Java/jdk-25
# Using CLASSPATH:       /usr/local/Tomcat/apache-tomcat-10.1.48/bin/bootstrap.jar:/usr/local/Tomcat/apache-tomcat-10.1.48/bin/tomcat-juli.jar
# Using CATALINA_OPTS:   
# Tomcat started.# 3. 查看 Tomcat 端口(默认 8080)
netstat -ntlp | grep java
# 输出如下表示端口已监听:
# tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      7500/java
浏览器访问 Tomcat
  1. 打开浏览器,输入 IP地址:8080(如 192.168.10.158:8080)。
  2. 若无法访问,同样需开放防火墙 8080 端口:
    # 开放 8080 端口(永久生效)
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    # 重新加载防火墙规则
    firewall-cmd --reload
    # 查看已开放端口
    firewall-cmd --list-port
    
    image
  3. 再次访问,显示 Tomcat 欢迎页面即表示成功。
    image
Tomcat 常用操作
# 关闭 Tomcat
./shutdown.sh
# 查看 Tomcat 日志(排查启动故障)
cd ../logs
tail -f catalina.out

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

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

相关文章

Python 将多个DataFrame合并到一个Excel工作表的sheet中有几种方法

在Python中,将多个DataFrame合并到一个Excel工作表的sheet中有几种方法。以下是常见的几种实现方式: 方法1:直接合并DataFrame后保存import pandas as pd# 示例数据 df1 = pd.DataFrame({A: [1, 2, 3], B: [4, 5, 6…

基于ZigBee的无线传感器组网

一、实验设备与工具设备类型 型号/参数 功能说明主控芯片 CC2530F256 集成ZigBee射频与8051内核传感器模块 DHT11温湿度传感器 采集环境参数网关设备 USB-ZigBee适配器 实现PC与ZigBee网络通信开发环境 IAR Embedded W…

2025 涂料供应厂家最新推荐榜:权威品牌测评 + 选购指南,家装工程选品必看

2025 年涂料行业迎来技术迭代与品牌洗牌,消费者对环保性、功能性的需求从基础达标升级为精准适配,零 VOC、净醛抗菌、耐候定制等高端需求占比同比提升 30%。但市场中既有深耕多年的实力企业,也有缺乏核心技术的跟风…

2025 年中走丝线切割源头厂家最新推荐排行榜发布,解读优质厂家技术亮点与选择攻略伺服/高效/自动中走丝线切割厂家推荐

引言当前工业制造领域中,中走丝线切割设备作为模具制造、汽车零部件加工、精密器械生产等关键行业的核心装备,其质量与性能直接决定企业生产效率与产品精度。但市场上源头厂家数量繁杂,实力差距悬殊,部分厂家缺乏核…

2024浙江省省赛决赛wp

rce `<?php echo "get只接受code欧,flag在上一级目录<br>"; $filename = __FILE__; highlight_file($filename); if(isset($_GET[code])){ if (!preg_match(/session_id\(|readfile…

【解决办法】pytorch OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败”

一、出现背景 使用marker-pdf报错:pytorch OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败” 二、可能原因及其解决办法 1. dll没有安装或者有问题 用dll修复工具尝试安装修复dll,一些免费的工具,如:金山…

23省赛初赛

23质量比24高我只能说 easy php 简单反序列化__debuginfo()魔术方法打印所需调试信息,反序列化时候执行! 链子如下: BBB::__debuginfo()->CCC::__toString()->AAA::__call() AI运行代码 php EXP: <?php …

2025年苏州保洁服务公司最新权威推荐榜:专业家政与深度清洁口碑优选,覆盖日常保洁、开荒保洁、深度清洁及企业保洁服务

行业背景与发展趋势随着城市化进程加速和生活水平提升,中国保洁服务行业正迎来前所未有的发展机遇。据行业数据显示,2024年中国家政服务市场规模已突破1.5万亿元,年均增长率保持在15%以上。这一增长态势不仅反映了市…

2025 年快速退火炉优质厂家最新推荐榜单:真空 / 半导体 / 晶圆 / 高温 / 桌面 / 半自动 / 全自动 / 芯片 / 硅片 / RTP 设备企业权威评选

引言当前,3C、半导体、光伏、汽车等下游产业高速发展,对快速退火炉的精度、稳定性、节能性等需求持续升级,然而市场上设备厂家数量繁杂,产品质量差异显著,部分企业缺乏核心技术,导致设备性能不稳定,难以满足高精…

2025 年油罐厂家最新推荐榜:sf 双层 / 加油站 / 化工 / 不锈钢 / 地埋 / 卧式 / 立式油罐优质厂商权威盘点,帮您避开选择误区精准选品

当前工业与能源存储领域对油罐的需求持续攀升,然而市场上油罐品牌繁杂,产品质量、技术水平与服务能力差异显著,从小型家用油罐到大型工业储罐,不同场景对油罐的材质、容量、安全性能要求各不相同,消费者在选择时常…

2025 年立体画厂家最新推荐榜单:涵盖 3D 光栅立体画、立体光栅卡、3D 装饰立体画、三维立体画,助企业与消费者精准挑选优质品牌

当前,立体画行业发展迅猛,市场上产品种类日益丰富,涵盖 3D 光栅立体画、立体光栅卡等多个品类,但同时也面临品牌杂乱、质量参差不齐的问题。企业在广告宣传、产品包装等场景选择立体画时,难以辨别品牌优劣;消费者…

2025 最新高低温试验箱厂家推荐榜:优质厂家推荐,含恒温恒湿设备供应商核心实力解析

高低温试验箱作为工业研发与质量检测的核心设备,其性能直接关系到电子、汽车、航空航天等关键领域的产品可靠性。2025 年环境试验设备市场竞争加剧,品牌数量激增但实力参差不齐,部分企业因技术匮乏导致设备精度不足…

Luogu P10027 梦境世界 题解 [ 蓝 ] [ 多维 DP ]

梦境世界:可爱 DP 题。 一种常见的假做法是在 DP 的过程中记录路径的前驱进行转移,这种做法错误的原因并不在于转移存在环,它其实就是一张 DAG,但是这种状态表示方式并不能推导出前驱的前驱是谁,所以才是假的。 考…

winserver文件备份到minio

winserver开启 WSMan PS C:\Users\Administrator> Enable-PSRemoting -Force PS C:\Users\Administrator> Set-Item WSMan:\localhost\Client\TrustedHosts -Value "192.168.,17.1.0." -Force PS C:\U…

完整教程:「2025秋招季」AI简历筛选如何破解海选难题?

完整教程:「2025秋招季」AI简历筛选如何破解海选难题?2025-10-17 08:39 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; …

F1分数(F1-score)

* { margin: 0; padding: 0; box-sizing: border-box } body { font-family: "Microsoft YaHei", "Arial", sans-serif; background: linear-gradient(135deg, rgba(102, 126, 234, 1) 0, rgba(11…

教你把未分配的磁盘合并到C盘或者D盘?如何把未分配的硬盘空间分配到另一个磁盘?Windows 11,如何将未分配的磁盘分配给 C 盘?怎么把未分配的磁盘合并到d盘

基本上几步就能学会,先来看看,大概的思路就是:如果多余的盘存在,则需要删除这个磁盘券;扩展需要合并的盘;把需要合并的盘合并进来就完成了。我有几个盘,但其中一个盘我想合并到D盘中,合并到C盘也是一样的道理,…

ComfyUI InstantID 文生图,图生图完整运行指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

项目ai拷打

模块一:高并发点赞 & 幂等性问题:高并发点赞,方案怎么设计?核心答案: 缓存层:使用Redis的SET,Key为article:likes:{文章ID},Value为用户ID。 优点:SADD天然幂等防重;SCARD O(1)复杂度快速计数;SREM快速…

混合(ZR 二十联测 A + MX 炼石 ABC)

100 + 100 + 25 + 20 = 245, Rank 2/6.第一次过 200 是因为放了 2 个 A .jpg混合(ZR 二十联测 A + MX 炼石 ABC) A:ZR 2025 NOIP 二十连测 Day 4 A B:MX 练石 2025 NOIP #11 A C:MX 练石 2025 NOIP #11 B D:MX 练…