Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从linux终端删除日志文件的内容?_Linux_Terminal - Fatal编程技术网

如何从linux终端删除日志文件的内容?

如何从linux终端删除日志文件的内容?,linux,terminal,Linux,Terminal,我在服务器上有一个名为writelog的日志文件,大约是2GB 我想从文件中删除第一行100000。我可以打开文件并删除这些行,但由于文件的大小,我需要永远下载它 那么,是否可以从Linux终端执行此操作?如果是,如何操作?如果您正在运行Linux服务器,则可以使用ssh: ssh username@mydomain.com sed -i '1,100000d' /path/to/logfile 最好保留最后1000行: mv writelog writelog.bak tail -1000

我在服务器上有一个名为
writelog
的日志文件,大约是
2GB

我想从文件中删除第一行
100000
。我可以打开文件并删除这些行,但由于文件的大小,我需要永远下载它


那么,是否可以从Linux终端执行此操作?如果是,如何操作?

如果您正在运行Linux服务器,则可以使用
ssh

ssh username@mydomain.com sed -i '1,100000d' /path/to/logfile

最好保留最后1000行:

mv writelog writelog.bak
tail -1000 writelog.bak > writelog

您应该为该文件启用
logrotate
()。然后,系统将确保文件不会超出比例。

如果要清除整个文件,快速方法是

cat/dev/null>writelog


另请参见。

您可以看到@Bala,这取决于您的shell设置。。。更好的方法是:
:>| writelog
覆盖
-C
/
noclobber
选项。。。在C shell中,这是:
:>!写日志
。。。
是内置的“null命令”,它不执行任何操作,不输出任何内容,并且始终退出0。