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