文档章节

ruby删除指定目录文件大小超过限额

lucifercn
 lucifercn
发布于 2014/06/05 15:16
字数 105
阅读 94
收藏 0
#!/usr/bin/ruby -w 
#author: caoqing
#date: 06-04-2014

require 'fileutils'

# target directory
d = "D:/test"
# size of file, MB
quota = 4 * 1024 * 1024

dir = Dir.new("#{d}")
entries = dir.entries

# delete "." and ".."
entries.delete_if { |entry| entry =~ /^\./}
# convert the relative path to the full path
entries.map! { |entry| File.join(dir.path, entry) }
# maintain only the type of file
entries.delete_if { |entry| !File.file?(entry) }
# p entries

# calculate the file size
total_size = entries.inject(0) { |total, entry| total + File.size(entry)}
# p total_size
# p quota
# p total_size.class

# delete file if condition is satisfied
FileUtils.rm_rf(Dir.glob("#{d}/*")) if total_size > quot


© 著作权归作者所有

共有 人打赏支持
lucifercn
粉丝 14
博文 71
码字总数 63041
作品 0
深圳
程序员
私信 提问
Linux常用命令(九)磁盘配额管理

Linux常用命令(九)磁盘配额管理 一、磁盘配额概述 1、磁盘配额的作用范围 quota软件设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其它未设置配额的文件系统时,将不会受...

侯良金
2017/09/20
0
0
ext和xfs格式文件系统的磁盘配额

一:ext格式的文件系统磁盘配额,这里以案例的形式来解释ext格式的文件系统磁盘配额 案例1; parted -s /dev/sdd mklabel gpt //指定sdd硬盘的格式为gpt parted /dev/sdd mkpart primary 1 1G...

柠檬琉璃H
2017/11/25
0
0
df du 命令和磁盘分区介绍的用法介绍

4.1 df 命令 4.2 du 命令 4.3 磁盘分区 4.1 df命令 Linux中 命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空...

WiFi362227
2017/11/03
0
0
Proftpd(MySQL+Quotas)

[font=Courier New]1、什么是ProFTPD;ProFTPD 是一个FTP服务器程序,和vsftpd、wuftp 类似的FTP服务器,他们最终实现功能和目的都是一样的,都是为了传输文件; 2、ProFTPD的下载 proftpd-...

红薯
2009/05/06
840
0
第十章 文件查找与打印文件列表:find命令

第十章 文件查找与打印文件列表:find命令 名字解释 find命令 用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为查找的目录名。如果使用该命令时,不设置任何参数,则find命令将...

506554897
06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
24分钟前
3
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0
命令参数的三大风格:Posix、BSD、GNU

今天读到命令行中参数的风格有三大类,即Unix/Posix、BSD、GNU。分别有以下特征: Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。 BSD风格,即命令后的参数,可...

大别阿郎
昨天
2
0
PHP生成图片验证码

PHP生成图片验证码 /** * PHP生成图片验证码 * Class VerifyImage */class VerifyImage{ // 生成随机字串 private $verifyCode; // 图片对象 private $image; /**...

DrChenXX
昨天
1
0
纹理与表面细节添加方法---OpenGL纹理函数

OpenGL线纹理函数 OpenGL表面纹理函数 OpenGL体纹理函数 OpenGL纹理图案的颜色选项 OpenGL纹理映射选项 OpenGL纹理环绕 复制帧缓存中的OpenGL纹理图案 OpenGL纹理坐标数组 OpenGL纹理图案命名...

中国龙-扬科
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部