如何从linuxterminal删除日志文件的内容?

我有一个服务器上的日志文件叫writelog2GB

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

那么,是否可以从Linuxterminal做到这一点? 如果是的话如何?

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

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

如果你想快速清除整个文件

cat /dev/null > writelog

另请参阅unix.com上的此主题 。

保留最后的1000行可能会更好:

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

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