简介
Rust(Rust-Lang)是一种相对比较新的开源实用系统编程语言,运行速度极快,可防止段错误并确保线程安全。它是由 Mozilla 开发并有 LLVM 支持的安全和并发语言。
它支持零成本抽象,移动语义,保证内存安全,无数据竞争的线程,基于特征的泛型和模式匹配。它还支持类型推断,最小的运行时间以及高效的 C 绑定。
在 Linux 中安装 Rust 编程语言
1、系统安装
安装 Rust 需要 curl 命令:
1 2 3 |
$ sudo apt-get install curl [On Debian/Ubuntu] # yum install install curl [On CentOS/RHEL] # dnf install curl [On Fedora] |
然后通过终端运行命令来安装 Rust:
1 |
$ curl https://sh.rustup.rs -sSf | sh |
Rust 安装完成后,Cargo 的 bin 目录(~/.cargo/bin – 安装了所有工具)将被添加到 ~/.profile PATH 环境变量中。(这是个人的家目录,不会对别的用户产生影响)
最后通过以下命令来验证系统上安装的 Rust 版本。
1 |
$ rustc --version |
2、测试 Rust 编程语言
创建一个工作区目录,并创建一个 test.rs 文件:
1 2 3 4 5 6 7 8 9 10 |
$ mkdir myprog $ cd myprog $ vim test.rs fn main() { println!("Hello World, it’s HowToing.com – Best Linux HowTos, Guides on the Internet!"); } - 保存退出 |
然后使用一下命令运行文件,Rust 会编译创建一个 test 的可执行文件(有点像 C 语言):
1 |
$ rustc main.rs |
最后,执行 test:
1 |
$ ./test |
3、其他 Rust 操作
将 Rust 更新到最新版本:
1 2 3 4 5 |
$ rustup update info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: checking for self-updates stable-x86_64-unknown-linux-gnu unchanged - rustc 1.31.0 (abe02cefd 2018-12-04) |
运行以下命令从系统中删除 Rust 包:
1 |
$ rustup self uninstall |
卸载 Rust 包后,删除 Rust 项目目录:
1 |
$ rm -rf ~/myprog |
Fin. 一些好用の小工具
1、tin-summer
tin-summer 是使用 Rust 语言编写的自由开源工具,它可以用于查找占用磁盘空间的文件,它也是 du 命令的一个替代品。由于使用了多线程,因此 tin-summer 在计算大目录的大小时会比 du 命令快得多。tin-summer 与 du 命令之间的区别是:前者读取文件的大小,而后者读取磁盘使用情况。
tin-summer 的优势:
- 在大目录的操作速度上比 du 更快;
- 在显示结果上默认采用易读格式;
- 可以使用正则表达式排除文件或目录;
- 可以对输出进行排序和着色处理;
- 可扩展……
1.1 安装
1 |
$ cargo install tin-summer |
1.2 使用
1 |
$ sn f <path-to-the-directory> |
2、dust(du+rust=dust)
是使用 Rust 编写,是一个免费、开源的更直观的 du 工具。
2.1 安装
1 2 3 4 5 6 7 |
# 使用cargo安装 $ cargo install du-dust # 下载编译版本 <span class="pln">$ </span><span class="kwd">wget</span><span class="pln"> https</span><span class="pun">:</span><span class="com">//github.com/bootandy/dust/releases/download/v0.5.3/dust-v0.5.3-x86_64-unknown-linux-gnu.tar.gz</span> <span class="pln">$ </span><span class="kwd">tar</span><span class="pln"> </span><span class="pun">-</span><span class="pln">xvf dust</span><span class="pun">-</span><span class="pln">v0</span><span class="pun">.</span><span class="lit">3.1</span><span class="pun">-</span><span class="pln">x86_64</span><span class="pun">-</span><span class="pln">unknown</span><span class="pun">-</span><span class="pln">linux</span><span class="pun">-</span><span class="pln">gnu</span><span class="pun">.</span><span class="kwd">tar</span><span class="pun">.</span><span class="pln">gz</span> <span class="pln">$ </span><span class="kwd">sudo</span><span class="pln"> </span><span class="kwd">mv</span><span class="pln"> dust </span><span class="pun">/</span><span class="pln">usr</span><span class="pun">/</span><span class="kwd">local</span><span class="pun">/</span><span class="pln">bin</span><span class="pun">/</span> |