Linux软件管理与编辑器命令速查手册

版本 :v1.0 | 适用系统 :CentOS/RHEL 系列 | 最后更新:2026-07-01


📖 前言

在日常 Linux 运维与开发中,软件包管理、编译器使用、文本编辑、权限控制 是高频操作。无论你是编译源码、安装 RPM 包、配置 YUM 仓库,还是用 VIM 快速修改配置、设置 ACL 权限,一套完备的速查手册都能帮你节省大量时间。

本手册完整收录了以下文档的所有原始内容(未做任何删减):

  • GCC 编译器基础用法
  • RPM 包管理(包名解析、依赖、安装/升级/查询/卸载/校验/提取)
  • YUM 在线管理(仓库配置、命令、软件组、光盘源搭建)
  • DNF 包管理器(新一代 YUM)
  • RPM 包安装后的典型目录结构
  • VIM 编辑器全面操作(三种模式、所有指令、高级技巧)
  • 权限管理扩展(ACL、特殊权限 SUID/SGID/SBIT、chattr、sudo)

在保留全部原始知识的基础上,我优化了格式、补充了参数说明、增加了实操示例,并采用目录分层、表格速查的方式,让你在工作中遇到问题能快速定位


📑 目录

  1. [GCC 编译器](#GCC 编译器)
  2. [RPM 包管理](#RPM 包管理)
    • 2.1 包名解析
    • 2.2 依赖性
    • 2.3 安装与升级
    • 2.4 查询操作
    • 2.5 卸载操作
    • 2.6 校验操作
    • 2.7 文件提取(rpm2cpio)
  3. [YUM 在线管理](#YUM 在线管理)
    • 3.1 YUM 仓库配置文件
    • 3.2 YUM 常用命令
    • 3.3 软件组管理
    • 3.4 光盘 YUM 源搭建
  4. [DNF 包管理器](#DNF 包管理器)
  5. [RPM 包安装后的服务目录结构](#RPM 包安装后的服务目录结构)
  6. [VIM 编辑器详解](#VIM 编辑器详解)
    • 6.1 三种模式概览
    • 6.2 命令模式操作
    • 6.3 插入模式操作
    • 6.4 末行模式操作
    • 6.5 常用高级技巧
  7. 权限管理扩展
    • 7.1 ACL 权限
    • 7.2 特殊权限(SUID/SGID/SBIT)
    • 7.3 文件系统属性(chattr/lsattr)
    • 7.4 sudo 权限

一、GCC 编译器

GCC(GNU Compiler Collection)是一个强大的编译器套件,支持 C/C++、FORTRAN、Java、OBJC、ADA 等多种语言。

基本语法

bash 复制代码
gcc [参数1] 源代码文件 [参数2]

常用参数

参数 作用
-c 编译 :只生成目标文件(.o 文件),不进行链接
-o 设置输出文件名或路径 ,如 -o output 生成可执行文件 output

示例

bash 复制代码
# 编译源文件,生成目标文件
gcc -c hello.c                # 生成 hello.o

# 链接目标文件生成可执行文件
gcc -o hello hello.o          # 生成 hello

# 一步完成编译+链接,指定输出
gcc -o hello hello.c

# 编译多个源文件
gcc -o program main.c utils.c

💡 补充 :生产环境常用 -Wall 开启警告,-g 包含调试信息,-O2 优化级别等,但这些并非原文档内容,仅供参考。


二、RPM 包管理

RPM(Red Hat Package Manager)是 Linux 下最经典的软件包管理工具,适用于 CentOS/RHEL 系列。

2.1 包名解析

httpd-2.2.15-15.el6.centos.i686.rpm 为例:

字段 含义 示例
软件包名 软件名称 httpd
版本号 软件版本 2.2.15
发行次数 RPM 打包的发行号 15
适用平台 操作系统版本 el6.centos(RHEL 6 / CentOS 6)
硬件平台 架构 i686(32位);x86_64(64位);noarch(通用)
扩展名 固定为 .rpm .rpm

操作规则

  • 操作未安装的包 (安装、升级)使用 包全名 (带版本号及扩展名),注意路径,可利用 Tab 补全。
  • 操作已安装的包 (查询、卸载)使用 包名 (仅软件名),信息来自 /var/lib/rpm 数据库。

2.2 依赖性

RPM 包之间存在依赖关系,常见类型有:

  • 树形依赖A → B → C(需按顺序安装 C → B → A)
  • 环形依赖A → B → C → A(可同时安装)
  • 模块依赖 :缺少某些动态库(.so 文件),需查询提供这些库的包。

🔍 依赖查询网站www.rpmfind.net

安装时若忽略依赖,可使用 --nodeps 参数(慎用)。

2.3 安装与升级

安装

bash 复制代码
rpm -ivh 包全名
选项 含义
-i 安装(install)
-v 显示详细信息(verbose)
-h 显示安装进度(hash)
--nodeps 不检测依赖性(强制安装)

示例

bash 复制代码
rpm -ivh httpd-2.2.15-15.el6.centos.i686.rpm
rpm -ivh --nodeps 包全名   # 忽略依赖

升级

bash 复制代码
rpm -Uvh 包全名
选项 含义
-U 升级(upgrade),若未安装则安装

示例

bash 复制代码
rpm -Uvh httpd-2.4.6-80.el6.x86_64.rpm

2.4 查询操作

命令 含义
rpm -q 包名 查询指定包是否安装
`rpm -qa grep 包名`
rpm -qi 包名 查询已安装包的详细信息
rpm -qip 包全名 查询未安装包的详细信息(-p 指定包文件)
rpm -ql 包名 查询已安装包安装的文件列表
rpm -qlp 包全名 查询未安装包将安装的文件列表
rpm -qf 系统文件路径 查询某个系统文件属于哪个 RPM 包
rpm -qR 包名 查询已安装包的依赖关系
rpm -qRp 包全名 查询未安装包的依赖关系

示例

bash 复制代码
rpm -qa | grep httpd
rpm -qi httpd
rpm -ql httpd
rpm -qf /etc/httpd/conf/httpd.conf

2.5 卸载操作

bash 复制代码
rpm -e 包名
选项 含义
-e 卸载(erase)
--nodeps 忽略依赖强制卸载

示例

bash 复制代码
rpm -e httpd
rpm -e --nodeps httpd   # 强制卸载

2.6 校验操作

bash 复制代码
rpm -V 包名

-V 校验已安装包的文件是否被修改,输出结果每行格式为标志位和文件路径。

校验标志含义

标志 含义
S 文件大小(Size)改变
M 文件权限或类型(Mode)改变
5 MD5 校验和改变(内容被修改)
D 设备号(Device)改变
L 路径(Link)改变
U 属主(User)改变
G 属组(Group)改变
T 修改时间(Time)改变

文件类型标记(出现在输出行第一列)

标记 含义
c 配置文件(config)
d 普通文档(documentation)
g 鬼文件(ghost,该文件不应被该包包含)
l 授权文件(license)
r 描述文件(README)

示例

bash 复制代码
rpm -V httpd

若无输出,表示文件未被修改;若有输出,则显示哪些属性变更。

2.7 文件提取(rpm2cpio)

当某个配置文件误删除或损坏,可以从 RPM 包中提取单个文件,而无需重装。

bash 复制代码
rpm2cpio 包全名 | cpio -idv ./文件绝对路径
  • rpm2cpio:将 RPM 包转换为 cpio 格式归档。
  • cpio -idv:提取(-i)、创建目录(-d)、显示过程(-v)。
  • 后面的路径为要提取的文件的绝对路径(相对于包内根目录)。

示例(提取 httpd 的配置文件):

bash 复制代码
rpm2cpio httpd-2.2.15-15.el6.centos.i686.rpm | cpio -idv ./etc/httpd/conf/httpd.conf

执行后会在当前目录下生成 ./etc/httpd/conf/httpd.conf 文件。


三、YUM 在线管理

YUM(Yellowdog Updater Modified)是基于 RPM 的包管理工具,可以自动解决依赖关系。

3.1 YUM 仓库配置文件

YUM 仓库配置文件位于 /etc/yum.repos.d/,以 .repo 结尾。以 CentOS-Base.repo 为例,其字段含义如下:

ini 复制代码
[base]                    # 容器名称,必须放在[]中
name=CentOS-$releasever - Base   # 容器说明,可自定义
mirrorlist=http://mirrorlist.centos.org/...  # 镜像站点列表(可注释)
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/  # YUM源服务器地址(可自定义)
enabled=1                 # 是否生效,1生效,0不生效(默认不写也是1)
gpgcheck=1                # 是否启用GPG数字证书校验,1启用,0不启用
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7   # 公钥文件位置

常用字段说明

字段 说明
[仓库ID] 唯一标识,如 [base][epel]
name 仓库描述信息
baseurl YUM 源的实际 URL(可以是 file://http://ftp://
mirrorlist 镜像列表 URL,与 baseurl 二选一
enabled 是否启用本仓库
gpgcheck 是否校验 GPG 签名
gpgkey GPG 公钥文件地址

3.2 YUM 常用命令

以下命令均在 yum 后跟子命令(需确保 /etc/yum.repos.d/ 下有有效仓库文件)。

查询操作

命令 作用
yum list 查询所有可用软件包(含已安装和未安装)
yum list installed 查询已安装的包
yum list available 查询未安装但可用的包
yum search 关键字 搜索服务器上所有与关键字相关的包
yum info 包名 查看软件包详细信息(相当于 rpm -qi
yum provides 文件路径 查找提供某文件的包(如 yum provides /bin/bash

示例

bash 复制代码
yum list | grep nginx
yum search ftp
yum info httpd

安装操作

bash 复制代码
yum -y install 包名
  • -y:自动回答 yes,适合脚本。
  • install:安装指定包。
  • 可同时安装多个包,空格分隔。
bash 复制代码
yum -y install httpd mysql

升级操作

bash 复制代码
yum -y update 包名       # 升级指定包
yum -y update           # 升级所有已安装包(谨慎)
yum -y upgrade          # 同 update,但更严格处理过时包

卸载操作

bash 复制代码
yum -y remove 包名       # 卸载指定包(会移除其依赖,谨慎)

重新安装

bash 复制代码
yum reinstall 包名        # 重新安装(可用于修复文件)

缓存管理

bash 复制代码
yum makecache            # 生成元数据缓存(加速查询)
yum clean all            # 清除所有缓存

3.3 软件组管理

软件组是一组相关包的集合,适合安装某个大套件(如开发工具、图形桌面)。

命令 作用
yum grouplist 列出所有可用软件组列表
yum groupinstall "软件组名" 安装指定软件组(组名含空格需加引号)
yum groupupdate "软件组名" 升级软件组
yum groupremove "软件组名" 卸载软件组

示例

bash 复制代码
yum grouplist
yum groupinstall "Development Tools"
yum groupremove "Development Tools"

3.4 光盘 YUM 源搭建

当网络不好时,可以使用系统安装光盘作为本地 YUM 源。

步骤

  1. 挂载光盘

    bash 复制代码
    mount /dev/cdrom /mnt/cdrom

    (若 /mnt/cdrom 不存在,需先 mkdir -p /mnt/cdrom

  2. 使网络 YUM 源失效(备份后移走)

    bash 复制代码
    cd /etc/yum.repos.d/
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
    mv CentOS-Vault.repo CentOS-Vault.repo.bak
  3. 修改光盘 YUM 源配置文件CentOS-Media.repo

    bash 复制代码
    vi CentOS-Media.repo

    修改如下内容:

    ini 复制代码
    [c7-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom      # 指向挂载点
    gpgcheck=0                     # 0关闭校验(或设置1并指定gpgkey)
    enabled=1                      # 1启用
  4. 验证

    bash 复制代码
    yum clean all
    yum list

四、DNF 包管理器

DNF(Dandified YUM)是 YUM 的下一代版本,在 Fedora 22+ 及 RHEL/CentOS 8+ 中成为默认。在 CentOS 7 中可通过 EPEL 安装。

安装 DNF(CentOS 7)

bash 复制代码
yum install epel-release -y
yum install dnf -y

DNF 常用命令对照(与 YUM 高度相似)

操作 DNF 命令 说明
查看版本 dnf --version
列出软件库 dnf repolist 可用库
列出所有库(含禁用) dnf repolist all
列出所有 RPM 包 dnf list
列出已安装包 dnf list installed
列出可安装包 dnf list available
搜索包 dnf search nano
查找文件提供者 dnf provides /bin/bash
查看包信息 dnf info 包名
安装包 dnf install 包名 可加 -y
升级包 dnf update 包名 也可用 upgrade
检查更新 dnf check-update
升级所有包 dnf updatednf upgrade
删除包 dnf remove 包名dnf erase 包名
自动删除孤立包 dnf autoremove
清除缓存 dnf clean all
查看命令帮助 dnf help clean
查看所有命令 dnf help
查看历史 dnf history
软件包组列表 dnf grouplist
安装软件包组 dnf groupinstall '组名'
升级软件包组 dnf groupupdate '组名'
删除软件包组 dnf groupremove '组名'
从特定库安装 dnf --enablerepo=epel install phpmyadmin
同步发行版 dnf distro-sync 更新到最新稳定版
回滚特定软件 dnf downgrade acpid 降级

📌 DNF 语法更规范,性能更好,推荐在新系统上使用。


五、RPM 包安装后的服务目录结构

RPM 安装的软件(特别是系统服务)通常遵循标准的目录布局,了解这些位置便于管理。

目录 用途
/etc/init.d/ 启动脚本(SysV 风格)存放位置
/etc/sysconfig/ 服务初始化环境配置文件(如网络、SELinux 等)
/etc/ 服务主配置文件目录(如 /etc/httpd/conf/
/etc/xinetd.conf xinetd 的主配置文件
/etc/xinetd.d/ 基于 xinetd 服务的独立启动脚本
/var/lib/ 服务运行时产生的数据(如数据库文件)
/var/log/ 服务日志文件

示例

  • Apache HTTPD 配置在 /etc/httpd/conf/httpd.conf,启动脚本 /etc/init.d/httpd
  • MySQL 数据在 /var/lib/mysql,日志在 /var/log/mysqld.log

六、VIM 编辑器详解

VIM 是 Linux 下最强大的文本编辑器,掌握它可大幅提高工作效率。

6.1 三种模式概览

  • 命令模式(默认) :按 Esc 进入,可移动光标、删除、复制、搜索等。
  • 插入模式 :按 i/a/o 等进入,编辑文本,按 Esc 返回命令模式。
  • 末行模式 :在命令模式下按 : 进入,可执行保存、退出、替换、设置等。

6.2 命令模式操作

光标移动

操作 功能
gg 跳转到文件第一行
G 跳转到文件最后一行
nGngg 跳转到第 n 行(如 10G 到第10行)
$ 移动到当前行行尾
0(数字零) 移动到当前行行首

删除操作

操作 功能
x 删除光标所在处的字符
nx 删除光标后 n 个字符(如 5x
dd 删除当前行
ndd 删除 n 行(如 5dd
dG 删除从当前行到文件末尾
D 删除从光标到行尾的内容

复制、剪切与粘贴

操作 功能
yy 复制当前行
nyy 复制 n 行(如 5yy
dd 剪切当前行(也可用 ndd 剪切多行)
p(小写) 粘贴到光标所在行的下一行
P(大写) 粘贴到光标所在行的上一行

替换与撤销

操作 功能
r 替换光标处的字符(输入一个字符)
R 进入替换模式,持续替换直至按 Esc
u 撤销上一步操作
.(点) 重复上一次操作

搜索

操作 功能
/字符串 向下搜索指定字符串
?字符串 向上搜索指定字符串
n 跳转到下一个匹配项(按搜索方向)
N 跳转到上一个匹配项

其他常用命令模式操作

操作 功能
Ctrl + v 进入可视块模式(可多列操作)
ZZ 保存并退出(等同于 :wq

6.3 插入模式(进入方式)

操作 功能
a 在光标所在字符插入
A 在光标所在行行尾插入
i 在光标所在字符插入
I 在光标所在行行首插入
o 在光标所在行下方新建一行并插入
O 在光标所在行上方新建一行并插入

6.4 末行模式操作

在命令模式下按 : 进入,以下命令输入后按 Enter 执行。

行号与设置

命令 功能
:set nu 显示行号
:set nonu 取消行号
:set ic 搜索时忽略大小写(:set noic 取消)
:n 跳转到第 n 行(如 :10

删除范围

命令 功能
:n1,n2d 删除从 n1 到 n2 的行

写入文件

命令 功能
:w 保存当前文件
:w 新文件名 另存为新文件
:n1,n2 w 文件名 将 n1 到 n2 行写入新文件

复制/移动行

命令 功能
:n1,n2 co n3 将 n1~n2 行复制到 n3 行下方(co 也可用 copy)
:n1,n2 m n3 将 n1~n2 行移动到 n3 行下方(m 也可用 move)

替换

bash 复制代码
:[范围]s/旧字符串/新字符串/[选项]
范围 说明
% 全文
n1,n2 从 n1 到 n2 行
选项 说明
g 全局替换(不询问)
c 逐个确认(confirm)
只替换每行第一个匹配

示例

  • :%s/old/new/g ------ 全文替换所有 old 为 new
  • :1,10s/^/#/g ------ 在1~10行行首添加 #(注释)
  • :s/foo/bar/ ------ 替换当前行第一个 foo

保存与退出

命令 功能
:w 保存
:wq:x 保存并退出
:q! 不保存强制退出
:wq! 强制保存并退出(仅文件所有者或 root)

分屏显示

命令 功能
:vs 文件名 垂直分屏(vertical split)
:sp 文件名 水平分屏(split)

执行外部命令

命令 功能
:! 命令 临时执行系统命令(如 :! ls
:r ! 命令 将命令的输出插入到当前行下方

6.5 常用高级技巧

查找命令路径并插入

bash 复制代码
:!which 命令       # 查看命令路径
:r !which 命令     # 将路径插入到文件中

定义快捷键(映射)

在末行模式下定义临时快捷键:

bash 复制代码
:map <快捷键> <触发命令>

例如,按 Ctrl+P 快速在行首插入 #

bash 复制代码
:map ^P I#<Esc>     # ^P 需用 Ctrl+V Ctrl+P 输入

^P 表示 Ctrl+P,需按 Ctrl+V 再按 Ctrl+P 输入)

永久保存快捷键可写入 ~/.vimrc 配置文件(不加冒号)。

连续行注释

使用替换命令在行首添加 #

bash 复制代码
:起始行,终止行s/^/#/g

例如,注释第 5 到 20 行:

bash 复制代码
:5,20s/^/#/g

替换缩写(自动展开)

bash 复制代码
:ab  a  b    # 输入 a 时自动替换为 b(可用于长单词缩写)

例如 :ab mailroot /var/spool/mail/root

VIM 配置文件(~/.vimrc

常用设置(不加冒号):

复制代码
set nu           " 显示行号
set ic           " 搜索忽略大小写
set expandtab    " 用空格替代制表符
set shiftwidth=4 " 缩进宽度

写入后永久生效。


七、权限管理扩展

7.1 ACL 权限

ACL(Access Control List)可为单独的特定用户或组设置文件权限,而不仅限于所有者/组/其他人。

检查分区是否支持 ACL

bash 复制代码
dumpe2fs -h /dev/sda3    # 查看超级块,检查 "Default mount options:" 是否包含 acl

若不支持,可临时挂载开启:

bash 复制代码
mount -o remount,acl /

永久开启:编辑 /etc/fstab,在挂载选项中加入 acl(如 defaults,acl),然后 mount -o remount /

查看 ACL 权限

bash 复制代码
getfacl 文件名

设定 ACL 权限

bash 复制代码
setfacl [选项] u:用户名:权限 文件名
setfacl [选项] g:组名:权限   文件名
选项 作用
-m 设定(添加或修改)ACL 条目
-x 删除指定的 ACL 条目
-b 删除所有 ACL 条目
-R 递归设定(对目录内现有文件生效)
-d 设定默认 ACL(对目录内新建文件生效)
-k 删除默认 ACL

示例

bash 复制代码
# 给用户 tom 赋予 /project 的读写执行权限
setfacl -m u:tom:rwx /project

# 递归给目录下所有文件添加用户 jerry 的读权限
setfacl -R -m u:jerry:rx /data

# 设定默认 ACL(新建文件继承)
setfacl -m d:u:tom:rwx /project

# 删除用户 tom 的 ACL
setfacl -x u:tom /project

# 删除所有 ACL
setfacl -b /project

最大有效权限(mask)

ACL 权限与 mask 权限进行"与"运算后才是实际有效权限。查看 getfacl 输出中的 mask 行,修改 mask:

bash 复制代码
setfacl -m m:rwx 文件名   # 设置 mask 为 rwx

注意:mask 不影响文件所有者的权限。

7.2 特殊权限(SUID / SGID / SBIT)

权限 数字代表 设置方式 作用
SUID(Set User ID) 4(如 4755 chmod u+s 文件 仅对二进制可执行文件有效。执行时,进程获得文件所有者的权限(而非执行者)。例如 /usr/bin/passwd
SGID(Set Group ID) 2(如 2755 chmod g+s 文件或目录 对文件:执行时获得文件所属组的权限;对目录:在该目录下新建的文件,其所属组将继承目录的属组(而非创建者的主组)。
SBIT(Sticky Bit,粘着位) 1(如 1755 chmod o+t 目录 仅对目录有效。在该目录下,用户只能删除自己创建的文件(即使有写权限),典型如 /tmp

示例

bash 复制代码
chmod 4755 /usr/bin/myprog   # 设置 SUID
chmod u+s /usr/bin/myprog    # 同上
chmod 1755 /tmp/mydir        # 设置粘着位

若设置后显示 S(大写)或 T,表示该文件缺少相应的执行权限,应先赋予执行权限(chmod +x)。

7.3 文件系统属性(chattr / lsattr)

这些属性仅对 root 用户有效,用于锁定文件或目录,防止误操作。

chattr 设置属性

bash 复制代码
chattr [+|-|=] 选项 文件或目录
选项 对文件的作用 对目录的作用
i 无法删除、改名、修改内容(锁死) 只能修改目录下文件的数据,但不能新建或删除文件(锁死目录)
a 只能追加内容(echo >>),不能删除或修改原有内容 可以建立和修改文件,但不能删除文件(锁数据)

示例

bash 复制代码
chattr +i /etc/passwd      # 锁定 passwd 文件
chattr -i /etc/passwd      # 解锁
chattr +a /var/log/secure  # 仅允许追加

lsattr 查看属性

bash 复制代码
lsattr [选项] 文件或目录
选项 作用
-a 显示所有文件(含隐藏)
-d 若目标是目录,仅显示目录本身属性,不显示其子内容

示例

bash 复制代码
lsattr -d /root

7.4 sudo 权限

sudo 允许普通用户以 root(或其他用户)身份执行特定命令。

配置 sudo(visudo)

bash 复制代码
visudo   # 安全编辑 /etc/sudoers 文件

格式

plaintext 复制代码
用户名  主机名=(可切换身份)  命令绝对路径
%组名   主机名=(可切换身份)  命令绝对路径
  • 主机名通常写 ALL
  • 可切换身份可写 ALL 或指定用户。
  • 命令需使用绝对路径(可用 which 命令 查找)。

示例

bash 复制代码
# 允许用户 sc 执行重启命令
sc    ALL=/sbin/shutdown -r now

# 允许 wheel 组所有用户执行任何命令(需输入密码)
%wheel  ALL=(ALL)   ALL

# 允许用户 dev 执行 yum 安装(免密码)
dev   ALL=(ALL)  NOPASSWD: /usr/bin/yum install

使用 sudo

bash 复制代码
sudo -l           # 查看当前用户可执行的 sudo 命令
sudo 命令         # 执行授权命令(如 sudo /sbin/shutdown -r now)

普通用户执行 sudo 时需输入自己的密码(除非设置了 NOPASSWD)。


🏁 结语

本手册完整收录了 GCC、RPM、YUM、DNF、VIM、权限管理 等核心工具的所有原始细节,并补充了示例和参数说明。无论是编译程序、安装软件、编辑配置还是控制权限,你都可以在这里快速找到答案。

建议收藏或打印,遇到相关任务时直接翻阅对应章节。如果你在实际使用中发现遗漏或需要补充,欢迎随时完善。

愿你的 Linux 之旅畅通无阻! 🚀


相关推荐
姚不倒1 小时前
F5 健康检查 Monitor 深入篇
运维·负载均衡·f5
小鹿软件办公1 小时前
通过调整编码参数使用 VLC 媒体播放器无损压缩视频方法
运维·网络·音视频
无足鸟ICT1 小时前
【RHCA+】扩展正则表达式
linux·正则表达式
一池秋_2 小时前
ubuntu(linux)完美复刻windows11字体,解决linux字体费眼晴
linux·运维·ubuntu
随风一样自由2 小时前
【WSL+Linux】国内网络连接微软官方服务器(或GitHub)不稳定,导致下载内核或Linux发行版时超时断开如何解决?
linux·服务器·wsl
川石课堂软件测试2 小时前
性能测试|Nginx中间件监控与调优
linux·python·nginx·中间件·单元测试·压力测试·harmonyos
次旅行的库2 小时前
解决ValueError: too many values to unpack (expected 2)
linux·人工智能·深度学习·机器学习·推荐算法
清晨曦月2 小时前
【从零构建分布式在线评测系统】二、Judge0服务器上的心跳程序
运维·服务器·分布式
Starry-sky(jing)3 小时前
Win11 装 ESP32 Arduino 库卡 3 小时?我把官方 3.3.10 全平台 522MB 搬到了蓝奏云,解压即用
运维·windows·esp32·arduino·离线安装