23 个版本 (7 个稳定版)
1.3.1 | 2024 年 1 月 15 日 |
---|---|
1.2.0 | 2023 年 12 月 28 日 |
1.0.1 | 2023 年 7 月 29 日 |
1.0.0 | 2022 年 11 月 29 日 |
0.1.2 | 2015 年 7 月 10 日 |
#27 in 文件系统
2,754,073 每月下载量
用于 2,412 个 Crates (58 个直接使用)
28KB
657 行
xattr
一个小型库,用于设置、获取和列出扩展属性。
支持的平台:Android、Linux、MacOS、FreeBSD 和 NetBSD。
API 文档:https://docs.rs/xattr/latest/xattr/
不支持的平台
此库包含对不支持的 Unix 平台的无操作支持。也就是说,它将在所有 Unix 平台上构建,但在不支持的 Unix 平台上总会失败。
- 您可以通过禁用默认的
unsupported
功能来关闭此功能。如果您这样做,此库将无法在不支持的平台上编译。 - 或者,您可以通过在运行时检查
xattr::SUPPORTED_PLATFORM
布尔值来检测不支持的平台。
lib.rs
:
一个用于管理扩展属性的纯 Rust 库。
它提供了在现代 Unix 文件系统上操作扩展属性(xattrs
)的支持。有关详细信息,请参阅 attr(5)
手册页。
提供了一个扩展 trait FileExt
,以便直接与标准 File
对象和文件描述符一起工作。
如果路径参数是一个符号链接,则获取/设置/列出/删除函数将在符号链接本身上操作。要操作符号链接的目标,请使用这些函数的 _deref 变体。
let mut xattrs = xattr::list("/").unwrap().peekable();
if xattrs.peek().is_none() {
println!("no xattr set on root");
return;
}
println!("Extended attributes:");
for attr in xattrs {
println!(" - {:?}", attr);
}
依赖项
~1–10MB
~120K SLoC