此问题已经在这里有了答案:
哪种是在Linux中清理或清空文件的最佳方法?我必须将文件压缩(tar)到存档中,然后清理/清空它;这就是我所做的,并且可以正常工作:
tar -zcvf /mnt/file.tar.gz /mnt/file.txt > /dev/null 2>&1
echo "" > /mnt/file.txt
我正在用echo做,也许有更好的方法了?
谢谢
只需截断它:
truncate -s 0 file
有多种方法可以做到这一点:
我们假定我们的文件名为access.log,它在当前目录中:
1。
: > access.log
2。
true > access.log
3。
cat /dev/null > access.log
4。
cp /dev/null access.log
5。
dd if=/dev/null of=access.log
6。
echo -n "" > access.log
7。
echo -n > access.log
一个选项是:
touch passbook.txt
在Linux中制作空文件的另一种方法是键入以下命令:
> file-name-here
echo '' > filename
ls filename
file filename
EDIT(压缩文件并取消实际文件的大小:)>]从@oguz ismail的正确答案中汲取灵感,我在这里也将truncate
选项与文件的zip一起使用。
tar -zcvf file.tar.gz file.txt && truncate -s 0 file.txt
我将使用
> /mnt/file.txt
比echo
容易一点。
tar czvf /tmp/empty.tar.gz --files-from=/dev/null --overwrite