如何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