一、sync命令
Linux sync命令用于数据的同步。
我们在修改了开发板的配置文件后,保存重启可能会发现我们保存的数据配置并没有启用,而我们再查看我们的配置文件时就会发现我们配置的文件并没有变化,这是因为我们修改的配置文件并没有进入我们的硬盘,而我们又断电重启后我们所写的内容就会丢失。
这是因为Linux系统为了效率会先写到 filesystem buffer 中,同样我们读取硬盘的时候会通过cache来解决读硬盘效率的问题,而在我们把数据写入硬盘的时候会先写入buffer中,而不是直接到硬盘当中去,如果这个时候我们重启系统将会导致数据丢失,但是如果我们使用sync命令,它可以强制将数据写入硬盘当中,并释放该数据的对应buffer。
所以在我们需要重启或断开电源时,我们可以输入sync命令来把数据真正的写入磁盘,而当然在正常使用时Linux系统也会在buffer已满的情况下或内核线程周期性的写入硬盘。
二、sync的使用
使用man手册查看sync命令的介绍:
man sync
NAME
sync - Synchronize cached writes to persistent storage
SYNOPSIS
sync [OPTION] [FILE]...
DESCRIPTION
Synchronize cached writes to persistent storage
If one or more files are specified, sync only them, or their containing file systems.
-d, --data
sync only file data, no unneeded metadata
-f, --file-system
sync the file systems that contain the files
--help display this help and exit
--version
output version information and exit
可见将缓存的写入同步到永久存储,如果指定了一个或多个文件,仅同步这些文件或其包含的文件系统。
参数如下:
- -d/–data:只同步文件数据,不同步不需要的元数据
- -f/–file-system:同步包含文件的文件系统
- –help:显示此帮助并退出
- –version:输出版本信息并退出
通过如下命令形式使用:
sync [OPTION] [FILE]...
sync可不带参数,直接将缓存的写入同步到永久存储