从目录树中执行 tar.gz 的最快方法?

719*_*016 3 performance tar

我有一个目录树,其中包含这样的文件:

.
|-- 00
| |-- 00
| | |-- 00
| | |-- 01
| | |-- 02
| | |-- 03
| | |-- 04
| | |-- 05
[..]
| | |-- 97
| | |-- 98
| | `-- 99
| |-- 01
| | |-- 00
| | |-- 01
[...]

每个目录的末尾大约有200个文件,所以很多文件。制作整个 tar.gz 的最快方法是什么?我可以为多个 CPU 并行化任务吗?

Cal*_*leb 8

您只需要指定一个(或多个)要包含的顶级目录,并且tar将递归地深入到它的所有子目录中并将所有内容打包:

tar cvfz output.tar.gz /path/to/top_folder
Run Code Online (Sandbox Code Playgroud)

(正如@forcefsck 所指出的,如果对象是原始速度,您可以v在终端上取消减少冗长的选项。通过不回显每个文件,如果 I/O 时间与您的终端交谈,它会增加您的节省。)

  • 将 `cvfz` 更改为 `zcf`。详细的输出会减慢进程的速度,并且 `f` 必须在最后,所以它后面紧跟存档文件名。 (3认同)