ubuntu 日志文件清空方式的解读
目录
- 前言
- 1. >
- 2. truncate
- 3. 其他
前言
🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF
爬虫神器,无代码爬取,就来:bright.cn
Java基本知识:
- java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)
- 【Java项目】实战CRUD的功能整理(持续更新)
以下文的 清空日志 进行展开
日志是源源不断的,不会影响主程序的使用
1. >
如果是 Linux Shell(比如 Bash 脚本):
# 清空文件内容
> xx.txt
解释:
>
是重定向符号
> 文件名
就是重定向一个空输入到文件 → 清空内容
核心知识点:如果用写模式打开文件(w 模式),文件内容会被立刻清空
比如在 Python 里:
# 打开文件,写模式 'w',直接清空
with open('xx.txt', 'w') as f:pass # 什么也不写,相当于清空了
“w” 模式的特点是:
如果文件存在 → 打开并清空内容
如果文件不存在 → 创建新文件
这是最快速、最彻底的清空方式
总结:
-
>
文件名 是 Linux/Unix 下最快的清空文件方法 -
open('xx.txt', 'w')
是 Python 中最快的清空方法
截图如下:
2. truncate
使用 Shell 的 : >
文件
: > xx.txt
:
是 Bash 的内建命令(空命令),什么也不做
: > 文件 也是清空文件的方法
本质和 > 文件 类似,但更标准一些
希望更精细地控制文件大小,比如只保留前面一部分或者完全清零,可以用 truncate()
在 Python 中:
# 打开文件并截断为0字节
with open('xx.txt', 'r+') as f:f.truncate(0)
‘r+’ 是读写模式
truncate(0) → 直接把文件长度截断为0
这种方法不会像 ‘w’ 模式那样重建文件,只是调整原文件内容到指定长度
优点是:保持原文件的 inode 和权限不变
3. 其他
其他的清空方式如下:
rm xx.txt && touch xx.txt
删除时可能丢失文件属性(如权限、属主)
删除后再创建,inode 变化,对一些依赖 inode 的程序(如日志监控)会出问题