2019-04-21 11:50:48 +08:00

20 lines
1.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 id="sync">sync</h1>
<p>用于强制被改变的内容立刻写入磁盘</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>sync命令</strong> 用于强制被改变的内容立刻写入磁盘,更新超块信息。</p>
<p>在Linux/Unix系统中在文件或数据处理过程中一般先放到内存缓冲区中等到适当的时候再写入磁盘以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令系统会自动执行update或bdflush操作将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时才需手动执行sync命令。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">sync(选项)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">--help显示帮助
--version显示版本信息。</code></pre>
<h3 id="buffer与cache">buffer与cache</h3>
<ul>
<li>buffer为了解决写磁盘的效率</li>
<li>cache为了解决读磁盘的效率</li>
</ul>
<p>linux系统为了提高读写磁盘的效率会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中而是先写入这块buffer中了。此时如果重启系统就可能造成数据丢失。</p>
<p>sync命令用来flush文件系统buffer这样数据才会真正的写到磁盘中并且buffer才能够释放出来flush就是用来清空buffer。sync命令会强制将数据写入磁盘中并释放该数据对应的buffer所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。</p>
<p>如果不去手动的输入sync命令来真正的去写磁盘linux系统也会周期性的去sync数据。</p>
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->