sync命令详解 #文件系统管理

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数据。

sync相关命令

命令简介
repquota报表的格式输出磁盘空间限制的状态
e2label设置第二扩展文件系统的卷标
findfs标签或UUID查找文件系统
resize2fsext2/ext2文件系统重新设置大小
e2image将处于危险状态的文件系统保存到文件中
tune2fs调整或查看ext2/ext3文件系统的文件系统参数
swapoff关闭指定的交换空间
swapon激活Linux系统中交换空间
quota显示磁盘已使用的空间与限制
quotastats显示系统当前的磁盘配额运行状态信息
edquota用于编辑指定用户或工作组磁盘配额
quotaon激活Linux内核中指定文件系统的磁盘配额功能
quotacheck检查磁盘的使用空间与限制
quotaoff关闭Linux内核中指定文件系统的磁盘配额功能
mkfs用于在设备上创建Linux文件系统
mountpoint用来判断指定的目录是否是加载点
umount用于卸载已经加载的文件系统
e2fsck用于检查第二扩展文件系统的完整性
dumpe2fs用于打印“ext2/ext3”文件系统的超级块和快组信息
mount用于加载文件系统到指定的加载点