news 2026/9/30 3:24:19

Ubuntu 20.04 LTS 安装与初始化全链路指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 20.04 LTS 安装与初始化全链路指南

简介:本资源是一份面向Linux初学者、技术爱好者及开发者的Ubuntu 20.04 LTS操作系统落地实践指南,系统解决从零安装到基础配置的全流程问题,覆盖BIOS/UEFI启动设置、Rufus制作启动盘、双系统共存方案、磁盘分区策略、APT包管理实战及桌面环境个性化调优等核心环节。资源为单文件Word文档(.docx),共1个文件,体积精简仅13KB,内容结构清晰,含三大部分:前期准备(镜像下载与U盘制作)、安装过程(语言选择、分区模式、账户创建)及初始化配置(系统更新、常用软件安装命令、GUI参数调整)。目前已有200人学习下载,读者可直接获取可执行的终端命令集、关键操作截图说明逻辑、典型场景应对建议(如Windows双系统安装路径选择),以及社区支持延伸指引,是兼顾实操性与入门友好性的轻量级部署参考手册。

1. Ubuntu 20.04 LTS 安装不是“点下一步”就完事:它是一套可复现、可审计、可回滚的系统初始化流水线

你刚下载完那个 2.1GB 的ubuntu-20.04.6-desktop-amd64.iso,插上U盘点开 Rufus —— 别急着点 START。这不是 Windows 装机向导,这是你在给未来半年的开发环境、数据安全、GPU 加速能力、甚至 CI/CD 流水线打地基。我见过太多人卡在「安装完成重启黑屏」、「中文输入法死活不弹出」、「NVIDIA 驱动装了又卸、卸了又报错 0x84b10001」,最后发现根源全在安装时选错了分区模式、跳过了 EFI 分区预留、或者压根没关 Secure Boot。Ubuntu 20.04 LTS(Focal Fossa)不是玩具系统,它是 AWS EC2 默认镜像、GitHub Actions runner 基础环境、ROS Noetic 官方支持终点——它的 LTS 属性意味着你今天做的每一个选择,都会在 2025 年 4 月前持续生效。本指南不讲「怎么点鼠标」,而是拆解:为什么 BIOS 必须设为 UEFI 模式而非 Legacy?为什么Erase disk and install Ubuntu在双系统场景下是高危操作?为什么apt update后第一件事不是装软件,而是换源?适合正在用 VMware 跑通第一个 Linux 环境的开发者、需要部署 ROS 或 Docker 的嵌入式工程师、以及准备把旧笔记本改造成 NAS 的技术爱好者。如果你的目标是「装完就能跑 CUDA 11.8 + PyTorch 1.12」或「让 LibreOffice 中文文档不乱码」,那这一套初始化配置流程,就是你绕不开的启动检查表。

2. 启动介质制作与 BIOS/UEFI 设置:UEFI 模式、GPT 分区、Secure Boot 的三重校验

2.1 为什么必须用 Rufus 且强制选「GPT for UEFI」?

Rufus 不是唯一选择,但它是 Windows 下对 Ubuntu 20.04 兼容性最稳的工具。关键不在「能不能启动」,而在「启动后能否正确识别磁盘控制器和显卡固件」。Ubuntu 20.04 默认启用initramfs中的nouveau开源驱动,而该驱动依赖 UEFI 固件传递的 ACPI 表结构。若用 Legacy BIOS 模式启动,系统会 fallback 到 CSM 兼容层,导致后续安装时无法创建 ESP(EFI System Partition),进而引发「安装成功但重启进不了 GRUB」的经典翻车。

提示:打开 Rufus 后,务必确认以下三项全部勾选/匹配:

  • 设备:选中你的 USB 设备(不是磁盘,是「USB 大容量存储设备」)
  • 引导选择:点击「SELECT」→ 选中你下载的ubuntu-20.04.6-desktop-amd64.iso
  • 分区方案:必须选「GPT 分区方案用于 UEFI 计算机」(不是 MBR)
  • 目标系统:必须选「UEFI (non-CSM)」(禁用 CSM)
  • 镜像选项:保持默认「ISO 模式(推荐)」,不要切到 DD 模式

2.2 BIOS/UEFI 进入与关键设置项定位

不同品牌键位差异极大,但逻辑一致:先禁用 Fast Boot,再调启动顺序,最后确认 Secure Boot 状态。常见组合键如下(开机时狂按,别等 Logo 出来):

品牌进入键Fast Boot 位置Secure Boot 开关位置
DellF2Advanced → Fast Boot → DisabledSecure Boot → Enabled
LenovoF1 / F2Config → Boot → Fast Boot → DisabledSecurity → Secure Boot → Enabled
HPF10System Configuration → Boot Options → Fast Boot → DisabledSecurity → Secure Boot Configuration → Enabled
ASUSDel / F2Advanced → Fast Boot → DisabledBoot → Secure Boot → Enabled

注意:Secure Boot必须保持 Enabled。Ubuntu 20.04 内核签名已通过 Microsoft UEFI CA 认证,禁用它反而会导致 NVIDIA 驱动模块加载失败(报错modprobe: ERROR: could not insert 'nvidia': Operation not permitted)。若你装的是自编译内核或第三方驱动,再考虑关闭;日常使用请留开。

2.3 启动菜单里的两个隐藏开关:nomodeset与acpi=off

从 U 盘启动后,看到 GRUB 菜单时,不要直接回车。按e键进入编辑模式,在以linux开头的行末尾添加启动参数:

# 若屏幕黑屏/花屏/卡在紫色背景: linux /casper/vmlinuz ... quiet splash --- nomodeset # 若键盘/触控板失灵、风扇狂转、时间不准: linux /casper/vmlinuz ... quiet splash --- acpi=off # 若两者都要(老笔记本常见): linux /casper/vmlinuz ... quiet splash --- nomodeset acpi=off

修改后按Ctrl+X或F10启动。这步不是妥协,而是获取「可工作环境」的必要手段。nomodeset强制使用通用 VESA 驱动绕过闭源显卡初始化,acpi=off则禁用高级电源管理以规避老旧 BIOS 的 ACPI 表缺陷。安装完成后,再进系统用sudo nano /etc/default/grub永久写入:

# 修改此行(去掉 quiet splash 后加参数): GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" # 保存后执行: sudo update-grub && sudo reboot

2.4 分区方案选择:双系统必须手动分区,且 EFI 分区不能少

「Install Ubuntu alongside Windows」看似省事,实则埋雷:它默认将 Windows 的 EFI 分区(通常 100MB)直接挂载为/boot/efi,但 Windows 更新可能清空该分区引导文件,导致 Ubuntu 无法启动。更稳妥做法是手动创建独立 EFI 分区:

  1. 安装界面选「Something else」→ 进入分区编辑器
  2. 找到空闲空间(如/dev/nvme0n1p4),点「+」新建:
    • 大小:512MB(Windows 用 100MB 是够的,但 Ubuntu 推荐 500MB+ 以防多内核共存)
    • 用途:EFI System Partition
    • 格式:fat32
    • 挂载点:/boot/efi
  3. 再建根分区:
    • 大小:至少 30GB(/分区,ext4)
    • 挂载点:/
  4. (可选)建交换分区:
    • 大小:等于内存大小(如 16GB),或设为 2GB(Ubuntu 20.04 默认用 swapfile,非必须)
    • 用途:swap area
  5. 最关键一步:选中你新建的 EFI 分区 → 点「更改」→ 确认「用于:EFI System Partition」且「格式化」打钩 → 点「现在安装」

提示:若你看到「Device for boot loader installation」下拉框,默认是/dev/nvme0n1(整块盘),必须手动改为你的 EFI 分区路径(如/dev/nvme0n1p1)。否则 GRUB 安装到 MBR 而非 ESP,双系统必崩。

3. 安装过程中的四个决定性节点:语言、时区、用户账户、磁盘擦除策略

3.1 语言与键盘布局:中文支持的底层开关

安装向导第一步选「中文(简体)」,看似只是界面语言,实则触发两件事:

  • 系统 locale 自动设为zh_CN.UTF-8,影响ls命令显示中文文件名、vim编辑中文文档的编码识别
  • 键盘布局默认选「汉语」→「Chinese (Intelligent Pinyin)」,为后续安装搜狗输入法铺路(无需额外装ibus-pinyin)

注意:若你选了「English」,安装后需手动执行:

sudo locale-gen zh_CN.UTF-8 sudo update-locale LANG=zh_CN.UTF-8 # 然后注销重登,否则终端仍显示乱码

3.2 时区自动检测失效时的手动修正

安装程序会根据 IP 地理位置猜时区,但常出错(比如你在北京却设成 Asia/Shanghai → 实际应为 Asia/Shanghai)。错误时区会导致:

  • systemd-timesyncd时间同步失败(日志报Failed to get system time)
  • cron任务执行时间偏移(如你设 9:00 执行,实际按 UTC 9:00 执行)
  • Git commit 时间戳错乱(影响 CI 构建缓存判断)

正确操作:在「Select your time zone」页,直接在地图上点击中国东部 → 确认城市为「Shanghai」。若列表里没有,点「Continue」后立即执行:

# 查看当前时区 timedatectl status | grep "Time zone" # 强制设为上海时区(CST = UTC+8) sudo timedatectl set-timezone Asia/Shanghai # 启用 NTP 同步 sudo timedatectl set-ntp true

3.3 用户账户创建:sudo 权限与密码策略的硬编码规则

「Your name」「Your computer's name」「Username」「Password」四栏中,Username 必须全小写、无空格、无中文、长度 ≤ 32 字符。这是 Linux 用户名规范,违反会导致:

  • sudo命令报user not in sudoers file(即使安装时勾选了「Require password for sudo」)
  • SSH 登录失败(OpenSSH 拒绝非法用户名)
  • Docker daemon 无法识别用户组(docker: command not found)

血泪经验:曾有同事用户名设为Zhang-San_2024,结果adduser创建时自动截断为zhang-san_2,后续所有权限配置全错。建议用zhangsan或devuser这类纯字母组合。

3.4 磁盘擦除策略:Erase disk的真实行为与不可逆警告

「Erase disk and install Ubuntu」不是简单格式化,而是执行:

  1. 删除所有现有分区(包括 Windows Recovery、EFI、MSR 分区)
  2. 创建新 GPT 表
  3. 自动划分:512MB EFI 分区 + 剩余空间为/(ext4)
  4. 不创建 swap 分区,改用/swapfile(2GB)

避坑:此操作永久删除硬盘上所有数据,且无法通过testdisk恢复(因 GPT 表被重写)。若你误点,唯一后悔药是:

  • 立即断电 → 拔掉硬盘 → 接到另一台 Linux 机做只读挂载
  • 用photorec扫描未覆盖区域(成功率 < 30%)
    双系统用户必须选「Something else」并手动分区,这是铁律。

4. 安装后初始化配置:APT 源替换、基础工具链、中文输入法与显卡驱动闭环

4.1 替换为阿里云源:为什么apt update卡住 3 分钟是正常现象?

Ubuntu 官方源(archive.ubuntu.com)在国内直连延迟高、丢包率大,apt update常卡在Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease无响应。根本原因是 DNS 解析慢 + TCP 连接超时。阿里云源地址为:

# 备份原源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 替换为阿里云源(focal = 20.04 代号) sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list # 验证是否生效 cat /etc/apt/sources.list | grep mirrors.aliyun.com # 应输出多行包含 mirrors.aliyun.com/focal 的地址

注意:不要用sed -i 's/http/https/g'强制 HTTPS,阿里云镜像站 HTTP 和 HTTPS 均可用,但部分内网环境 HTTPS 证书校验失败,保持 HTTP 更稳定。

4.2 基础开发工具链:gcc/g++/make/python3-pip 的最小完备集

Ubuntu 20.04 Desktop 默认不装build-essential(含 gcc/g++/make),也不装python3-pip。但 ROS Noetic、Docker BuildKit、Node.js 编译都依赖它们。一次性装齐:

# 更新索引(此时已用阿里云源,10 秒内完成) sudo apt update # 装基础编译工具 + Python 包管理 + Git + curl sudo apt install -y build-essential python3-pip git curl # 验证版本(gcc 必须 ≥ 9.3,Python pip 必须 ≥ 20.0) gcc --version | head -1 # 应输出 gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 pip3 --version # 应输出 pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

4.3 中文输入法:Fcitx5 + 搜狗拼音的生产级配置

Ubuntu 20.04 默认用 IBus,但搜狗拼音在 IBus 下兼容性差(候选框错位、快捷键冲突)。Fcitx5 是新一代输入框架,对 Wayland 支持更好:

# 卸载 IBus(避免冲突) sudo apt remove --purge ibus* # 安装 Fcitx5 及搜狗拼音 sudo apt install -y fcitx5 fcitx5-pinyin fcitx5-chinese-addons # 配置环境变量(写入用户级配置,不影响系统) echo 'export GTK_IM_MODULE=fcitx5' >> ~/.pam_environment echo 'export QT_IM_MODULE=fcitx5' >> ~/.pam_environment echo 'export XMODIFIERS=@im=fcitx5' >> ~/.pam_environment # 重启 Fcitx5 服务 fcitx5-diagnose # 检查状态,应显示 all ok

避坑:重启后若输入法不弹出,执行fcitx5-configtool→ 点「+」→ 勾选「Pinyin」→ 拖到顶部 → 关闭。然后按Ctrl+Space切换,首次切换会下载词库,需等待 1 分钟。

4.4 NVIDIA 显卡驱动闭环:从禁用 nouveau 到 CUDA 11.8 兼容

Ubuntu 20.04 默认启用开源nouveau驱动,它与闭源nvidia驱动互斥。若不先禁用,安装驱动时会报:

ERROR: Unable to load the 'nvidia-drm' kernel module. ERROR: Installation has failed.

完整闭环步骤:

# 1. 黑名单 nouveau(永久禁用) echo 'blacklist nouveau' | sudo tee /etc/modprobe.d/blacklist-nouveau.conf echo 'options nouveau modeset=0' | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u # 2. 重启进 recovery mode(GRUB 菜单按 Shift → Advanced options → recovery mode) # 3. 在 recovery menu 选 'root' → 执行: mount -o remount,rw / apt update apt install -y nvidia-driver-470 # Ubuntu 20.04 最高支持 470.x(CUDA 11.4 兼容) # 4. 重启:reboot -f # 5. 验证驱动(必须看到 GPU 名称和温度) nvidia-smi # 应输出 Tesla T4 / RTX 3090 等型号 + 0W 功耗 + 35C 温度 # 6. 安装 CUDA 11.8(官方支持 Ubuntu 20.04) wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run sudo sh cuda_11.8.0_520.61.05_linux.run --silent --override --no-opengl-libs echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc nvcc --version # 应输出 release 11.8, V11.8.89

5. 避坑:安装与初始化阶段的五个高频翻车点及血泪修复方案

5.1 现象:安装完成后重启,卡在黑屏或紫色 Ubuntu Logo,键盘灯不亮

原因:UEFI 启动项未正确注册,或 GRUB 配置损坏。常见于手动分区时未指定 EFI 分区挂载点,或 Secure Boot 签名验证失败。
解决:

  1. 重启进 BIOS/UEFI → Boot Order → 找到ubuntu或grub启动项,拖到第一位
  2. 若无ubuntu项,用 Live USB 启动 → 打开终端:
    sudo mount /dev/nvme0n1p1 /mnt # 挂载 EFI 分区(替换成你的 EFI 分区) sudo mount /dev/nvme0n1p2 /mnt/boot # 挂载根分区 sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt grub-install /dev/nvme0n1 # 重新安装 GRUB 到磁盘 update-grub exit sudo reboot

5.2 现象:sudo apt update报错Could not resolve 'archive.ubuntu.com'

原因:DNS 配置错误,或/etc/resolv.conf被 systemd-resolved 覆盖。
解决:

# 临时用 114.114.114.114 测试 echo 'nameserver 114.114.114.114' | sudo tee /etc/resolv.conf # 永久生效(禁用 systemd-resolved) sudo systemctl disable systemd-resolved sudo systemctl stop systemd-resolved echo 'nameserver 114.114.114.114' | sudo tee /etc/resolvconf/resolv.conf.d/base sudo resolvconf -u

5.3 现象:中文输入法候选框不显示,或按 Ctrl+Space 无反应

原因:Fcitx5 服务未启动,或环境变量未加载。
解决:

# 检查服务状态 systemctl --user status fcitx5 # 若 inactive,手动启动 systemctl --user start fcitx5 # 强制重载环境变量(关键!) source ~/.pam_environment # 然后注销重登

5.4 现象:nvidia-smi显示NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

原因:内核更新后未重装驱动,或 nouveau 未彻底禁用。
解决:

# 检查 nouveau 是否加载 lsmod | grep nouveau # 若有输出,说明未禁用 # 彻底卸载并重装 sudo apt purge *nvidia* sudo apt autoremove sudo reboot # 重启后重走 4.4 节驱动安装流程

5.5 现象:安装后 Wi-Fi 图标消失,rfkill list显示Soft blocked: yes

原因:硬件开关(Fn+F5/F2)误触,或systemd-rfkill服务锁死。
解决:

# 解软锁 sudo rfkill unblock all # 若无效,重启 rfkill 服务 sudo systemctl restart systemd-rfkill # 检查硬件锁(物理开关) rfkill list all | grep "Hard blocked" # 若为 yes,需手动拨动笔记本侧边的无线开关

6. 进阶技巧:构建可复现的初始化脚本与环境快照验证法

6.1 用 Bash 脚本固化初始化流程:3 分钟全自动部署

把前述所有命令封装为可重复执行的脚本,避免每次重装都手敲。核心原则:幂等性(多次运行不报错)、可中断(Ctrl+C 安全退出)、带日志(每步记录时间戳)。以下为精简版ubuntu-init.sh:

#!/bin/bash # ubuntu-init.sh:Ubuntu 20.04 初始化一键脚本 set -e # 任一命令失败即退出 LOGFILE="/var/log/ubuntu-init-$(date +%Y%m%d).log" exec > >(tee -a "$LOGFILE") 2>&1 echo "=== 初始化开始 $(date) ===" # 1. 换源 echo "[1/5] 替换为阿里云源..." sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list # 2. 更新 & 装基础工具 echo "[2/5] 更新系统并安装基础工具..." sudo apt update -y sudo apt install -y build-essential python3-pip git curl wget # 3. 装 Fcitx5 输入法 echo "[3/5] 配置中文输入法..." sudo apt install -y fcitx5 fcitx5-pinyin fcitx5-chinese-addons echo 'export GTK_IM_MODULE=fcitx5' >> ~/.pam_environment echo 'export QT_IM_MODULE=fcitx5' >> ~/.pam_environment echo 'export XMODIFIERS=@im=fcitx5' >> ~/.pam_environment # 4. 禁用 nouveau(为 NVIDIA 驱动铺路) echo "[4/5] 禁用 nouveau 驱动..." echo 'blacklist nouveau' | sudo tee /etc/modprobe.d/blacklist-nouveau.conf echo 'options nouveau modeset=0' | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf sudo update-initramfs -u # 5. 清理 echo "[5/5] 清理缓存..." sudo apt autoremove -y sudo apt clean echo "=== 初始化完成 $(date) ===" echo "请重启系统以应用输入法和驱动设置"

使用方式:

chmod +x ubuntu-init.sh ./ubuntu-init.sh # 查看日志:tail -f /var/log/ubuntu-init-20240601.log

6.2 环境快照验证法:用dpkg --get-selections生成可审计的软件清单

安装完成后,你真正需要的不是「我装了啥」,而是「这个环境能否被另一台机器 100% 复现」。dpkg --get-selections输出的是 deb 包安装状态,比apt list --installed更底层、更可靠:

# 生成当前系统所有已安装包清单(含版本) dpkg --get-selections | grep -v deinstall > ubuntu-20.04-full-package-list.txt # 生成最小化清单(只含手动安装的包,不含依赖自动安装的) apt-mark showmanual > ubuntu-20.04-manual-packages.txt # 验证两台机器是否一致(对比 manual 列表) diff ubuntu-20.04-manual-packages-A.txt ubuntu-20.04-manual-packages-B.txt

为什么不用apt list --installed?因为它输出格式不统一(含版本号/不含版本号混杂),且无法区分「手动安装」和「依赖自动安装」。而apt-mark showmanual是 Debian 官方推荐的审计方式,ROS 官方 Dockerfile 就用它做 base image 验证。

6.3 验证 CUDA 与 PyTorch 的端到端可用性:一行命令测通整个链路

装完 CUDA 和驱动,不代表深度学习环境就 ready。必须验证:GPU 是否被识别 → CUDA Runtime 是否可用 → PyTorch 是否能调用 GPU。写成单行命令,复制粘贴即测:

# 一行验证(返回 0 表示成功) python3 -c " import torch print('PyTorch version:', torch.__version__) print('CUDA available:', torch.cuda.is_available()) if torch.cuda.is_available(): print('GPU count:', torch.cuda.device_count()) print('Current GPU:', torch.cuda.get_device_name(0)) x = torch.randn(3, 3).cuda() print('Tensor on GPU:', x.device) else: raise RuntimeError('CUDA not working') " && echo "✅ 环境验证通过" || echo "❌ 环境验证失败"

从那以后我每次重装 Ubuntu,都强制走一遍这个验证脚本——不是为了炫技,而是因为曾经在客户现场,花 3 小时装完环境,结果发现torch.cuda.is_available()返回 False,而问题根源只是 BIOS 里 Secure Boot 被悄悄关掉了。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 3:23:59

Docker安装MySQL数据持久化实战:从容器删不丢到网络排查

开头这里直接交代一个很多人会忽略但非常关键的事&#xff1a;使用Docker安装MySQL&#xff0c;难点不在“安装”本身&#xff0c;而在“数据持久化”。我见过太多朋友&#xff0c;一条docker run命令跑起来&#xff0c;数据库一切正常&#xff0c;结果某天容器被清理或者镜像重…

作者头像 李华
网站建设 2026/9/30 3:23:29

金蝶云星空-按指定排序获取物料采购价格

物料采购价格按默认供应商有效&#xff0c; 已失效&#xff0c; 非默认有效 非默认已失效顺序获取价格&#xff0c; WITH RateCTE AS ( SELECT [FBEGDATE],[FENDDATE] ,[FCYFORID] ,[FRATETYPEID] ,[FEXCHANGERATE] FROM [dbo].[Vw_BD_Rate_ToRMB] ) SELECT ROW_NUMBER() OVE…

作者头像 李华
网站建设 2026/9/30 3:23:18

开源AI Agent OpenClaw实战:把手机变成AI终端的架构与部署

最近小一个月&#xff0c;我基本把业余时间都搭在OpenClaw上了。原因很简单——这个开源AI Agent项目在2026年的更新速度实在惊人&#xff0c;每次发版都在往"把手机变成真正的AI终端"这个方向猛推。我从最早拿它跑几个自动化脚本&#xff0c;到后来在Ubuntu服务器上…

作者头像 李华
网站建设 2026/9/30 3:22:39

快速矩阵乘法工程实践:Strassen算法落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/30 3:22:19

Django+Vue前后端分离实战:从零开发羽毛球交流平台

羽毛球圈的球友组织活动&#xff0c;之前一直靠微信群接龙&#xff0c;消息一多就乱、报名状态靠人工盯、场地信息散在各个群里。我做了个小而全的解决方案&#xff0c;用 Django 做后端、Vue 做前端&#xff0c;搭了一个羽毛球交流平台。这个项目麻雀虽小但五脏俱全&#xff0…

作者头像 李华
网站建设 2026/9/30 3:22:18

自定义Windows右键菜单:高频工具一键直达

大家有没有这种感觉&#xff1a;刚装完的 Windows 跑得飞快&#xff0c;但用一段时间后&#xff0c;开机慢、启动软件也慢。以前我第一反应是清启动项、换固态、关服务&#xff0c;后来发现真正拖累工作效率的不是开机那几秒&#xff0c;而是每天反复“找图标、双击、等加载”的…

作者头像 李华