清空linux bash中的文件[重复]

问题描述 投票:0回答:5

此问题已经在这里有了答案:

哪种是在Linux中清理或清空文件的最佳方法?我必须将文件压缩(tar)到存档中,然后清理/清空它;这就是我所做的,并且可以正常工作:

tar -zcvf /mnt/file.tar.gz /mnt/file.txt > /dev/null 2>&1

echo "" > /mnt/file.txt

我正在用echo做,也许有更好的方法了?

谢谢

linux bash file echo
5个回答
2
投票

只需截断它:

truncate -s 0 file

2
投票

有多种方法可以做到这一点:

我们假定我们的文件名为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

1
投票

一个选项是:

touch passbook.txt

在Linux中制作空文件的另一种方法是键入以下命令:

> file-name-here
echo '' > filename
ls filename
file filename

1
投票

EDIT(压缩文件并取消实际文件的大小:)>]从@oguz ismail的正确答案中汲取灵感,我在这里也将truncate选项与文件的zip一起使用。

tar -zcvf file.tar.gz file.txt && truncate -s 0 file.txt


我将使用> /mnt/file.txtecho容易一点。


0
投票
tar czvf /tmp/empty.tar.gz --files-from=/dev/null --overwrite 
© www.soinside.com 2019 - 2024. All rights reserved.