如何从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。