Compared to [file.info] the full results of a stat(2) system call are returned and some columns are returned as S3 classes to make manipulation more natural. On systems which do not support all metadata (such as Windows) default values are used.

file_info(path, fail = TRUE, follow = FALSE)

file_size(path, fail = TRUE)

Arguments

path

A character vector of one or more paths.

fail

Should the call fail (the default) or warn if a file cannot be accessed.

follow

If TRUE, symbolic links will be followed (recursively) and the results will be that of the final file rather than the link.

Value

A data.frame with metadata for each file. Columns returned are as follows.

path

The input path, as a fs_path() character vector.

type

The file type, as a factor of file types.

size

The file size, as a fs_bytes() numeric vector.

permissions

The file permissions, as a fs_perms() integer vector.

modification_time

The time of last data modification, as a POSIXct datetime.

user

The file owner name - as a character vector.

group

The file group name - as a character vector.

device_id

The file device id - as a numeric vector.

hard_links

The number of hard links to the file - as a numeric vector.

special_device_id

The special device id of the file - as a numeric vector.

inode

The inode of the file - as a numeric vector.

block_size

The optimal block for the file - as a numeric vector.

blocks

The number of blocks allocated for the file - as a numeric vector.

flags

The user defined flags for the file - as an integer vector.

generation

The generation number for the file - as a numeric vector.

access_time

The time of last access - as a POSIXct datetime.

change_time

The time of last file status change - as a POSIXct datetime.

birth_time

The time when the inode was created - as a POSIXct datetime.

See also

dir_info() to display file information for files in a given directory.

Examples

.old_wd <- setwd(tempdir()) write.csv(mtcars, "mtcars.csv") file_info("mtcars.csv")
#> path type size permissions modification_time user group device_id #> 1 mtcars.csv file 1.74K rw-r--r-- 2020-04-01 16:51:53 runner staff 16777220 #> hard_links special_device_id inode block_size blocks flags generation #> 1 1 0 12891431492 4096 8 0 0 #> access_time change_time birth_time #> 1 2020-04-01 16:51:53 2020-04-01 16:51:53 2020-04-01 16:51:53
# Files in the working directory modified more than 20 days ago files <- file_info(dir_ls()) files$path[difftime(Sys.time(), files$modification_time, units = "days") > 20]
#> character(0)
# Cleanup file_delete("mtcars.csv") setwd(.old_wd)