为在 R 中创建的文件设置文件权限

Setting file permissions for created files in R

我在 Linux 并希望与同事共享 R 输出,同时允许他们覆盖我的文件。但是,当我写文件时,该组的权限设置为只读,例如:

> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"

创建一个只能由我自己写入的文件。是否有一些我可以设置的选项,以便我写入的文件具有针对所有写入文件的方式(write.csvdata.table 等)自动设置权限 660

解决方案是使用 Sys.umask 设置 umask,如下所示。

# Before setting umask as in the question:
> write.csv(data.frame(a = 1:3), file = "/tmp/test.csv")
> file.mode("/tmp/test.csv")
[1] "644"
# Setting the umask results in succes:
Sys.umask("006")
> write.csv(data.frame(a = 1:3), file = "/tmp/test2.csv")
> file.mode("/tmp/test2.csv")
[1] "660"