如何在Mac的Terminal中清空文件全部内容且不删除原文件
Mac 终端清空指定文件内容方法(保留原文件)
以下方法均只会清除文件内容,不会删除原文件,文件权限、属性等信息会完整保留:
1. 空重定向(最便捷)
直接向目标文件写入空内容,是日常操作的首选方案:
> 目标文件路径
示例:清空桌面的test.txt文件:
> ~/Desktop/test.txt
适配Mac所有默认shell,包括 Ventura 及后续版本默认的 zsh,无需额外参数
2. truncate 命令(语义最明确)
truncate是专门用于调整文件大小的命令,将文件大小设为0即可完成清空,更适合写进自动化脚本中,可读性更高:
truncate -s 0 目标文件路径
示例:清空当前目录下的run.log文件:
truncate -s 0 run.log
3. echo 覆盖写入
用echo输出空字符串覆盖原文件,注意加-n参数避免额外写入换行符:
echo -n "" > 目标文件路径
注意事项
- 操作前请确认文件路径正确,文件内容清空后无法恢复,重要文件建议提前备份
- 如果操作系统级文件提示权限不足,可在命令前加
sudo提升权限,例如:sudo truncate -s 0 /var/log/install.log
内容的提问来源于stack exchange,提问作者user17078449
相关产品推荐
相关产品推荐

