file - 在 linux 上从头开始收缩(截断)文件

标签 file truncate shrink

在 Linux(和/或在其他 Unix 上)是否可以从一开始就“收缩”文件?我想将它用于持久队列(没有现有的实现适合我的需要)。从文件末尾,我想可以使用 truncate()。

最佳答案

如果您使用的是 ext4、xfs 或其他一些现代文件系统,从 Linux Kernel 3.15 开始,您可以使用:

#include <fcntl.h>

int fallocate(int fd, int mode, off_t offset, off_t len);

FALLOC_FL_COLLAPSE_RANGE旗帜。

http://manpages.ubuntu.com/manpages/disco/en/man2/fallocate.2.html

关于file - 在 linux 上从头开始收缩(截断)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098366/

相关文章:

javascript - JS中的图片放大缩小动画

file - 如何使用循环从 .txt 文件中删除行?

java - 使用java在ms word文件中创建任何一年的日历

objective-c - NS菜单项 : Truncation and setLineBreakMode

sql - 父表上的 TRUNCATE 导致删除外键为 NULL 值的子表记录

html - 强制同一行中的多个图像按比例调整大小,而不是将它们移动到新行

javascript - 在使用 javascript 上传之前缩小图像

java - 如何发送base64格式的大文件?

Android - 删除包含该文件的任何内容

django - 如何使用 truncatewords 在 Django 模板中添加省略号而不需要最后的空格?