通过命令行清空指定文件的内容而不删除

从指定文件中删除内容而不删除文件

如果您正在使用命令行并需要快速清空文件内容,您可以这样做通过在相关文件名前加上一个大于符号和一个空格。

如何从命令行清除文件内容

在保留文件的同时删除文件内容的技巧如下所示:

> 文件名

该方法适用于 bash 和许多其他 shell,但如果它不适用于 zsh 或其他 shell,您也可以使用 echo 的变体。对于 zsh,使用以下命令使用 echo null 和重定向从命令行清除文件的内容:

echo -n > 文件名

目标文件中的所有内容将在没有警告的情况下立即删除,将其留空,同时保留文件的存在、文件名和权限。这通常比手动删除和重新创建文件更可取且更快。

一个很好的实际例子是清除日志文件的内容,例如:

> ~/Library/Logs/updates.log

或者用echo重定向实现同样的效果:

echo -n > ~/Library/Logs/updates.log

您也可以使用此命令在该位置创建一个新的 0 字节文件,类似于使用 touch 命令。

OS X 中的终端

如果您想保持给定文件的权限相同但希望覆盖内容,您会发现这特别有用,日志文件和类似项目很常见。