加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

我可以使用什么Unix命令来强制限制文件夹中的100个文件?

发布时间:2020-12-15 18:31:37 所属栏目:安全 来源:网络整理
导读:在限制为100个文件后,我想删除目录中最旧的文件.换句话说,我想确保目录中不存在超过100个文件,如果超出限制,则删除限制后的最旧文件.我不只是想删除超过x天的文件,因为如果这是在cronjob上运行,最终所有文件都将被删除. 我想如果我要编程这个,伪代码将是: l
在限制为100个文件后,我想删除目录中最旧的文件.换句话说,我想确保目录中不存在超过100个文件,如果超出限制,则删除限制后的最旧文件.我不只是想删除超过x天的文件,因为如果这是在cronjob上运行,最终所有文件都将被删除.

我想如果我要编程这个,伪代码将是:

list = dir.getFiles()
list.sortByDate()
deleteList = list.getSubList(100,end) // from,to
deleteAll(deleteList)

那么适当的Unix命令是什么?我想find会以某种方式涉及-exec参数,但我不确定排序/限制方面.

发现不应该是必要的.如果你先去正确的目录,
rm -f `ls -rt | head -n -100`

指定路径

rm -f `ls -rt /path/to/my/dir | head -n -100`

而对于cron(在Ubuntu上!)

/bin/rm -f `/bin/ls -rt /path/to/my/dir | /usr/bin/head -n -100`

可以使用例如确定命令路径来确定命令路径.

which ls

最后,如果文件名包含空格,则应引用ls -Q然后将其发送到xargs

/bin/ls -Qrt /path/to/my/dir | /usr/bin/head -n -100 | /usr/bin/xargs /bin/rm -f

(在Ubuntu上测试,为了你的测试,用echo替换rm -f以查看要删除的内容)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读