文档章节

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

lucifercn
 lucifercn
发布于 2014/06/05 15:16
字数 105
阅读 94
收藏 0
点赞 0
评论 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

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

Python操作文件目录

编程语言对文件系统的操作是一项必不可少的功能,各种编程语言基本上都有对文件系统的操作,最简洁的莫过于linux里面shell的操作了,其次,则是python,ruby等动态语言的操作,那么,今天散仙...

yzbty23 ⋅ 2015/11/18 ⋅ 0

PHP $_FILES详解

文件上传表单 $_FILES数组内容如下: $_FILES['myFile']['name'] 客户端文件的原名称。 $_FILES['myFile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。 $_FILE...

ys-l ⋅ 2010/01/01 ⋅ 0

df du 命令和磁盘分区介绍的用法介绍

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

WiFi362227 ⋅ 2017/11/03 ⋅ 0

第十章 文件查找与打印文件列表:find命令

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

506554897 ⋅ 05/14 ⋅ 0

PHP中的$_FILES详解

在上传图片test1.png后,打印$_FILES数组,打印结果如下 array (size=1) 'brand_logo' => array (size=5) 'name' => string 'test1.png' (length=9) '...

xiao酒窝 ⋅ 2017/04/14 ⋅ 0

Proftpd(MySQL+Quotas)

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

红薯 ⋅ 2009/05/06 ⋅ 0

命令行工具:文件目录操作

文件和目录操作 改变目录 :到指定目录 :到父目录 :到上次所在目录 :到home目录 :到home目录下指定文件夹 :到root目录下指定文件夹 文件操作 :新建文件 :删除文件 :复制文件 :递归地...

米乐乐果 ⋅ 2017/05/28 ⋅ 0

PHP 中 $_FILES

$FILES: 经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTPPOSTFILES 数组(依然有效,但反对使用)。详细信息可参阅 POST 方法上传。 $FILES数组内容如下: $FILES['myFile'][...

chenzy526 ⋅ 2015/06/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部