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