我需要压缩某些文件和目录。假设它们被放置在/ 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 ..我不需要,我需要的文件是我打开后立即“/”我想)
我希望我已经解释过了自己...请原谅我的英语不好并提前致谢!
答案 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保留在同一目录中。)