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 文件系统

Download history 547900/week @ 2024-04-23 512679/week @ 2024-04-30 530718/week @ 2024-05-07 546108/week @ 2024-05-14 538182/week @ 2024-05-21 583047/week @ 2024-05-28 578747/week @ 2024-06-04 615970/week @ 2024-06-11 573878/week @ 2024-06-18 591708/week @ 2024-06-25 549270/week @ 2024-07-02 627646/week @ 2024-07-09 638411/week @ 2024-07-16 669269/week @ 2024-07-23 652428/week @ 2024-07-30 687404/week @ 2024-08-06

2,754,073 每月下载量
用于 2,412 个 Crates (58 个直接使用)

MIT/Apache

28KB
657

xattr

一个小型库,用于设置、获取和列出扩展属性。

支持的平台:Android、Linux、MacOS、FreeBSD 和 NetBSD。

API 文档:https://docs.rs/xattr/latest/xattr/

不支持的平台

此库包含对不支持的 Unix 平台的无操作支持。也就是说,它将在所有 Unix 平台上构建,但在不支持的 Unix 平台上总会失败。

  1. 您可以通过禁用默认的 unsupported 功能来关闭此功能。如果您这样做,此库将无法在不支持的平台上编译。
  2. 或者,您可以通过在运行时检查 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