
1. 从“为什么是Ubuntu”说起一个老手的视角如果你正在看这篇文章大概率是第一次接触Linux或者想从Windows/macOS切换到Ubuntu。作为一个在Linux环境下摸爬滚打了十多年的老用户我想先和你聊聊为什么在众多Linux发行版里我依然会向新手推荐Ubuntu。这不仅仅是“安装一个系统”那么简单而是一个关于选择、效率和长期舒适度的决定。Ubuntu这个词源于非洲祖鲁语意为“人道待人”或“群在故我在”。它的哲学也体现在其易用性上。对于初学者而言Ubuntu最大的优势在于其庞大的社区和近乎“开箱即用”的体验。它的软件仓库极其丰富官方和第三方文档浩如烟海这意味着你遇到的90%的问题都能在搜索引擎里找到现成的答案。相比之下Arch Linux需要你从零开始搭建Gentoo需要你编译一切虽然能学到更多但初期挫败感极强很容易让人放弃。而Ubuntu提供了一个稳固的起点让你先“用起来”在使用的过程中再根据兴趣去深入探索底层原理。另一个关键点是硬件兼容性。CanonicalUbuntu背后的公司与主流硬件厂商的合作非常紧密这使得Ubuntu在笔记本、台式机上的驱动支持通常是所有Linux发行版中最好的之一。特别是对于带有NVIDIA显卡的电脑Ubuntu提供了专有驱动管理工具大大简化了安装过程。这避免了新手在安装完系统后面对一个无法调节亮度或者没有无线网络的尴尬局面。所以这篇教程的目标不仅仅是让你成功把Ubuntu装进电脑更是帮你搭建一个高效、可用的开发或日常使用环境。我会把那些官方文档里一笔带过、但实际安装时总会卡住你的细节掰开揉碎并分享一套我用了很多年的、真正高频的“生存级”命令。让我们开始吧。2. 安装前的关键决策方式、版本与硬件准备安装Ubuntu的第一步不是制作启动盘而是做出几个关键选择。选错了后续可能会遇到很多不必要的麻烦。2.1 选择你的安装方式双系统、虚拟机还是独占这是最重要的决策取决于你的主要用途和硬件条件。虚拟机安装推荐给绝对新手和尝鲜者优点完全无风险。你的Windows或macOS宿主系统毫发无损Ubuntu就像电脑里的一个普通软件可以随时创建、删除、快照相当于游戏存档。缺点性能有损耗特别是图形性能和IO读写。不适合进行大型开发、游戏或需要直接调用硬件的任务。工具选择VMware Workstation Player个人免费或VirtualBox完全免费。对于新手VMware的兼容性和易用性通常更好。我的建议如果你是编程初学者只是想学习Linux命令、配置Python/Java环境虚拟机是完美起点。它给你提供了“试错”的安全网。双系统安装推荐给开发者或需要原生性能的用户优点完全的原生性能可以充分利用硬件资源。是进行软件开发、机器学习、游戏等任务的理想选择。缺点有风险。操作不当可能损坏原有系统或导致数据丢失。每次切换系统需要重启电脑。关键步骤备份备份备份将重要数据转移到移动硬盘或云盘。然后使用Windows的“磁盘管理”工具压缩出一个至少50GB的未分配空间供Ubuntu使用。我的建议如果你确定要在Linux下进行长期、严肃的工作并且电脑硬盘空间充足建议256GB SSD以上直接上双系统。这才是真正的“沉浸式”体验。单系统独占安装适合旧电脑或专用设备将整个硬盘只安装Ubuntu。通常用于淘汰下来的旧笔记本改造为家庭服务器、媒体中心或专门用于学习的机器。警告这会抹掉硬盘上所有数据请务必确认。对于本教程我将以在实体机上安装双系统作为主线流程进行讲解因为这是最多人选择且最具代表性的方式。虚拟机的安装过程更简单在创建好虚拟机并加载镜像后步骤基本一致。2.2 选择正确的Ubuntu版本与镜像访问Ubuntu官网你会看到几个版本选项别晕我们理一理Ubuntu 24.04 LTS / 22.04 LTS请务必选择LTS版本LTS代表“长期支持”每两年发布一次提供长达5年的安全更新和维护。这意味着系统更稳定软件兼容性更好。24.04是最新版22.04则经过了更长时间的市场考验。对于新手我推荐Ubuntu 22.04 LTS它的生态最成熟坑最少。桌面版 vs 服务器版毫无疑问选Desktop桌面版。服务器版没有图形界面纯命令行不适合入门。架构绝大多数现代电脑都是x64架构。只有非常老的电脑或树莓派等设备才需要考虑32位i386或ARM架构。注意下载镜像时建议使用迅雷等下载工具或寻找国内的镜像源如阿里云、清华大学的开源镜像站直接从官网下载速度可能很慢。校验SHA256哈希值是个好习惯但对于新手如果下载渠道可靠可以跳过。2.3 制作启动盘别小看这个U盘你需要一个至少8GB容量的U盘里面的数据会被全部清空。制作工具在Windows下不要用老毛桃、大白菜之类的PE工具它们会修改Ubuntu的引导。请使用Rufus或Ventoy。Rufus简单直接。插入U盘打开Rufus设备选择你的U盘“引导类型选择”处点击“选择”找到你下载的.iso镜像文件其他选项保持默认点击“开始”即可。Ventoy更强大。只需安装一次Ventoy到U盘之后你只需要把各种.iso镜像文件Ubuntu, Windows, PE等直接拷贝到U盘里就行启动时会让你选择要加载哪个镜像。强烈推荐一劳永逸。BIOS/UEFI设置这是安装失败的重灾区。重启电脑在品牌Logo出现时狂按F2、F10、F12或Del键进入BIOS/UEFI设置界面具体按键查你电脑型号。关闭Secure Boot在“安全”或“启动”选项里找到“安全启动”Secure Boot将其设置为“禁用”Disabled。Ubuntu虽然支持Secure Boot但关闭它能避免很多潜在的驱动签名问题。调整启动顺序在“启动”选项里将“U盘”或“USB HDD”调整到第一位。或者更简单在启动时按F12常见调出一次性启动菜单直接选择你的U盘启动。3. 图文详解Ubuntu安装全过程成功从U盘启动后你会进入Ubuntu的“试用桌面”。桌面上有一个“安装Ubuntu”的图标。别急着点我们先做两件事连接网络点击右上角网络图标连接Wi-Fi或有线网络。安装过程中可以下载更新和第三方软件让安装更完整。验证硬件是否正常打开“文件”浏览器看看能否识别你的硬盘打开浏览器看看网页能否正常打开调节一下音量。确保基础硬件没问题。现在双击“安装Ubuntu”开始。步骤1选择语言- 中文简体继续。步骤2键盘布局- 汉语继续。步骤3更新和其他软件关键步骤正常安装vs最小安装选“正常安装”。它会包含浏览器、办公套件、媒体播放器等常用软件适合绝大多数用户。“最小安装”只有一个极简的桌面和核心系统适合高手。为图形或无线硬件安装第三方软件务必勾选这个选项会安装NVIDIA、AMD、Wi-Fi芯片等专有驱动以及MP3、Flash等媒体编解码器。这是实现“开箱即用”的关键一步。下载更新同时安装Ubuntu如果你网络好可以勾选。如果网络慢可以不勾等系统装完再更新。步骤4安装类型双系统核心这里你会看到“安装Ubuntu与Windows Boot Manager共存”的选项。安装程序会自动识别你之前用Windows压缩出来的未分配空间并为你配置好双系统引导。这是最安全、最推荐的方式。警告如果你看到“清除整个磁盘并安装Ubuntu”请千万小心除非你是要装单系统。如果没出现“共存”选项可能是因为你没提前准备好未分配空间或者启动模式UEFI/Legacy不匹配。选中“与Windows Boot Manager共存”后你可以拖动中间的分割线来调整Ubuntu和Windows分区的大小。给Ubuntu分配多少如果你是开发者建议至少80GB。调整好后点击“现在安装”。步骤5确认磁盘更改- 点击“继续”。步骤6选择时区- 在地图上点击上海或输入Shanghai。步骤7创建用户你的姓名yourname你的计算机名yourname-pc这会显示在终端提示符和网络上用户名yourname用于登录和终端操作建议小写英文密码设置一个安全的密码。登录选项建议选择“自动登录”以方便但如果你电脑涉及安全选“需要密码登录”。重要心得这个密码也是你后续使用sudo命令获取管理员权限的密码请牢记。接下来就是等待安装完成期间会有一个幻灯片介绍Ubuntu特性。安装完成后会提示你“重启”。此时系统会提示你“请移除安装介质然后按回车键”。一定要拔掉U盘再按回车否则又会从U盘启动。重启后你会看到一个名为GRUB的引导菜单默认等待几秒后会进入Ubuntu。你可以用上下键选择是启动Ubuntu还是Windows。至此系统安装大功告成。4. 安装后的首要10件事打造高效工作环境第一次进入Ubuntu桌面先别急着玩。做好这些初始设置能让你后续的使用体验提升好几个档次。4.1 全面更新系统这是安全性和稳定性的基础。打开终端快捷键CtrlAltT输入sudo apt update # 刷新软件源列表获取最新的软件包信息 sudo apt upgrade # 升级所有已安装的软件包 sudo apt dist-upgrade # 处理升级过程中可能出现的依赖关系变化更智能期间会询问你是否继续输入y并按回车。4.2 更换国内软件源加速下载的关键默认的软件源服务器在国外更新和安装软件速度极慢。替换为国内镜像源是必做操作。图形化方法打开“软件和更新”Software Updates在“下载自”下拉菜单中选择“中国的服务器”比如mirrors.aliyun.com或mirrors.tuna.tsinghua.edu.cn。命令行方法更彻底备份原文件后编辑源列表。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 apt update # 更新之后再次运行sudo apt update感受飞一般的速度。4.3 安装图形化驱动管理针对NVIDIA显卡用户如果你有NVIDIA显卡在“软件和更新”的“附加驱动”标签页里通常会列出可用的专有驱动。选择一个带“proprietary”和“tested”字样的推荐版本点击“应用更改”。安装后重启图形性能会大幅提升。4.4 安装基础开发工具包即使你现在不开发先装上也没坏处。sudo apt install build-essential # 包含gcc, g, make等编译工具4.5 安装并配置Git版本控制是程序员的必备技能。sudo apt install git git config --global user.name Your Name git config --global user.email your.emailexample.com4.6 安装VS Code微软出品的强大编辑器在Linux上体验极佳。去官网下载.deb包双击用“软件安装”打开即可。或者通过Snap安装Ubuntu自带的软件包格式自动更新sudo snap install --classic code4.7 安装中文输入法Ubuntu自带的IBus输入法框架对中文支持很好。sudo apt install ibus-pinyin # 安装拼音输入法然后到“设置”-“区域与语言”-“输入源”点击“”添加“中文智能拼音”。可以通过SuperWindows键空格切换输入法。4.8 熟悉软件安装的几种方式apt(命令行最常用)sudo apt install package_nameUbuntu软件中心 (图形化)搜索、点击安装适合普通应用。Snap (沙盒化软件包)sudo snap install package_name如安装Spotify、Telegram。.deb包 (类似exe)从官网下载后双击安装。AppImage (便携式)下载一个文件赋予执行权限(chmod x file.AppImage)后直接运行。4.9 配置终端和Shell可选但强烈推荐默认的Bash Shell很好但zsh配合oh-my-zsh插件框架更强大、更美观。sudo apt install zsh git curl sh -c $(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)安装过程中会提示是否将默认shell切换为zsh选择“是”。重启终端后你会看到一个更漂亮的界面并支持强大的自动补全和主题。4.10 学会使用“快照”功能Timeshift这是你的“系统时光机”。安装Timeshift (sudo apt install timeshift)定期为系统创建快照。一旦某次更新或操作搞崩了系统你可以快速回滚到之前正常的状态比Windows的系统还原强大得多。做完这十件事你的Ubuntu就已经从一个“裸系统”变成了一个功能完备、高效顺手的生产力和学习工具。5. 终端生存指南30个你必须刻在DNA里的命令图形界面虽好但终端的效率是无可替代的。下面这些命令是我每天都会用到的“肌肉记忆”。我把它们分为几个类别并解释每个参数的含义。5.1 文件与目录操作基石# 1. 列出文件 - 用 ls但要知道它的参数 ls # 简单列出 ls -l # 以长格式列出显示权限、所有者、大小、时间最常用 ls -la # -a 显示所有文件包括隐藏文件以.开头的 ls -lh # -h 以人类可读的格式显示文件大小K, M, G # 组合使用ls -lah 是我最常用的信息全且易读。 # 2. 切换目录 - cd cd /path/to/dir # 切换到绝对路径 cd .. # 切换到上级目录 cd ~ # 切换到用户家目录/home/yourname cd - # 切换到上一个所在的目录来回切换非常方便 # 3. 查看当前目录 - pwd pwd # 打印当前工作目录的完整路径 # 4. 创建目录/文件 - mkdir, touch mkdir new_folder # 创建文件夹 mkdir -p parent/child/grandchild # -p 创建多级目录父目录不存在则一并创建 touch new_file.txt # 创建一个空文件或更新已有文件的时间戳 # 5. 复制/移动/重命名 - cp, mv cp source.txt destination.txt # 复制文件 cp -r source_dir/ destination_dir/ # -r 递归复制整个目录 mv old_name.txt new_name.txt # 重命名文件 mv file.txt /target/directory/ # 移动文件到目标目录 # mv 命令集移动和重命名于一体是Linux设计哲学的一个体现。 # 6. 删除 - rm (危险慎用) rm file.txt # 删除文件 rm -r directory/ # -r 递归删除目录及其内容 # 警告Linux命令行删除是直接删除不进回收站没有确认 # 安全习惯先用 ls 确认要删的文件再用 rm。或者使用 rm -i 交互式删除会询问。 # 更安全的替代品安装 trash-cli (sudo apt install trash-cli)使用 trash-put 命令文件会进图形界面的回收站。 # 7. 查看文件内容 cat file.txt # 一次性显示整个文件内容适合小文件 less file.txt # 分页查看支持上下翻页、搜索/关键词按 q 退出最适合查看日志 head -n 20 file.txt # 查看文件开头20行 tail -n 20 file.txt # 查看文件末尾20行 tail -f logfile.log # -f 实时追踪文件末尾新增的内容监控日志的神器5.2 系统信息与进程管理掌控全局# 8. 查看进程 - ps, top, htop ps aux | grep nginx # 查看所有进程并过滤出包含‘nginx’的进程 # ps aux 列出所有进程详情。| grep 是管道将前一个命令的输出作为后一个命令的输入进行筛选。 top # 动态显示进程状态和系统资源占用类似任务管理器 # 安装 htop (sudo apt install htop)它是 top 的增强版支持鼠标操作和颜色高亮更直观。 # 9. 结束进程 - kill kill 1234 # 温和地结束PID为1234的进程发送SIGTERM信号 kill -9 1234 # -9 强制结束进程发送SIGKILL信号进程无法捕获或忽略 # 先用 ps aux | grep 进程名 找到PID再用 kill。 # 10. 监控系统资源 - free, df, du free -h # -h 以易读格式显示内存使用情况总量/已用/剩余 df -h # 显示磁盘空间使用情况各个挂载点 du -sh /path/to/dir # -s 总计-h 易读显示指定目录的总大小 # 11. 查看系统信息 uname -a # 查看内核版本和系统架构 lsb_release -a # 查看Ubuntu发行版具体版本信息5.3 网络相关连通世界# 12. 测试连通性 - ping ping -c 4 google.com # -c 指定发送4个包后停止 # 13. 查看网络配置 - ip (已取代老旧的 ifconfig) ip addr show # 显示所有网络接口的IP地址信息 ip route show # 显示路由表 # 14. 下载文件 - wget, curl wget https://example.com/file.zip # 直接下载文件到当前目录 curl -O https://example.com/file.zip # -O 用远程文件名保存 curl -L -o new_name.zip https://... # -L 跟随重定向-o 指定本地文件名 # 15. 查看网络连接 - netstat, ss sudo netstat -tulpn # 查看所有监听端口及对应进程需要sudo sudo ss -tulpn # ss 是更现代、更快的 netstat 替代品5.4 权限与用户管理安全之本Linux的权限系统是其安全性的基石。理解ls -l输出结果开头的10个字符至关重要-rwxr-xr--第1位-表示普通文件d表示目录l表示链接。第2-4位文件所有者的读(r)、写(w)、执行(x)权限。第5-7位文件所属用户组的权限。第8-10位其他用户的权限。# 16. 修改文件权限 - chmod chmod x script.sh # 给所有用户添加执行权限 chmod 755 script.sh # 用数字表示权限所有者rwx(7)组r-x(5)其他r-x(5) # 数字计算r4, w2, x1。755 421, 41, 41 chmod -R 644 directory/ # -R 递归修改目录下所有文件的权限 # 17. 修改文件所有者和组 - chown sudo chown user:group file.txt # 将文件所有者改为user所属组改为group sudo chown -R user:group dir/ # -R 递归修改 # 18. 超级用户权限 - sudo sudo command # 以root权限执行命令需要输入当前用户密码 sudo -i # 切换到root用户shell长时间操作时使用操作完用 exit 退出 # 核心原则日常操作不用root只在必要时使用 sudo。5.5 包管理与搜索软件的源泉# 19. 搜索软件包 apt search keyword # 在软件源中搜索包含关键词的包 apt show package_name # 显示某个软件包的详细信息 # 20. 安装/卸载/清理 sudo apt install package_name sudo apt remove package_name # 删除软件包但保留配置文件 sudo apt purge package_name # 彻底删除软件包及其配置文件 sudo apt autoremove # 自动删除不再需要的依赖包定期运行保持系统清洁 # 21. 查找命令或文件的位置 which python3 # 查找 python3 这个命令的完整路径 whereis python3 # 查找 python3 的二进制文件、源码和手册页位置 find /home -name *.txt # 在 /home 目录下递归查找所有.txt文件功能强大但耗资源 locate filename # 基于数据库快速查找文件需要先运行 sudo updatedb 更新数据库5.6 文本处理与管道效率倍增器管道|是Linux命令行的灵魂它允许你将一个命令的输出作为另一个命令的输入。# 22. 文本过滤 - grep cat log.txt | grep ERROR # 在log.txt中查找包含“ERROR”的行 ps aux | grep -v grep | grep nginx # 查找nginx进程并排除掉grep进程本身 # 23. 文本流编辑 - sed (流编辑器) sed s/foo/bar/g file.txt # 将文件中所有的foo替换为bar只输出到屏幕不修改原文件 sed -i s/foo/bar/g file.txt # -i 直接修改原文件危险操作前建议先备份 # 24. 文本分析 - awk (强大的文本分析工具) awk {print $1} file.txt # 打印文件每一行的第一列默认以空格分隔 ps aux | awk {sum$4} END {print sum} # 计算所有进程内存占用百分比的总和 # awk 是一门微型编程语言功能极其强大这里只是冰山一角。 # 25. 排序、去重、计数 - sort, uniq, wc sort file.txt # 对文件行进行排序 sort file.txt | uniq # 排序后去重 sort file.txt | uniq -c # -c 计数显示每行重复的次数 wc -l file.txt # -l 统计文件行数5.7 压缩与解压日常必备# 26. .tar.gz 或 .tgz 格式 tar -czvf archive.tar.gz /path/to/dir # -c 创建-z 用gzip压缩-v 显示过程-f 指定文件名 tar -xzvf archive.tar.gz # -x 解压 # 27. .tar.bz2 格式 tar -cjvf archive.tar.bz2 /path/to/dir # -j 用bzip2压缩 tar -xjvf archive.tar.bz2 # 28. .zip 格式需要安装 zip 和 unzip zip -r archive.zip /path/to/dir # -r 递归压缩目录 unzip archive.zip # 29. 查看压缩包内容 tar -tzvf archive.tar.gz # -t 列出内容不解压5.8 其他高频神器# 30. 命令历史与快速执行 history # 查看命令历史记录 !123 # 执行历史记录中第123条命令 !! # 执行上一条命令 sudo !! # 以sudo权限执行上一条命令非常实用 # 31. 后台运行与任务控制 long_running_command # 在命令末尾加 让它在后台运行 jobs # 查看当前shell的后台任务 fg %1 # 将1号后台任务调到前台运行 bg %1 # 将暂停的1号任务在后台继续运行 Ctrl Z # 暂停当前正在前台运行的任务 # 32. 别名 - 给你的长命令起个短名字 alias llls -alh # 在终端输入 ll 就等于 ls -alh # 将这个别名命令添加到 ~/.bashrc 或 ~/.zshrc 文件末尾即可永久生效。掌握这30多个命令你就能在Ubuntu的终端世界里自如行走处理绝大多数日常任务。记住不用死记硬背多用、多查man command或command --help查看手册自然就熟了。6. 进阶当命令遇到问题时的排查思路命令输错了或者结果不符合预期怎么办别慌按这个思路来检查命令和参数首先逐字检查你输入的命令和参数是否有拼写错误。ls -l和ls -1是天壤之别。查看错误信息终端给出的错误信息通常是红色字体是最重要的线索。比如Permission denied意味着你需要sudoCommand not found意味着这个命令没安装或者你拼错了。使用man手册man ls会打开ls命令的完整手册里面有所有参数的详细说明。虽然英文的但它是终极权威。善用--help大多数命令都支持ls --help它会给出一个更简洁的参数列表和说明。搜索引擎是你的朋友把完整的错误信息复制到搜索引擎里十有八九能找到解决方案。记得在搜索词里加上“Ubuntu 22.04”这样的系统版本信息。理解退出状态码每个命令执行完都会有一个数字状态码0代表成功非0代表失败。可以用echo $?查看上一条命令的退出状态码。学习Linux是一个不断遇到问题、解决问题的过程。每一次排错都是你对系统理解加深的一次机会。别怕终端它是你与计算机直接对话的窗口用熟了之后你会再也回不去纯图形界面的操作方式。