2011-07-27 91 views

回答

16

如果所有的文件都在那么一个目录:

bzip2 * 

就足够了。一个更可靠的方法是:

find . -type f -exec bzip2 {} + 

这将压缩在当前目录及其子目录中的每个文件,并会工作,即使你有文件数以万计的(使用*将打破,如果有太多目录中的文件)。

如果您的计算机有多个核心,那么您可以通过一次压缩多个文件来进一步改善此问题。例如,如果你想同时压缩4个文件,使用方法:

find . -type f -print0 | xargs -0 -n1 -P4 bzip2 
+0

我不明白在你指定的最后一个命令的哪个位置使用bzip2 –

+0

,它缺少“bzip2”命令。固定。 – sagi

+0

'{} +'是什么意思? – Lee

0

从目录中:bzip2 *

0
find PATH_TO_FOLDER -maxdepth 1 -type f -exec bzip2 -zk {} \; 
2

要多核Mac上的bzip2,您可以发出以下命令(当你的文件夹中要BZIP)

find . -type f -print0 | xargs -0 -n1 -P14 /opt/local/bin/bzip2 

这将递归BZIP每一个文件你的终端是在同时使用14个CPU核心的文件夹内。

你可以调整多少个核心通过编辑

-P14 

使用如果你不知道在哪里bzip2的二进制文件,您可以发出以下命令来弄明白

which bzip2 

该命令的输出是你可以替换的东西

/opt/local/bin/bzip2 

相关问题