pee*_*dee 82 bash shell truncate
我正在尝试编写一个Unix脚本,它将截断/清空一个文件,该文件在达到3GB空间时会被应用程序连续写入/打开.我知道下面的命令会这样做:
cp /dev/null [filename]
Run Code Online (Sandbox Code Playgroud)
但是我将在生产环境中自动将其作为一个cron作业运行 - 只需在此处发布,看看你们在做类似的事情时是否遇到任何问题.
che*_*ner 110
只是为了添加另一个答案,
: > filename
Run Code Online (Sandbox Code Playgroud)
: 是bash中的无操作,所以这基本上只是打开文件进行写入(当然会截断文件),然后立即关闭它.
编辑:作为shellter评论,你实际上并不需要一个命令来进行重定向:
$ echo foo > foo.txt
$ cat foo.txt
foo
$ > foo.txt
$ cat foo.txt
$
Run Code Online (Sandbox Code Playgroud)
单独的简单重定向将清除文件.
Ric*_*mon 63
我在debian上使用了以下命令
truncate -s 0 filename
Run Code Online (Sandbox Code Playgroud)
Don*_*son 11
这对我来说似乎很合理.当然,Unix会让你以50种不同的方式做到这一点.例如,
echo -n "" >filename
cat /dev/null >filename
Run Code Online (Sandbox Code Playgroud)