#file #index #inode #read-file #linux-macos #system

bin+lib file-id

读取inode号(Linux、MacOS)和文件ID(Windows)的工具

3个不稳定版本

0.2.1 2023年8月21日
0.2.0 2023年8月20日
0.1.0 2023年5月17日

668文件系统

Download history 34463/week @ 2024-03-14 43336/week @ 2024-03-21 39425/week @ 2024-03-28 33378/week @ 2024-04-04 34749/week @ 2024-04-11 41957/week @ 2024-04-18 40962/week @ 2024-04-25 42033/week @ 2024-05-02 35897/week @ 2024-05-09 47970/week @ 2024-05-16 47276/week @ 2024-05-23 54584/week @ 2024-05-30 39688/week @ 2024-06-06 38750/week @ 2024-06-13 41811/week @ 2024-06-20 33691/week @ 2024-06-27

164,720 每月下载量
94 个crates中使用(直接使用3个)

MIT/Apache

11KB
138 代码行

文件ID

» Docs

读取文件ID的工具。

现代文件系统为每个文件分配一个唯一的ID。在Linux和MacOS中称为inode号,在Windows中称为文件ID或文件索引。与设备ID(Linux、MacOS)或卷序列号(Windows)一起,可以在特定时间唯一识别设备上的文件。

但请注意,ID可能在某个时刻被重复使用。

示例

let file_id = file_id::get_file_id(path).unwrap();

println!("{file_id:?}");

特性

  • serde 用于serde支持,默认关闭

lib.rs:

读取inode号(Linux、MacOS)和文件ID(Windows)的工具,这些ID可以唯一标识单个计算机上的文件。

现代文件系统为每个文件分配一个唯一的ID。在Linux和MacOS中称为inode号,在Windows中称为文件ID或文件索引。与设备ID(Linux、MacOS)或卷序列号(Windows)一起,可以在特定时间唯一识别计算机上的文件或目录。

但请注意,ID可能在某个时刻被重复使用。

示例

let file = tempfile::NamedTempFile::new().unwrap();

let file_id = file_id::get_file_id(file.path()).unwrap();
println!("{file_id:?}");

示例(仅限Windows)

let file = tempfile::NamedTempFile::new().unwrap();

let file_id = file_id::get_low_res_file_id(file.path()).unwrap();
println!("{file_id:?}");

let file_id = file_id::get_high_res_file_id(file.path()).unwrap();
println!("{file_id:?}");

依赖关系

~0–12MB
~93K SLoC