1个不稳定版本
0.1.0 | 2023年3月19日 |
---|
#581 in Unix API
14KB
189 行
e2p-fileflags: 从e2fsprogs的lsattr和chattr中读取和设置ext2/ext3/ext4/btrfs/xfs/f2fs文件标志
e2p-fileflags提供了对Linux文件标志的访问。存在的标志取决于使用的文件系统。该crate使用libe2p作为后端,它起源于e2fsprogs,支持ext2、ext3、ext4、btrfs、xfs和f2fs文件系统的标志。
示例
use std::fs::File;
use e2p_fileflags::{FileFlags,Flags};
let f = File::create("./foo/bar.txt")?;
f.set_flags(Flags::NOCOW)?;
println!("Flags: {:?}", f.flags()?);
use std::path::Path;
use e2p_fileflags::{FileFlags,Flags};
let p = Path::new("./foo/bar.txt");
p.set_flags(Flags::NOCOW)?;
println!("Flags: {:?}", p.flags()?);
需求
-
libe2p,包括开发头文件。目前,需要版本1.42.4的libe2p。如果您需要支持旧版本,请提交一个问题并说明所需的版本。
Linux发行版通常将这些软件包打包在以下名称之一下
- e2fsprogs(-dev)
- e2fslibs(-dev)
- libext2fs(-dev)
-
构建e2p-sys依赖项需要libclang。这有时被包装为libclang1。
请注意,在libe2p更新后,您可能需要重新构建e2p-sys和此crate,以获取任何新引入的标志。
依赖项
~1.2–4MB
~73K SLoC