如果我有一个大文件并且需要将其拆分为 100 兆字节的块,我会这样做
split -b 100m myImage.iso
Run Code Online (Sandbox Code Playgroud)
这通常会给我类似的东西
xaa
xab
xac
xad
Run Code Online (Sandbox Code Playgroud)
为了让它们重新组合在一起,我一直在使用
cat x* > myImage.iso
Run Code Online (Sandbox Code Playgroud)
似乎应该有一种比读取一组文件中的每一行代码cat并将输出重定向到新文件更有效的方法。就像只打开两个文件、EOF从第一个文件中删除标记并将它们连接起来一样 - 无需浏览所有内容。
Windows/DOS 有一个用于二进制文件的复制命令。帮助中提到此命令旨在能够组合多个文件。它使用以下语法:(/b用于二进制模式)
copy /b file1 + file2 + file3 outputfile
Run Code Online (Sandbox Code Playgroud)
在 Linux 上是否有类似或更好的方法来加入大文件而不是 cat?
更新
看来这cat实际上是加入文件的正确方式和最佳方式。很高兴知道我一直在使用正确的命令 :) 感谢大家的反馈。
我正在下载 Lubuntu 的 ISO 映像;它们有两个版本:32 和 64。
但是为什么他们称 64 版本为amd64,因为他们说它也适用于英特尔?
目前我正在将 ISO 安装到(只读)目录(使用mount -o loop命令),然后将内容复制到另一个普通目录。由于 ISO 很大,这需要很多时间。这是唯一的方法,还是有其他选择?
如何通过终端命令从文件夹或单个文件创建 iso 图像?目前我正在通过Braseros GUI执行此操作,但我想使用 shell 脚本来执行此操作。
我试图了解xxx.iso文件与块设备的其他方面(例如分区和文件系统)之间的关系。
人们通常将访问或制作.iso可用描述为“安装 ISO”。
因此,换一种方式提出问题:如果我或某个软件想将xxx.iso文件“挂载”到 USB 设备上,是否需要预先存在的分区和文件系统(例如 FAT x或 ext X)或者.iso文件 - 一旦处于“挂载”状态 - 执行与文件系统(甚至分区)相同/相似角色的较低级别构造?
MultiBootISOs是一种工具,可让您在 USB 闪存驱动器上安装 Grub。我真的很喜欢它,因为它让我可以从 ISO 文件启动,并让我在我的 USB 上放置一堆 ISO 并选择要启动的一个。
问题是,这是一个Windows工具,我不知道如何通过命令行来做。我也想知道怎么安装Grub(2)这样的,Grub Legacy好像比较容易...
编辑:我不是要工具(绝对不是 Windows 工具)。我想知道我必须执行哪些命令才能产生相同的效果。我现在脑子里有 Ubuntu,但如果有一种通用的方法可以在 USB 中启动任何 ISO,那会更好。
我的.mdf图像很少,可以用 挂载Alcohol 120%,但在 Linux 上,这可能吗?
我试过类似的东西mount -o loop -t iso9660 XX.mdf /mnt/iso,但这在这里不起作用,我得到了ISOFS: Unable to identify CD-ROM format.
看起来像mount -o loop更改了安装的图像文件。我下载了 ISO 映像文件并检查了它的 SHA-1 校验和。然后我挂载了那个 ISO 文件并且校验和改变了。这是我所做的确切步骤,从我的控制台 CentOS 7 x64 复制粘贴(注意,该 ISO 文件是只读的):
[mbartnicki@89-78-33-81 Downloads]$ ls -lh
total 3.1G
-r--r--r--. 1 mbartnicki mbartnicki 3.1G Mar 31 18:28 X17-58997.iso
[mbartnicki@89-78-33-81 Downloads]$ sha1sum X17-58997.iso
6c9058389c1e2e5122b7c933275f963edf1c07b9 X17-58997.iso
[mbartnicki@89-78-33-81 Downloads]$ sudo mount -o loop X17-58997.iso /mnt/iso/
mount: /dev/loop0 is write-protected, mounting read-only
[mbartnicki@89-78-33-81 Downloads]$ sha1sum X17-58997.iso
994944df320e9e03c032263d7b9e36157a0a587c X17-58997.iso
Run Code Online (Sandbox Code Playgroud)
我很惊讶,我在另一台机器(Ubuntu 14.04 x64)上重复了上述步骤,只是为了得到相同的结果:文件校验和在mount -o loop. 卸载 ISO 映像不会将其校验和返回到原始值;文件更改是持久的。此外,下一次挂载再次将校验和更改为某个新值。如何解释?
聚苯乙烯
通过添加ro挂载选项以只读方式挂载可防止文件被更改,因此如果我使用:
sudo mount -o ro,loop X17-58997.iso /mnt/iso
然后一切正常,ISO镜像文件挂载后保持不变。错误行为仅在ro …
如何将 .cue / .bin(cdr 轨道)图像转换为单个 .iso 文件?
我有 Fedora 16 (x86-64)
Linux 3.1.9-1.fc16.x86_64 #1 SMP Fri Jan 13 16:37:42 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)