Bash
如何使用 find 命令清除所有文件的內容
是否有 使用 find 命令清除所有**“.log”文件內容的簡單步驟。**
目前我正在使用“echo -n > filename.log”我已經嘗試過 echo -n > /var/application-logs/*.log 但它不起作用..
有沒有更好的方法來清除多個文件的內容?
要清除所有
find /var/application-logs -type f -name "*.log"
找到的內容,請使用以下命令:find /var/application-logs -type f -name "*.log" -exec tee {} \; </dev/null
如果您的 find 版本支持它,請使用tee
+
而不是\;
對所有文件使用單次執行。或者,如果 shell glob 就足夠了:tee /var/application-logs/*.log </dev/null
如果要阻止日誌增長,請使用
logrotate
. 您不應該僅僅因為它們已滿就盲目地擦除它們。許多不同的發行版都有很好的HOWTO。或者,考慮使用系統日誌伺服器,例如
rsyslog
或syslog-ng
。