Wit*_*iko 16 filesystems files cat fifo
有没有办法创建一个类似于这样的文件系统对象:
mknod files p
cat file1 file2 ... fileN > files
Run Code Online (Sandbox Code Playgroud)
但是这样就可以找到它,就好像它是一个普通文件一样?
Sté*_*las 20
在基于 Linux 的操作系统上,这可以通过网络块设备或设备映射器设备来完成。您获取的文件是块设备。
与nbd:
ln -s /path/to/first-file file.0
...
ln -s /path/to/last-file file.19
nbd-server -C /dev/null -m 127.0.0.1:12345 file
sudo nbd-client localhost 12345 /dev/nbd0
Run Code Online (Sandbox Code Playgroud)
(串联是/dev/nbd0)。
使用设备映射器(文件大小必须是 512 的倍数):
sudo losetup /dev/loop0 file1
sudo losetup /dev/loop1 file2
s0=$(sudo blockdev --getsize /dev/loop0)
s1=$(sudo blockdev --getsize /dev/loop1)
printf '%s\n' "0 $s0 linear /dev/loop0 0" "$s0 $s1 linear /dev/loop1 0" |
sudo dmsetup create mybundle
Run Code Online (Sandbox Code Playgroud)
(串联是/dev/mapper/mybundle)。
小智 11
今天写了一个熔断器驱动程序,如果有人对熔断器解决方案感兴趣(设备映射器以及上面的 nbd-解决方案将创建块设备而不是常规文件 - 如果您想将结果输出直接用于视频编辑,这将破坏不准备直接从块设备读取的软件或其他工具)
https://github.com/schlaile/concatfs