Ubuntu日志文件清空的三種方式
前言
以下文的 清空日志 進行展開

日志是源源不斷的,不會影響主程序的使用
1. >
如果是 Linux Shell(比如 Bash 腳本):
# 清空文件內(nèi)容 > xx.txt
解釋:
> 是重定向符號
> 文件名 就是重定向一個空輸入到文件 → 清空內(nèi)容
核心知識點:如果用寫模式打開文件(w 模式),文件內(nèi)容會被立刻清空
比如在 Python 里:
# 打開文件,寫模式 'w',直接清空
with open('xx.txt', 'w') as f:
pass # 什么也不寫,相當于清空了
“w” 模式的特點是:
如果文件存在 → 打開并清空內(nèi)容
如果文件不存在 → 創(chuàng)建新文件
這是最快速、最徹底的清空方式
總結(jié):
>文件名 是 Linux/Unix 下最快的清空文件方法open('xx.txt', 'w')是 Python 中最快的清空方法
截圖如下:

2. truncate
使用 Shell 的 : > 文件
: > xx.txt
: 是 Bash 的內(nèi)建命令(空命令),什么也不做
: > 文件 也是清空文件的方法
本質(zhì)和 > 文件 類似,但更標準一些
希望更精細地控制文件大小,比如只保留前面一部分或者完全清零,可以用 truncate()
在 Python 中:
# 打開文件并截斷為0字節(jié)
with open('xx.txt', 'r+') as f:
f.truncate(0)
‘r+’ 是讀寫模式
truncate(0) → 直接把文件長度截斷為0
這種方法不會像 ‘w’ 模式那樣重建文件,只是調(diào)整原文件內(nèi)容到指定長度
優(yōu)點是:保持原文件的 inode 和權(quán)限不變

3. 其他
其他的清空方式如下:
rm xx.txt && touch xx.txt
刪除時可能丟失文件屬性(如權(quán)限、屬主)
刪除后再創(chuàng)建,inode 變化,對一些依賴 inode 的程序(如日志監(jiān)控)會出問題
到此這篇關(guān)于Ubuntu日志文件清空的三種方式的文章就介紹到這了,更多相關(guān)Ubuntu日志文件清空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何在Linux服務(wù)上管理Redis的啟動、重啟和關(guān)閉
Redis是一個高性能的開源鍵值對存儲數(shù)據(jù)庫,廣泛用于緩存、會話管理和實時數(shù)據(jù)處理等場景,本文將詳細介紹如何在Linux系統(tǒng)上啟動、重啟和關(guān)閉Redis服務(wù),并提供相關(guān)的配置和故障排除技巧,需要的朋友可以參考下2024-05-05
Linux環(huán)境下部署Kubernetes集群的全過程
在當今云原生時代,Kubernetes 已成為容器編排的事實標準,掌握 Kubernetes 的部署與運維能力都已成為必備技能,本文將帶你從零開始,在 Linux 環(huán)境中完整部署一個高可用的 Kubernetes 集群,需要的朋友可以參考下2026-04-04
Linux(Centos7)下redis5集群搭建和使用說明詳解
這篇文章主要介紹了Linux(Centos7)下redis5集群搭建和使用說明 ,本文通過實例文字代碼相結(jié)合的形式,給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06

