- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
(Linux)手头的问题如下:
假设我们有 foo_1 和 foo_2 实际上是 foo 文件的 2 个 block ,例如命令:
cat foo_1 foo_2 >foo
我希望系统能够将 {foo_1 + foo_2} 视为单个 foo 文件而不必先复制它使用上面的命令。
根据您用来读取 {foo_1 + foo_2] 的命令,假设您想要一个 md5sum,您可以只使用命名管道,它提供了该功能。
你会这样做:
mkfifo my_named_pipe
cat foo_1 foo_2 >my_named_pipe &
md5sum my_named_pipe
有效!
但命名管道有一个很大的限制:所有访问必须是顺序的(无查找),因为它基本上是一个管道。
因此这种“命名管道”方法不是“将多个文件读取为一个虚拟的单个文件”。
在下面的示例中确实适用于 md5sum,因为 md5sum 只需要顺序读取文件。现在,如果该文件是一个 rar 文件或您想要使用 VLC 读取的视频,或者您想要挂载并进行随机访问的 ISO,那么这将失败,因为这些软件需要非顺序读取。
问题:因此,在调用 calvary 之前,我的意思是为自己编写一个 fuse 文件系统,它将执行我上面描述的操作以节省宝贵的 I/O 和空间,我想知道您是否听说过这样做的通用方法。
我想到的是这样的:
fuseVirtualFile mountpoint foo foo_1 foo_2
那会显示挂载点下的“虚拟文件”foo,所以挂载点/foo
这个“虚拟文件”将是 foo_1 和 foo_2 的只读串联,无需实际执行写入 I/O,从而节省时间、磁盘空间和 SSD 磨损!
最佳答案
所以,既然它显然不存在,我就创造它吧!
看:mfs
这是一个 fuse 文件系统,可以按照我的问题进行操作,即“将多个文件虚拟合并为一个文件”。
然后就可以访问(只读)合并后的文件,就好像它实际上已通过 cat
命令合并到一个文件中一样。
如问题中所述,这仅在您需要随机读取访问时才有用,因为流访问可以通过命名管道完成。
这是:https://github.com/Bylon/mfs
尽情享受吧!
关于linux - (Linux) 将多个文件作为一个文件读取,而无需先将 block 复制到新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45552165/
几个月前,我做了一个功能,我的应用程序正在等待用户文档并做出相应的响应。直到我对项目进行优化并将其更新到最新版本之前,它一直是一种魅力。 如果存在用户文档,则流将产生该文档并关闭该流。 如果云Fire
Stack Overflow 有几个 examples其中函数首先获得可升级锁,然后通过升级获得独占访问。我的理解是,如果不小心使用,这可能会导致死锁,因为两个线程可能都获得了可升级/共享锁,然后都尝
这个问题在这里已经有了答案: MVC 4 Code First ForeignKeyAttribute on property ... on type ... is not valid (1 个回答
以下是部分代码。我需要在 finally 子句中关闭资源。我需要先调用 closeEntry() 还是 close()?我收到一些错误消息。 Error closing the zipoutjava.
我想使用 RxJS-DOM 观察 mousewheel 事件,这样当第一个事件触发时,我转发它然后删除所有值,直到后续值之间的延迟超过先前指定的持续时间。 我想象的运算符可能看起来像: Rx.DOM.
版本似乎与安装的不同。 我在 npm install 上收到警告 我将二进制文件安装到我的家庭/开发目录中,但它不适用于 sudo。所以我安装了apt。 (注意:我并没有真正安装,我提取并将路径放在/
我正在尝试展示 GAN 网络在某些指定时期的结果。打印当前结果的功能以前与 TF 一起使用。我需要换成 pytorch。 def show_result(G_net, z_, num_epoch, s
我是一名优秀的程序员,十分优秀!