将 .tar.gz 存档解压缩到特定目录

将 .tar.gz 存档解压缩到特定目录

如何tar.gz使用单行命令使用 tar 将文件的所有内容解压缩到任意目录(无论是否存在)?如果不存在,则创建(目录)。为了澄清这一点,让我们考虑一个例子:我已经archive-latest.tar.gz从互联网下载到目录中/home/user/Downloads。我已将 microSD 卡目标分区安装在/mnt/archive.下载后,我想使用单行命令/home/user/Downloads/archive-latest.tar.gz直接提取下载的内容。/mnt/archive我已阅读man tar手册,但找不到指定目标目录的选项。

答案1

-C选项使 tar 更改为现存的开始解压之前的目录:

 tar xv -C /mnt/archive -f /home/user/Downloads/archive-latest.tar.gz

如果您已经位于该目录中/home/user,或者/home/user/Downloads可以相应地缩短路径-f

如果目标路径有可能不存在,您可以使用以下命令创建它mkdir

 mkdir -p /mnt/archive;  tar xv -C /mnt/archive -f /home/user/Downloads/archive-latest.tar.gz

如果目录已经存在,使用该-p选项不会抱怨。mkdir

相关内容