压缩文件和目录

时间:2012-04-14 10:52:29

标签: linux compression gzip tar

我需要压缩某些文件和目录。假设它们被放置在/ root / project中。 问题是我需要使用gzip-tarball格式压缩它们,并使用某个名称(name.tar.gz)并在“root”目录中压缩它们,我的意思是,只要我打开.tar.gz所有文件我想要压缩的目录就在那里。

我尝试使用以下命令:

tar czfv name.tar.gz /root/project
tar czfv name.tar.gz /root/project/*

然后整个子结构得到压缩(我的意思是,当我打开.tar.gz时,我必须浏览目录root / project ..我不需要,我需要的文件是我打开后立即“/”我想)

我希望我已经解释过了自己...请原谅我的英语不好并提前致谢!

2 个答案:

答案 0 :(得分:2)

如果您使用的是GNU tar,则可以使用以下命令:

tar -C /root/project -zcvf /root/name.tar.gz .

-C导致tar在将/root/project目录添加到存档之前更改为.目录。确保归档的目标目录不在您要归档的目录中(/ root / project)。此示例在/ root中创建存档。

答案 1 :(得分:0)

如果您希望tarball中的文件名都有project/前缀(通常是可取的),请执行

(cd /root && tar czvf `pwd`/name.tar.gz project)

如果您根本不需要前缀,请执行

(cd /root/project && tar czvf `pwd`/name.tar.gz .)

pwd在执行cd之前捕获当前工作目录;括号在子shell中执行命令,因此当前shell保留在同一目录中。)