共计 941 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 本文总结了几种快速清空 Linux 中的大文件方法,快来看看对你有帮助吗? |
1. 通过重定向到 null 清空文件内容
使用 shell 重定向 null(不存在的对象) 到文件的最简单方法来清空文件内容
# > access.log
2. 使用 true 命令重定向清空文件
这里我们将使用一个符号,: 是一个 shell 内置命令,本质上等同于 true 命令
另一种方法是将: 或 true 内置命令的输出重定向到文件
# : > access.log
OR
# true > access.log
3. 使用带有 /dev/null 的 cat/cp/dd 应用程序清空文件
在 Linux 中,null 设备主要用于丢弃进程不需要的输出流,或者作为输入流。这通常是通过重定向机制完成的。
/dev/null 设备文件是一个特殊文件,它会吞噬发送给它的任何输入,或者它的输出与空文件的输出相同。
此外,你可以通过 /dev/null 使用 cat 命令将输出重定向到文件作为输入来清空文件的内容
# cat /dev/null > access.log
也可以使用 cp 命令将文件内容清空
# cp /dev/null access.log
在下面的命令中,if 指的是输入文件,of 指的是输出文件。
# dd if=/dev/null of=access.log
4. 使用 echo 命令清空文件
在这里,你可以使用带有空字符串的 echo 命令并将其重定向到文件
# echo "" > access.log
OR
# echo > access.log
空字符串与 null 不同。一个字符串是一个对象,它可能是空的。而 null 意味着一个不存在的对象。
因此将上面的 echo 命令的输出重定向到文件中,并使用 cat 命令查看文件内容时,会打印一个空行
要发送一个空输出到文件,使用该标志 - n 告诉 echo 不输出换行符。
# echo -n "" > access.log
5. 使用 truncate 命令清空文件
truncate 命令将文件的大小缩小或扩展到定义的大小。
你可以将它与 - s 指定文件大小的选项一起使用。要清空文件内容使用 -s 0 参数。
# truncate -s 0 access.log
正文完
星哥玩云-微信公众号