1. 为什么选择Ubuntu作为Linux入门系统
作为Linux发行版中最流行的选择之一,Ubuntu特别适合初学者迈出Linux学习的第一步。我最初选择Ubuntu的原因很简单:它拥有最完善的社区支持、最友好的用户界面和最稳定的长期支持版本。根据2023年的统计,Ubuntu在桌面Linux市场的占有率超过37%,这意味着你遇到的任何问题几乎都能在社区找到解决方案。
Ubuntu每两年发布一个长期支持版本(LTS),这些版本会获得5年的安全更新和维护。对于初学者来说,22.04 LTS是目前最稳定的选择,它预装了所有必要的驱动程序和工具,开箱即用的体验非常好。我建议新手都从LTS版本开始,避免使用非LTS版本可能遇到的兼容性问题。
提示:Ubuntu的版本号由发布年份和月份组成,例如22.04表示2022年4月发布。带LTS标记的版本是长期支持版。
2. 安装Ubuntu的三种主流方式
2.1 物理机直接安装
这是体验最完整的方式,适合有备用电脑的学习者。你需要准备:
- 至少25GB的空闲磁盘空间
- 4GB以上内存(8GB更佳)
- 支持UEFI的主板(2012年后生产的电脑基本都支持)
制作启动U盘的步骤如下:
- 从官网下载Ubuntu 22.04 LTS镜像
- 使用Rufus(Windows)或dd命令(Mac/Linux)将ISO写入U盘
- 重启电脑进入BIOS设置U盘启动
- 按照图形界面指引完成安装
我在实体机安装时发现一个常见问题:双系统情况下Windows的时间显示错误。这是因为Windows和Linux对硬件时钟的处理方式不同,解决方法是在Ubuntu终端执行:
timedatectl set-local-rtc 1 --adjust-system-clock2.2 虚拟机安装
对于不想影响现有系统的用户,虚拟机是最安全的选择。VMware Workstation Player和VirtualBox都支持Ubuntu安装。配置建议:
- 分配至少2个CPU核心
- 4GB内存
- 启用3D加速(显著改善图形性能)
- 使用桥接网络模式获得完整网络功能
安装增强功能工具(VMware Tools或VirtualBox Guest Additions)可以显著提升使用体验,包括:
- 自动调整分辨率
- 共享剪贴板
- 文件拖放功能
- 更好的显卡性能
2.3 WSL2方式安装
Windows 10/11用户可以通过WSL(Windows Subsystem for Linux)直接在Windows中运行Ubuntu。这是开发者的热门选择,因为:
- 零性能开销
- 直接访问Windows文件系统
- 完美集成VS Code等开发工具
安装步骤:
- 以管理员身份打开PowerShell
- 运行:
wsl --install -d Ubuntu-22.04 - 等待自动下载和安装完成
- 启动Ubuntu完成初始用户设置
WSL2的一个实用技巧是可以通过\\wsl$路径在Windows资源管理器中直接访问Linux文件系统。
3. 首次使用必须掌握的终端命令
3.1 文件系统操作
# 查看当前目录内容(-l显示详情,-a显示隐藏文件) ls -la # 切换目录 cd /path/to/directory # 创建目录 mkdir new_folder # 复制文件 cp source.txt destination/ # 移动/重命名文件 mv oldname.txt newname.txt # 删除文件(谨慎使用) rm unwanted_file.txt新手常犯的错误是直接使用rm -rf /这样的危险命令。我建议先在~/.bashrc中添加以下别名防止误操作:
alias rm='rm -i' # 删除前询问确认3.2 软件包管理
Ubuntu使用APT(Advanced Packaging Tool)管理软件包,这是必须掌握的核心技能:
# 更新软件包列表 sudo apt update # 升级已安装的软件包 sudo apt upgrade # 搜索软件包 apt search package_name # 安装软件 sudo apt install package_name # 移除软件(保留配置文件) sudo apt remove package_name # 完全卸载(包括配置) sudo apt purge package_name我强烈建议定期运行sudo apt update && sudo apt upgrade保持系统更新。曾经有一次因为三个月没更新,导致安装新软件时出现依赖冲突,花了两个小时才解决。
3.3 系统信息查询
# 查看系统版本 lsb_release -a # 查看内核版本 uname -r # 查看磁盘使用情况 df -h # 查看内存使用 free -h # 查看CPU信息 lscpu # 查看进程 top # 或者更现代的替代品 htop这些命令在排查系统问题时特别有用。比如当系统变慢时,先用top查看哪个进程占用了过多CPU或内存资源。
4. 图形界面与常用应用
4.1 GNOME桌面基础
Ubuntu默认使用GNOME桌面环境,掌握这些快捷键能大幅提升效率:
Super(Windows键):打开活动概览Super + A:显示所有应用Super + Tab:切换应用Ctrl + Alt + T:打开终端Alt + F2,输入r然后回车:重启GNOME Shell(解决界面卡死)
我习惯将常用应用固定在左侧Dock栏,右键点击应用图标选择"Add to Favorites"即可。对于开发者,建议固定终端、文件管理器和代码编辑器。
4.2 必备应用推荐
| 类别 | 推荐应用 | 安装命令 |
|---|---|---|
| 浏览器 | Firefox(默认) | 已预装 |
| 办公 | LibreOffice | sudo apt install libreoffice |
| 图像处理 | GIMP | sudo apt install gimp |
| 媒体播放 | VLC | sudo apt install vlc |
| 代码编辑 | Visual Studio Code | 需从官网下载.deb包安装 |
| 终端增强 | Tilix | sudo apt install tilix |
| 系统监控 | GNOME System Monitor | 已预装 |
对于中文用户,安装搜狗输入法的命令如下:
sudo apt install fcitx libfcitx-qt5 fcitx-libs-qt # 然后从官网下载.deb包安装5. 系统配置与优化
5.1 更换国内软件源
默认的国外源速度可能较慢,替换为国内镜像能显著提升下载速度。以阿里云源为例:
- 备份原有源列表:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak- 编辑源列表:
sudo nano /etc/apt/sources.list- 替换为以下内容(适用于22.04 LTS):
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse- 更新缓存:
sudo apt update5.2 磁盘清理技巧
随着使用时间增长,系统会产生各种缓存和旧内核文件。定期清理可以释放空间:
# 清理旧版本软件包 sudo apt autoremove # 清理下载的软件包缓存 sudo apt clean # 查找大文件 sudo du -h / | grep -P '^[0-9\.]+G' # 专门清理旧内核(谨慎操作) sudo purge-old-kernels我曾经通过清理操作一次性释放了超过5GB空间,主要是累积的旧内核和日志文件。
6. 常见问题解决方案
6.1 显卡驱动问题
Ubuntu默认使用开源驱动,对于NVIDIA显卡用户可能需要安装专有驱动:
- 检查推荐驱动:
ubuntu-drivers devices- 安装推荐版本:
sudo ubuntu-drivers autoinstall- 重启生效
如果遇到登录循环问题,可以尝试:
- 进入恢复模式
- 选择root shell
- 卸载NVIDIA驱动:
apt purge nvidia*- 重新安装适合的版本
6.2 网络配置
有线网络通常自动连接,无线网络可能需要额外驱动。查看无线网卡信息:
lspci | grep -i wireless对于Broadcom等常见网卡,安装驱动命令类似:
sudo apt install bcmwl-kernel-source如果遇到DNS解析问题,可以修改/etc/systemd/resolved.conf:
[Resolve] DNS=8.8.8.8 114.114.114.114然后重启服务:
sudo systemctl restart systemd-resolved7. 进阶学习路径建议
掌握基础操作后,可以按照以下路径深入学习:
- Shell脚本编程:学习编写自动化任务脚本
- 用户和权限管理:理解Linux多用户系统的运作机制
- 服务管理:使用systemctl管理后台服务
- 网络配置:掌握netplan/NetworkManager配置静态IP等
- 容器技术:学习Docker等容器化工具
- 服务器管理:配置Apache/Nginx、MySQL等常见服务
我个人的学习经验是:先掌握日常使用所需的基础命令,然后通过实际项目需求驱动学习。比如需要部署网站时学习Nginx配置,需要自动化任务时学习Shell脚本。这种问题导向的学习方式效率最高。