如何将tar解压缩到其原始目录

时间:2017-02-02 20:53:37

标签: bash macos terminal tar

我在OSX中编写了一个简单的归档脚本,我试图使用tar来创建文件系统深处的目录存档。我很乐意将焦油保存在另一个驱动器上。在某些时候,我希望能够从第二个驱动器解压缩tar并将其直接放入我最初存档它的同一个父目录中。如果该目录不存在,则tar将创建该特定文件夹的目录路径。

到目前为止,我可以创建一个tar,从我在驱动器2上解压缩它的确切位置重新创建文件夹路径,但我无法弄清楚如何让它直接进入已经存在的路径。现在我正在尝试的是获得这个...

tar cvf Drive2/DirectoryToArchive.tar Drive1/Folder1/ParentFolder/DirectoryToArchive

紧随其后......

tar xvf Drive2/DirectoryToArchive.tar

中为我提供一个解压缩,恢复的DirectoryToArchive
Drive1/Folder1/ParentFolder/

我希望能够将这个脚本提供给那些不了解终端并让它为他们工作而不必将tar放在特定目录中的人。焦油可以做什么吗?

1 个答案:

答案 0 :(得分:0)

让我展示一个使用tar压缩并提取到原始目录和文件的示例。

在主机c1669-node2上:

% tar -zcvf jdk64.gz /usr/jdk64/jdk1.8.0_112/
% pwd
/root
% ls -1 | grep -Ei jdk
jdk64.gz

在主机kyan-hdp01上:

% scp root@c1669-node2:/root/jdk64.gz /tmp/
% tar -xzvf /tmp/jdk64.gz -C /
% ls -lh /usr/jdk64/ | head -n 5
total 0
drwxr-xr-x. 8 10 143 255 Sep 23  2016 jdk1.8.0_112

因此,我认为如果您使用绝对路径压缩文件,然后使用-C /提取文件以指定目录,则该目录将与原始目录完全相同。