file.info
位于 base
包(package)。 说明
用于提取有关用户文件系统上的文件信息的实用函数。
用法
file.info(..., extra_cols = TRUE)
file.mode(...)
file.mtime(...)
file.size(...)
参数
... |
包含文件路径的字符向量。 Tilde-expansion 已完成:参见 |
extra_cols |
逻辑:返回所有列,而不仅仅是前六列。 |
细节
‘file’ 的构成是 OS-dependent,但包含目录。 (但是,在 Windows 上,目录名称不得包含尾部反斜杠或斜杠。)另请参阅帮助中有关不区分大小写的文件系统的 file.exists
的部分。
文件 ‘mode’ 遵循 POSIX 约定,给出三个八进制数字,分别总结文件所有者、所有者组和任何人的权限。每个数字都是读 (4)、写 (2) 和执行/搜索 (1) 权限的逻辑或。
请参阅files 了解如何解释带有标记编码的文件路径。
- 在 UNIX 上:
-
在大多数系统上都遵循符号链接,因此给出的是有关链接指向的文件的信息,而不是有关链接的信息。
- 在 Windows 上:
-
文件模式可能仅在 NTFS 文件系统上有用,并且似乎所有三个数字都指文件的所有者。执行/搜索位是为目录和基于文件扩展名的文件设置的(例如,‘。EXE文件', '.com', '.cmd' 和 '。蝙蝠’文件)。
file.access
将提供更可靠的读/写访问可用性视图R过程。可以使用在当前区域设置中无效的 UTF-8 编码文件名。
遵循连接点和符号链接,因此给出有关链接指向的文件/目录的信息,而不是有关链接的信息。
值
对于 file.info()
,具有行名称、文件名和列的 DataFrame
size |
double:文件大小(以字节为单位)。 |
isdir |
逻辑:文件是目录吗? |
mode |
类 |
mtime, ctime, atime |
类 |
- 在 UNIX 上:
-
- uid:
-
整数,文件所有者的用户 ID。
- 组号:
-
整数,文件组的组 ID。
- 名称:
-
字符,
uid
解释为用户名。 - 姓名:
-
字符,
gid
解释为组名称。
未知的用户和组名称将为
NA
。 - 仅在 Windows 上:
-
- EXE文件:
-
指示可执行文件类型的字符。可能的值为
"no"
、"msdos"
、"win16"
、"win32"
、"win64"
和"unknown"
。请注意,文件(例如脚本文件)可以根据模式位来执行,但在这个意义上是不可执行的。
如果 extra_cols
为 false,则仅返回前六列:因为这些都可以从单个 C 系统调用中找到,所以速度会更快。 (但是,正确配置的系统将使用“名称服务缓存守护进程”来加速名称查找。)
不存在或不可读文件的条目将为 NA
。
uid
、 gid
、 uname
和 grname
列可能无法在非 POSIX 类 Unix 系统上提供,并且不会在 Windows 上提供。
三个文件时间的含义取决于操作系统和文件系统。在 Windows 本机文件系统上,ctime
是文件创建时间(大多数类 Unix 文件系统上不会记录该时间)。 “文件访问”和“上次访问时间”的含义取决于系统。
文件时间的分辨率取决于操作系统和文件系统的类型。现代文件系统通常以微秒或更高的精度记录时间:值得注意的例外是 macOS 上的 HFS+(以秒为单位记录)和较旧的 FAT 系统上的修改时间(以 2 秒的增量记录)。请注意,"POSIXct"
时间默认以整秒为单位打印:要更改此设置,请参阅 strftime
。
file.mode()
、 file.mtime()
和 file.size()
是快速便捷的包装器,仅返回其中一列。
注意
一些(现在较旧的)类似 UNIX 的系统允许创建超过 2Gb 的文件,但不能由stat
系统调用。此类文件可能会显示为不可读(并且很可能无法被任何人读取)R的输入函数)。
例子
ncol(finf <- file.info(dir())) # at least six
finf # the whole list
## Those that are more than 100 days old :
finf <- file.info(dir(), extra_cols = FALSE)
finf[difftime(Sys.time(), finf[,"mtime"], units = "days") > 100 , 1:4]
file.info("no-such-file-exists")
## E.g., for R-core, in a R-devel version:
if(Sys.info()[["sysname"]] == "Linux")
sort(file.mtime(file.path(R.home("bin"),
c("",
file.path(c("", "exec"), "R")))
))
也可以看看
Sys.readlink
了解符号链接, files
、 file.access
、 list.files
和 DateTimeClasses
了解日期格式。
Sys.chmod
更改权限。
相关用法
- R file.path 构造文件路径
- R file.show 显示一个或多个文本文件
- R file.access 确定文件的可访问性
- R file.choose 交互式选择文件
- R files 文件操作
- R files2 目录和文件权限的操作
- R findInterval 查找区间数或索引
- R find.package 查找套餐
- R formals 访问和操纵形式参数
- R funprog 函数式编程语言中常见的高阶函数
- R formatDL 格式说明列表
- R force 强制评估论证
- R format 以通用格式编码
- R factor 因子
- R function 函数定义
- R formatC 使用 C 样式格式进行格式化
- R format.pval 设置 P 值格式
- R forceAndCall 调用带有强制参数的函数
- R format.info 格式(.)信息
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Extract File Information。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。