什么是在Linux中清空或清理一个文件的最佳方法?我需要将一个文件压缩成一个存档,然后清空/清理它;这是我所做的事情,它能正常工作:
tar -zcvf /mnt/file.tar.gz /mnt/file.txt > /dev/null 2>&1
echo "" > /mnt/file.txt
我正在使用echo来完成这个操作,可能有更好的方法吗?
谢谢。
有多种方法可以实现这一点:
我们假设我们的文件名为 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
只需截断它:
truncate -s 0 file
truncate
选项,并将其压缩。
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
我找到了一种方法在这里
一种选择是:
touch passbook.txt
> file-name-here
echo '' > filename
ls filename
file filename
touch
命令将只会更新文件的时间戳。如果文件不存在,touch
命令将会创建一个空文件,但这不是问题的关键。 - user1010997