我需要创建一个包含多个子目录的大型目录

时间:2010-06-30 18:16:05

标签: shell compression data-storage archiving

我有一个包含在目录中的数据集,该目录包含大约30,000个子目录。这些目录中的每一个都包含一个文本文件和另一个子目录。该子目录包含一些文本文件(范围从0个文本文件到数百个)。我的许多同事都使用这个数据集,但是因为它需要至少6个小时才能将数据集从实验室中的一台计算机/硬盘传输到另一台 - 不是因为数据集的大小,而是因为繁琐存储它的格式。我想创建一些存档(例如.tar.gz)来存储这些数据,以便它们可以在计算机之间快速传输。我想看看有没有人之前曾经使用过这样的东西,能告诉我最快,最好的方法吗?我认为shell脚本可能比仅仅自己创建存档更快。

1 个答案:

答案 0 :(得分:0)

建议:NFS挂载目录。然后一个Windows框或一个unix框可以访问该目录。

评论:像这样的目录结构是文件系统中inode的坏消息,也增加了搜索时间。

答案:这适用于任何符合POSIX标准的unix框,并假设您的存储库只有一个基本目录 -

cd /path/to/archive; tar cvf mycharhive.tar ./archive_dir;  gzip myarchive.tar

这会创建一个相对路径tar存档 - 这意味着您可以将其解压缩到低级目录,而不是从根目录解压缩。