0

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

我尝试使用以下命令:

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

但随后整个子结构被压缩(我的意思是,当我打开 .tar.gz 时,我必须浏览目录根 / 项目 .. 我不需要,我需要文件在我在“/”中打开时立即我想)

我希望我已经解释了自己......对不起我的英语不好,提前谢谢!

4

2 回答 2

2

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

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

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

于 2012-04-14T14:42:33.183 回答
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保持在同一目录中。)

于 2012-04-14T10:58:32.530 回答