R语言- 目录权限和Size 检查

简介: 本文分享了两种根据提供的路径检查系统文件大小的实现方法(单循环、并行),以供参考学习

1、单线程loop

### 1、check Files
data.use[["Permision"]] <- unlist(lapply(data.use[["Path"]],function(x) R.utils::fileAccess(pathname = x, mode=4)))
data.use[["DIR_Size"]] <- unlist(lapply(data.use[["Path"]],function(x) strsplit(suppressWarnings(toString(system(paste('du -BG ',x,sep = " "), ignore.stderr = T ,intern = T))),"\t")[[1]][1]))
### 2、summary
cat("Total Size: ",sum(as.numeric(gsub("G","",data.use[["DIR_Size"]])),na.rm = T)/1024,"T","\n")
cat("Permission ERR: ",sum(abs(data.use[["Permision"]])),"\n")

2、多线程loop

library(future.apply);plan('multisession', workers = 20);options(future.globals.maxSize = 100 * 1024^3)
data.use <- readxl::read_xlsx(</your file/>) %>% mutate(Path = </rename column/>)
### 1、check Files
data.use[["Permision"]] <- unlist(future_lapply(data.use[["Path"]],function(x){R.utils::fileAccess(pathname = x, mode=4)}))
data.use[["DIR_Size(M)"]]  <- unlist(future_lapply(data.use[["Path"]],function(x){strsplit(suppressWarnings(toString(system(paste('du -BM ',x,sep = " "), ignore.stderr = T ,intern = T))),"\t")[[1]][1]}))
data.use[["DIR_Size(G)"]]  <- paste0(round(as.numeric(gsub("M","",data.use[["DIR_Size(M)"]]))/1024,2),"G")
data.use[["DIR_Size(T)"]]  <- paste0(round(as.numeric(gsub("M","",data.use[["DIR_Size(M)"]]))/(1024^2),2),"T")
### 2、summary
cat("Total Size: ",sum(as.numeric(gsub("G","",data.use[["DIR_Size(G)"]])),na.rm = T)/1024,"T","\n")
cat("Permission ERR: ",sum(abs(data.use[["Permision"]])),"\n")
### 3、...save output
data.use %>% write.table(</output file/>,sep = "\t",col.names = T,row.names = F,quote = F)
目录
相关文章
|
4月前
|
算法 Java Linux
Linux下文件增删改查定位压缩操作与权限所属用户
Linux下文件增删改查定位压缩操作与权限所属用户
63 0
|
30天前
|
Linux Go
在Linux中,文件和目录的权限有何作用以及如何修改?
在Linux中,文件和目录的权限有何作用以及如何修改?
|
2月前
|
存储 Linux 数据安全/隐私保护
Linux用户和用户组,useradd test2 -g itcast -d /home/test222 设置分组和存放路径
Linux用户和用户组,useradd test2 -g itcast -d /home/test222 设置分组和存放路径
|
4月前
|
数据安全/隐私保护
kali下设置root权限(包含很多技巧)
kali下设置root权限(包含很多技巧)
|
安全 Linux 数据安全/隐私保护
Linux文件访问权限检查与修改:基于access函数的实现
在Linux系统中,文件访问权限是非常重要的概念,它决定了用户对文件的读、写和执行权限。为了确保文件安全和数据保护,我们经常需要检查和修改文件的访问权限。本文将详细介绍Linux下基于`access`函数的文件访问权限检查和修改方法,并提供代码示例,帮助读者深入了解文件权限管理。
495 0
|
文字识别 Oracle 关系型数据库
如果$GRID_HOME或$GRID_BASE或u01目录下的所有文件权限被人为误操作修改了,那么如何来修复该权限问题?
如果$GRID_HOME或$GRID_BASE或u01目录下的所有文件权限被人为误操作修改了,那么如何来修复该权限问题?
400 0
|
Linux Go
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
|
Linux 数据库
linux中的find查找文件或者目录、locate快速定位文件路径linux中的chgrp改变所属组、修改bigbig.txt文件所属主用户拥有读写权限,并使其他用户具有写执行权限
linux中的find查找文件或者目录、locate快速定位文件路径linux中的chgrp改变所属组、修改bigbig.txt文件所属主用户拥有读写权限,并使其他用户具有写执行权限
linux中的find查找文件或者目录、locate快速定位文件路径linux中的chgrp改变所属组、修改bigbig.txt文件所属主用户拥有读写权限,并使其他用户具有写执行权限
|
安全 Linux Shell
让我带你一起了解一下 ls -l 命令输出的内容都有哪些意义,以及文件权限如何调整
让我带你一起了解一下 ls -l 命令输出的内容都有哪些意义,以及文件权限如何调整
81 0