如何读取写入块设备?

如何读取写入块设备?,第1张

概述如何读取/写入设备

如何读取/写入块设备? 我听说我像一个正常的文件读/写,所以我设置一个循环设备

sudo losetup /dev/loop4 ~/file

然后我运行该应用程序的文件,然后循环设备

sudo ./a.out file sudo ./a.out /dev/loop4

该文件执行完美。 循环设备读取0个字节。 在这两种情况下,我得到FP == 3和closures== 0。 该文件正确获取string的长度和打印string,而循环让我0​​和打印什么都没有

如何读取/写入块设备?

如何将bcache设备还原为regulare文件系统

阻止未安装的设备信息(在linux中)

在文件级别的USB Mass Storrage

linux块设备驱动程序请求sorting – RaW?

如何在linux中以编程方式获取磁盘名称(如“/ dev / sda”或“/ dev / sdb”)?

#include <fcntl.h> #include <cstdio> #include <unistd.h> int main(int argc,char *argv[]) { char str[1000]; if(argc<2){ printf("Error argsn"); return 0; } int fp = open(argv[1],O_RDONLY); printf("FP=%dn",fp); if(fp<=0) { perror("Error opening file"); return(-1); } off_t off = lseek(fp,SEEK_SET); ssize_t len = read(fp,str,sizeof str); str[len]=0; printf("%d,%d=%sn",len,static_cast<int>(off),str); close(fp); }

使用O_DIRECT打开文件后,用户缓冲区被写入

并发使用多个线程写入文件

为什么内核使用默认的块驱动而不是我的驱动代码?

使用块特殊文件/设备来实现文件系统

如何使用Python获取原始磁盘或阻止设备大小

losetup似乎映射文件在512字节扇区。 如果文件大小不是512的倍数,则其余的将被截断。

当使用losetup将文件映射到/dev/loopX时,对于小于512字节的文件,会给出如下警告:

Warning: file is smaller than 512 bytes; the loop device may be useless or invisible for system tools.

对于大小不能被512除的文件:

Warning: file does not fit into a 512-byte sector; the end of the file will be ignored

这个警告是从util-linux ver 2.22开始的

总结

以上是内存溢出为你收集整理的如何读取/写入块设备?全部内容,希望文章能够帮你解决如何读取/写入块设备?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1221663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存