温馨提示×

如何用linux学rust

小樊
41
2026-10-07 01:49:58
栏目: 编程语言

用 Linux 来学习 Rust 是非常合适的,因为 Rust 工具链在 Linux 上支持最好,而且很多 Rust 生态(编译器、Cargo、系统编程)天然贴近 Unix/Linux 环境。

下面我按从零开始的思路,给你一套清晰路线。


一、准备 Linux 环境

你可以使用:

  • 实体机 / 虚拟机(Ubuntu、Debian、Fedora、Arch 等)
  • WSL2(Windows 下推荐)
  • 云服务器(轻量学习也行)

推荐发行版:

  • Ubuntu / Debian(资料最多)
  • Fedora(Rust 官方支持好)

二、安装 Rust 工具链

1. 安装 rustup(官方推荐方式)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装完成后:

source "$HOME/.cargo/env"

验证:

rustc --version
cargo --version

2. 常用组件(可选但推荐)

rustup component add rust-analyzer
rustup component add clippy
rustup component add rustfmt

三、写你的第一个 Rust 程序

1. 用 Cargo 创建项目

cargo new hello_rust
cd hello_rust

目录结构:

hello_rust
├── Cargo.toml
└── src
    └── main.rs

2. 运行程序

cargo run

输出:

Hello, world!

四、在 Linux 下高效学 Rust 的方式

1. 用终端 + 编辑器

推荐组合:

  • VS Code + Rust 插件
  • Neovim + rust-analyzer

VS Code 安装:

sudo snap install code

安装 Rust 插件:

  • Rust Analyzer
  • Code LLDB(调试用)

2. 利用 Linux 特性学系统编程

Rust 很适合学:

  • 文件 / 进程
  • 网络
  • 多线程
  • 系统调用

示例:读取 Linux 文件

use std::fs;

fn main() {
    let content = fs::read_to_string("/etc/os-release")
        .expect("无法读取文件");
    println!("{}", content);
}

3. 学习资源(Linux 用户友好)

官方

  • 《The Rust Programming Language》
    rustup doc --book
    
  • 官方练习:https://rustlings.cool

中文

  • Rust 语言圣经(中文,非常好) https://course.rs

项目驱动

  • 写命令行工具(像 ls、grep)
  • 写简单 HTTP 服务
  • 写系统监控工具

五、Linux 下调试 Rust

1. 用 gdb / lldb

cargo build
gdb target/debug/hello_rust

2. 用 cargo 工具

cargo clippy      # 代码质量
cargo fmt         # 格式化
cargo test        # 单元测试

六、推荐学习路线(Linux 场景)

  1. Rust 基础语法(所有权、生命周期)
  2. 文件 / 进程 / 环境变量
  3. 命令行工具开发(clap)
  4. 网络编程(tokio)
  5. 写 Linux 小工具(代替 shell 脚本)

七、一个“Linux 风格”的小练习

写一个简化版 cat:

use std::env;
use std::fs;

fn main() {
    let args: Vec<String> = env::args().collect();
    if args.len() < 2 {
        eprintln!("用法: {} <文件>", args[0]);
        return;
    }
    let content = fs::read_to_string(&args[1]).unwrap();
    print!("{}", content);
}

如果你愿意,我可以:

  • 给你一个 30 天 Rust + Linux 学习计划
  • 或直接带你 从零写一个 Linux 命令行工具
  • 或专讲 Rust 系统编程 / 嵌入式 / 服务端

你更想往哪个方向学?

0 踩