pub trait MetadataExt {
Show 17 methods
// Required methods
fn as_raw_stat(&self) -> &stat;
fn st_dev(&self) -> u64;
fn st_ino(&self) -> u64;
fn st_mode(&self) -> u32;
fn st_nlink(&self) -> u64;
fn st_uid(&self) -> u32;
fn st_gid(&self) -> u32;
fn st_rdev(&self) -> u64;
fn st_size(&self) -> u64;
fn st_atime(&self) -> i64;
fn st_atime_nsec(&self) -> i64;
fn st_mtime(&self) -> i64;
fn st_mtime_nsec(&self) -> i64;
fn st_ctime(&self) -> i64;
fn st_ctime_nsec(&self) -> i64;
fn st_blksize(&self) -> u64;
fn st_blocks(&self) -> u64;
}
Available on Linux only.
Expand description
👎Deprecated since 1.8.0: other methods of this trait are now preferred
获得对底层 stat
结构的引用,该结构包含操作系统返回的原始信息。
返回的 stat
的内容在 Unix 平台上是不一致的。
os::unix::fs::MetadataExt
trait 包含原始统计信息中包含的跨 Unix 抽象。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
let stat = meta.as_raw_stat();
Ok(())
}
Run
返回此文件所在的设备 ID。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_dev());
Ok(())
}
Run
返回索引节点号。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_ino());
Ok(())
}
Run
返回文件类型和模式。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_mode());
Ok(())
}
Run
返回文件的硬链接数。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_nlink());
Ok(())
}
Run
返回文件所有者的用户标识。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_uid());
Ok(())
}
Run
返回文件所有者的组 ID。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_gid());
Ok(())
}
Run
返回此文件表示的设备 ID。仅与特殊文件有关。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_rdev());
Ok(())
}
Run
返回文件的大小 (如果是常规文件或符号链接),以字节为单位。
符号链接的大小是它包含的路径名的长度,没有终止的空字节。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_size());
Ok(())
}
Run
返回文件的最后访问时间,以自 Unix 纪元以来的秒数为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_atime());
Ok(())
}
Run
返回文件的最后访问时间,自 st_atime
起以纳秒为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_atime_nsec());
Ok(())
}
Run
返回文件的最后修改时间,以自 Unix 纪元以来的秒数为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_mtime());
Ok(())
}
Run
返回文件的最后修改时间,自 st_mtime
起以纳秒为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_mtime_nsec());
Ok(())
}
Run
返回文件的最后状态更改时间,以自 Unix 纪元以来的秒数为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_ctime());
Ok(())
}
Run
返回文件的最后状态更改时间,自 st_ctime
起以纳秒为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_ctime_nsec());
Ok(())
}
Run
返回有效文件系统 I/O 的 “preferred” 块大小。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_blksize());
Ok(())
}
Run
返回分配给文件的块数,以 512 字节为单位。
use std::fs;
use std::io;
use std::os::linux::fs::MetadataExt;
fn main() -> io::Result<()> {
let meta = fs::metadata("some_file")?;
println!("{}", meta.st_blocks());
Ok(())
}
Run