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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。