在linux下如何删除超大文件
文件状态主要情况: 文件当前未被使用、文件当前被打开读取数据和文件当前正在被打开写入数据。
本文下面行为的目的是删除大文件,释放文件占用的空间。
1.删除未被使用的文件
rm xxx
2.清空文件
尝试使用echo重定向清空文件,文件inode信息不变,
当进程写入文件有缓冲区时,可以使用该命令清空大文件。
echo > xxx
3.重启当前正在写入文件的进程
Linux系统一个文件追加写入可以多进程写入,但是想要重置清空文件,只能是第一个打开文件的进程。
如果文件一直不被释放,就需要关闭进程,重新启动程序。
kill && rm xxx && start
4.备注
长时间写入文件,大小不可控,考虑使用带缓冲区的方式写入;
使用重定向考虑使用>>追加代替
echo > ttt.out
start_p >> ttt.out
# 代替掉
start_p > ttt.out