linux 拷贝数据无数据,或数据为空

这是个在arm linux下遇到的问题,本人linux小白
当我从板子向u盘拷贝数据时,出现拷贝后无数据,或者拷贝数据为0,时有发生。
最后发现是linux的管理机制的原因,虽然显示拷贝成功,但是当u盘拔出的时候,数据内容还在内存中,解决方式,执行命令sync

sync

以下来源 百度百科:

  • sync也是一个linux同步命令,含义为迫使缓冲块数据立即写盘并更新超级块。在linux系统中,为了加快数据的读取速度,默认情况下,某些数据将不会直接写入硬盘,而是先暂存内存中,如果一个数据被重复写,这样速度一定快,但存在一个问题,万一重新启动,或者是关机,或者是不正常断电的情况下,由于数据还没来得及存入硬盘,会造成数据更新不正常,这时需要命令sync进行数据的写入,即#sync,在内存中尚未更新的的数据会写入硬盘中。所以在关机或者开机之前最好多执行这个几次,以确保数据写入硬盘。
    用途更新 i-node 表,并将缓冲文件写到硬盘中。
    语法
sync
  • 描述
    sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。
  • 函数
#include<unistd.h>
int sync(void);

函数说明:此函数负责将系统缓冲区的内容写回磁盘,以确保数据同步。
另:fsync, fdatasync。
消息
在CDMA中,前向信道四个消息中,是同步消息的意思。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值