如何解压缩另一个目录中的tar.gz
我有一个档案
与* .tar.gz
我怎样才能解压缩在目的地目录?
如果您使用的是Gnu版本的tar
则可以使用选项-C
(或者--directory
如果您偏好较长的选项)提供您所select的目标目录。 该目录应该存在:
mkdir foo tar -xzf bar.tar.gz -C foo
如果您没有使用能够解压到特定目录的tar
,则可以在调用tar
之前简单地cd
到您的目标目录中; 那么当然,你将不得不给你一个完整的档案path。 你可以在范围的subhell中做这个,以避免影响周围的脚本:
mkdir foo (cd foo; tar -xzf ../bar.tar.gz) # instead of ../ you can use an absolute path as well
或者,如果绝对path和归档文件的相对path都不适合,则还可以使用它来命名作用域子shell之外的存档:
TARGET_PATH=a/very/complex/path/which/might/even/be/absolute mkdir -p "$TARGET_PATH" (cd "$TARGET_PATH"; tar -xzf -) < bar.tar.gz
gzip -dc archive.tar.gz | tar -xf - -C /destination
或者,用GNU tar
tar xzf archive.tar.gz -C /destination
将myArchive.tar解压到/ destinationDirectory
命令:
cd /destinationDirectory pax -rv -f myArchive.tar -s ',^/,,'