学习笔记,仅供参考,有错必纠
参考自:《R的极客理想》-- 张丹
计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据,不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。
#当前的目录
getwd()
#查看当前目录的子目录
list.dirs()
#查看当前目录的子目录和文件
dir()
#查看指定目录的子目录和文件
dir(path = "C:/Users/goatbishop/Desktop/data")
#只列出以字母t开头的子目录或文件
dir(path = "C:/Users/goatbishop/Desktop/data", pattern = "^t")
#列出目录下所有的目录和文件, 包括隐藏文件
dir(path = "C:/Users/goatbishop/Desktop/data", all.files = TRUE)
#查看当前目录的子目录和文件的另一种方式
list.files()
list.files(".", all.files = TRUE)
# 在当前目录下,新建一个目录
dir.create("test")
#查看当前目录的子目录
list.dirs()
#创建一个3级子目录./a1/b2/c3
#直接创建会无法创建成功
dir.create(path = "a1/b2/c3")
#需要用递归来创建
dir.create(path = "a1/b2/c3", recursive = TRUE)
#查看目录结构
system("tree")
file.exists(".") #TRUE
file.exists("./a1/b2") #TRUE
file.exists("./sdf") #FALSE
#将目录test重命名为test1
file.rename("test", "test1")
#递归删除test1目录
unlink("test1", recursive = TRUE)
#递归删除a1目录
unlink("a1", recursive = TRUE)
#递归删除test1目录
unlink("test1", recursive = TRUE)
#递归删除a1目录
unlink("a1", recursive = TRUE)
#拼接目录字符串
file.path("p1", "p2", "p3") #"p1/p2/p3"
getwd() #"F:/MyStudio/Rstudio/StudyProject"
#获取最底层的子目录名
basename(getwd()) #"StudyProject"
#检查文件是否存在
file.exists(".gitignore") #TRUE
file.exists("test.txt") #FALSE
#查看文件完整信息
file.info(".gitignore")
#输出start
size isdir mode mtime ctime atime
.gitignore 44 FALSE 666 2020-08-09 09:30:52 2020-08-09 09:30:52 2020-08-09 09:30:52
exe
.gitignore no
#输出end
#判断是否是目录
file_test("-d", ".gitignore") #FALSE
file_test("-d", "input") #TRUE
#判断是否是文件
file_test("-f", ".gitignore") #TRUE
file_test("-f", "input") #FALSE
dir() #"input" "output" "R" "StudyProject.Rproj"
#创建一个空文件
file.create("A.txt")
#创建一个有内容的文件
cat("I'm fileB\n", file = "B.txt")
#读取文件
readLines("A.txt") #character(0)
readLines("B.txt") #"I'm fileB"
#把B.txt的内容重复3次, 添加到A.txt
file.append("A.txt", rep("B.txt", 3)) #TRUE TRUE TRUE
readLines("A.txt") #"I'm fileB" "I'm fileB" "I'm fileB"
#把A.txt复制到文件C.txt
file.copy("A.txt", "C.txt") #TRUE
readLines("C.txt") #"I'm fileB" "I'm fileB" "I'm fileB"
#文件重命名
file.rename("A.txt", "Arename.txt")
#删除文件
file.remove("Arename.txt", "B.txt", "C.txt")
#打印R软件安装目录
R.home() #"F:/software/R-3.6.2"
#打印R软件bin的目录
R.home(component = "bin") #"F:/software/R-3.6.2/bin/x64"
#打印R软件doc的目录
R.home(component = "doc") #"F:/software/R-3.6.2/doc"
#打印核心包的目录
.Library #"F:/software/R-3.6.2/library"
#打印所有包的存放目录
.libPaths() #"F:/software/R-3.6.2/library"
#打印pryr包的存放目录
system.file(package = "pryr") #"F:/software/R-3.6.2/library/pryr"