在 Linux 中“清空日志文件”通常指保留文件本身,但把内容清空(不删除文件,避免服务因找不到文件而报错)。下面按常见场景说明。
truncatetruncate -s 0 /var/log/messages
-s 0:把文件大小设为 0> /var/log/messages
或
: > /var/log/messages
效果同上,简单高效。
cat /dev/nullcat /dev/null > /var/log/messages
经典写法,作用一样。
如果是系统日志(如 /var/log/syslog、/var/log/messages):
logrotate -f /etc/logrotate.conf
或针对单个配置:
logrotate -f /etc/logrotate.d/rsyslog
✅ 优点:
如果是 journalctl 日志:
sudo journalctl --vacuum-time=1s
或彻底清空:
sudo journalctl --flush
sudo rm -rf /var/log/journal/*
sudo systemctl restart systemd-journald
find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
⚠️ 不要直接 rm 日志文件
✅ 正确顺序:
logrotate你可以告诉我:
/var/log/nginx/access.log)我可以给你最合适的一条命令。