木子钱难有 發表於 2023-12-23 00:00:00

教你快速清空 Linux 中的大文件

<p>
                        <img title="教你快速清空 Linux 中的大文件" alt="教你快速清空 Linux 中的大文件" border="0" src="https://zhuji.jb51.net/uploads/img/202305/db09b8c438b4cea5bed1879dec690f33.jpg"></p>        <h3>
                1. 通过重定向到null清空文件内容
        </h3>
        <p>
                使用 shell 重定向null(不存在的对象)到文件的最简单方法来清空文件内容
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># &gt; access.log </span></span>
                </li>
        </ol>
<h3>
                2.使用true命令重定向清空文件
        </h3>
        <p>
                这里我们将使用一个符号,:是一个shell内置命令,本质上等同于true命令
        </p>
        <p>
                另一种方法是将:或true内置命令的输出重定向到文件
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># : &gt; access.log </span></span>
                </li>
                <li>
                        <span><span class="op">OR</span><span> </span></span>
                </li>
                <li class="alt">
                        <span># <span class="keyword">true</span><span> &gt; access.log </span></span>
                </li>
        </ol>
<h3>
                3. 使用带有 /dev/null 的 cat/cp/dd 应用程序清空文件
        </h3>
        <p>
                在 Linux 中,null设备主要用于丢弃进程不需要的输出流,或者作为输入流。这通常是通过重定向机制完成的。
        </p>
        <p>
                /dev/null设备文件是一个特殊文件,它会吞噬发送给它的任何输入,或者它的输出与空文件的输出相同。
        </p>
        <p>
                此外,你可以通过/dev/null使用cat 命令将输出重定向到文件作为输入来清空文件的内容
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># cat /dev/</span><span class="op">null</span><span> &gt; access.log </span></span>
                </li>
        </ol>
<p>
                也可以使用cp 命令将文件内容清空
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># cp /dev/</span><span class="op">null</span><span> access.log </span></span>
                </li>
        </ol>
<p>
                在下面的命令中,if指的是输入文件,of指的是输出文件。
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># dd if=/dev/</span><span class="op">null</span><span> </span><span class="keyword">of</span><span>=access.log </span></span>
                </li>
        </ol>
<h3>
                4. 使用 echo 命令清空文件
        </h3>
        <p>
                在这里,你可以使用带有空字符串的echo 命令并将其重定向到文件
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># echo </span><span class="string">""</span><span> &gt; access.log </span></span>
                </li>
                <li>
                        <span><span class="op">OR</span><span> </span></span>
                </li>
                <li class="alt">
                        <span># echo &gt; access.log </span>
                </li>
        </ol>
<p>
                空字符串与 null 不同。一个字符串是一个对象,它可能是空的。而null意味着一个不存在的对象。
        </p>
        <p>
                因此将上面的echo 命令的输出重定向到文件中,并使用cat 命令查看文件内容时,会打印一个空行
        </p>
        <p>
                要发送一个空输出到文件,使用该标志-n告诉echo 不输出换行符。
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># echo -n </span><span class="string">""</span><span> &gt; access.log </span></span>
                </li>
        </ol>
<h3>
                5. 使用 truncate 命令清空文件
        </h3>
        <p>
                truncate命令将文件的大小缩小或扩展到定义的大小。
        </p>
        <p>
                你可以将它与-s指定文件大小的选项一起使用。要清空文件内容使用-s 0参数。
        </p>
        <ol class="dp-sql">
<li class="alt">
                        <span><span># </span><span class="keyword">truncate</span><span> -s 0 access.log </span></span>
                </li>
        </ol>
<p>
                原文链接:https://mp.weixin.qq.com/s/8BNkNxDdLD8P-ScBQ6WeHQ
        </p>
頁: [1]
查看完整版本: 教你快速清空 Linux 中的大文件