![Linux:尽管磁盘空间不足,仍可压缩文件](https://linux22.com/image/1283326/Linux%EF%BC%9A%E5%B0%BD%E7%AE%A1%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3%EF%BC%8C%E4%BB%8D%E5%8F%AF%E5%8E%8B%E7%BC%A9%E6%96%87%E4%BB%B6.png)
我使用 Linux。前段时间我编写了一个截图程序,现在我有 9 GB 的截图,60000 张 JPEG,其中大多数看起来都很相似,还有 300 MB 的剩余磁盘空间。
在空间有限的情况下,有哪些好方法可以在后台开始批量压缩它们(或全部)?
一次性压缩整个文件夹的问题在于我没有足够的磁盘空间。看来这个过程需要分成几个部分。
因此也许是这样的:
- 获取所有文件的列表
- 将一部分文件(例如,20 个)添加到压缩档案中。
- 完成并成功保存后,删除文件块
- 处理下一个块。
答案1
如果要压缩的文件位于目录中<directory>
,并且要创建的存档是<archive>
,您可以:
find <directory> -type f -exec zip -g <archive> {} \; -exec rm {} \;
或者使用 7za:
find <directory> -type f -exec 7za a <archive> {} \; -exec rm {} \;
答案2
我自己找到了答案,我用一点 Python 语言做了以下事情:http://pastebin.com/w6mSmFTW