通过命令行清空指定文件的内容而不删除
如果您正在使用命令行并需要快速清空文件内容,您可以这样做通过在相关文件名前加上一个大于符号和一个空格。
如何从命令行清除文件内容
在保留文件的同时删除文件内容的技巧如下所示:
> 文件名
该方法适用于 bash 和许多其他 shell,但如果它不适用于 zsh 或其他 shell,您也可以使用 echo 的变体。对于 zsh,使用以下命令使用 echo null 和重定向从命令行清除文件的内容:
echo -n > 文件名
目标文件中的所有内容将在没有警告的情况下立即删除,将其留空,同时保留文件的存在、文件名和权限。这通常比手动删除和重新创建文件更可取且更快。
一个很好的实际例子是清除日志文件的内容,例如:
> ~/Library/Logs/updates.log
或者用echo重定向实现同样的效果:
echo -n > ~/Library/Logs/updates.log
您也可以使用此命令在该位置创建一个新的 0 字节文件,类似于使用 touch 命令。
如果您想保持给定文件的权限相同但希望覆盖内容,您会发现这特别有用,日志文件和类似项目很常见。