首页  |  Linux  |  C/C++  |  网络编程  |  Python   |  Algorithm  |  数据库  |  经验  |   人生 & 随想   |  站内搜索  |  关于

<<< previous

该文已被浏览1226

如何将一个10G的文件保存到两个8G的U盘中(Part 1)?



在日常工作学习中,我们经常需要使用移动存储介质来存储或传递一些文件,其中,U盘应该是我们最常使用的移动存储介质了。在某些情况下,需要存储或传递的文件比较大,比我们手上的任意一个U盘的容量都要大,但要比我们手中的两个U盘的容量之和小。此时,要在U盘中存储或传递这个大文件,就需要借助一些技巧,将大文件保存到两个U盘中去。正如标题所说的那样,在这篇文章中,将介绍一种如何将一个10G的文件保存到两个8G的U盘中的方法。

注意: 本文所介绍的方法皆在Ubuntu 16.04系统中测试并通过, 但是在大多数的Linux系统中,本文所介绍的方法同样适用。

修改U盘的文件系统

刚买的U盘默认的文件系统一般为FAT32, 而这种文件系统所能存储的单个文件最大大小为4G, 因此,如果你的U盘也是FAT32文件系统,则需要首先将U盘的文件系统修改为NTFS文件系统,这种文件系统支持的单个文件最大大小为2TB。

注意: 修改U盘的文件系统会将导致U盘中原有的数据丢失,所以务必先备份好数据之后,再进行下面的操作。

将U盘的文件系统修改为NTFS,只需执行如下两步操作即可:

  1. 将U盘插到电脑上

  2. 执行下面的命令:

    $ sudo umount /dev/sdb1
    $ sudo mkfs.ntfs -f -L VolumnLabel /dev/sdb1

    注意:

    • 上面两条命令中的 /dev/sdb1 只是作为例子,在实际操作时,你需要将其替换为你电脑上的相应U盘设备(你可以通过 lsblk 命令来查看当前系统中所有的磁盘设备)
    • VolumeLabel 表示的是文件系统的卷名,这部分你也可以自己修改成自己想要的名字

切割大文件

这篇文章所要介绍的方法是,通过将大文件切割成较小的文件,从而达到可以使用U盘来存储的目的。

假设现在有一个名为 bigFile 的10G的大文件,需要将这个10G的大文件保存到两个8G的U盘中,我们可以将这个10G的大文件切割成两个5G的文件,之后将这两个5G的文件分别存储到两个8G的U盘中去,由于现在U盘的文件系统已经是NTFS文件系统了,所以存储一个5G的文件没有问题。

将10G的大文件切割成两个5G的文件非常简单,只需执行如下的命令即可:

$ split -n 2 bigFile

执行完上面的命令之后,会得到两个名为 xaaxab 的文件,他们的大小都是5G, 之后将这两个文件分别存储到两个8G的U盘中即可, 这样我们就达到了使用两个8G的U盘来存储一个10G的大文件的目的。

恢复大文件

虽然我们已经用切割大文件的方法达到了用两个U盘存储之的目的,但是这两个U盘中存储的都是不完整的数据,是无法使用的(文本数据除外),要使用这些数据,我们必须要组合这些不完整的数据,使之恢复为一个完整的可用的数据。恢复大文件的步骤如下:

  1. 将U盘中所存储的大文件的部分数据(即上面所得到的xaa和xab两个文件)copy到一台电脑(Linux系统)上

  2. 进入到部分数据所在的目录中,执行如下命令即可恢复数据:

    $ cat xa* > bigFile
    

其它类似的工具

除了使用 split 来切割大文件以外,你还可以使用 7z 这个压缩工具, 该工具有一个 -v 选项, 可以将压缩文件分割成指定大小的多个部分, 关于 7z 这个工具的 -v 选项的用法, 以及如何从多个部分的压缩文件中恢复出原本的文件, 你可以参考下面的链接:
How to create multipart 7zip file in Linux?
How to extract files from a split 7zip archive?

结束语

在一些情况下,我们需要用U盘来存储或传递一个大文件,而当这个文件的大小大于我们手上的任意一个U盘的容量大小时,我们就不能单靠一个U盘来存储或传递这个大文件了,此时就需要借助多个U盘来存储或传递这个大文件了。这篇文章中介绍了一种通过切割大文件的方法,来达到通过多个U盘来存储或传递大文件的目的;在接下来的一段时间里,我还会通过另外的几篇文章来介绍通过多个U盘来存储或传递大文件的其它方法,你可以通过下面的链接接来查看另外的两篇文章.

如何将一个10G的文件保存到两个8G的U盘中(Part 2)?
如何将一个10G的文件保存到两个8G的U盘中(Part 3)?


一如既往,如果你对文章中的内容有任何疑问,或者是发现文章中有任何错误,都可以通过下面的地址发邮件告诉我.
E-mail: contact@TechForGeek.info