Trait std::os::linux::fs::MetadataExt

1.1.0 · source ·
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

特定于操作系统的 fs::Metadata 扩展。

Required Methods§

source

fn as_raw_stat(&self) -> &stat

👎Deprecated since 1.8.0: other methods of this trait are now preferred

获得对底层 stat 结构的引用,该结构包含操作系统返回的原始信息。

返回的 stat 的内容在 Unix 平台上是不一致的。 os::unix::fs::MetadataExt trait 包含原始统计信息中包含的跨 Unix 抽象。

Examples
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
1.8.0 · source

fn st_dev(&self) -> u64

返回此文件所在的设备 ID。

Examples
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
1.8.0 · source

fn st_ino(&self) -> u64

返回索引节点号。

Examples
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
1.8.0 · source

fn st_mode(&self) -> u32

返回文件类型和模式。

Examples
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

返回文件的硬链接数。

Examples
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
1.8.0 · source

fn st_uid(&self) -> u32

返回文件所有者的用户标识。

Examples
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
1.8.0 · source

fn st_gid(&self) -> u32

返回文件所有者的组 ID。

Examples
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
1.8.0 · source

fn st_rdev(&self) -> u64

返回此文件表示的设备 ID。仅与特殊文件有关。

Examples
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
1.8.0 · source

fn st_size(&self) -> u64

返回文件的大小 (如果是常规文件或符号链接),以字节为单位。

符号链接的大小是它包含的路径名的长度,没有终止的空字节。

Examples
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
1.8.0 · source

fn st_atime(&self) -> i64

返回文件的最后访问时间,以自 Unix 纪元以来的秒数为单位。

Examples
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
1.8.0 · source

fn st_atime_nsec(&self) -> i64

返回文件的最后访问时间,自 st_atime 起以纳秒为单位。

Examples
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
1.8.0 · source

fn st_mtime(&self) -> i64

返回文件的最后修改时间,以自 Unix 纪元以来的秒数为单位。

Examples
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
1.8.0 · source

fn st_mtime_nsec(&self) -> i64

返回文件的最后修改时间,自 st_mtime 起以纳秒为单位。

Examples
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
1.8.0 · source

fn st_ctime(&self) -> i64

返回文件的最后状态更改时间,以自 Unix 纪元以来的秒数为单位。

Examples
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
1.8.0 · source

fn st_ctime_nsec(&self) -> i64

返回文件的最后状态更改时间,自 st_ctime 起以纳秒为单位。

Examples
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
1.8.0 · source

fn st_blksize(&self) -> u64

返回有效文件系统 I/O 的 “preferred” 块大小。

Examples
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
1.8.0 · source

fn st_blocks(&self) -> u64

返回分配给文件的块数,以 512 字节为单位。

Examples
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

Implementors§