![将 tar.gz 文件解压到某个目录,如果不存在则创建该目录](https://linux22.com/image/1627707/%E5%B0%86%20tar.gz%20%E6%96%87%E4%BB%B6%E8%A7%A3%E5%8E%8B%E5%88%B0%E6%9F%90%E4%B8%AA%E7%9B%AE%E5%BD%95%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%8D%E5%AD%98%E5%9C%A8%E5%88%99%E5%88%9B%E5%BB%BA%E8%AF%A5%E7%9B%AE%E5%BD%95.png)
我知道我能跑
$ tar xf somefile.tar.gz -C somedir
将 tar.gz 文件解压到 somedir,但是这需要 somedir 首先存在。
如果目录不存在,有没有办法提取到目录并动态创建目录?
答案1
使用 GNUtar
命令,您可以执行以下操作:
tar -xf somefile.tar.gz --one-top-level=somedir
从man 1 tar
:
--one-top-level[=DIR]
Extract all files into DIR, or, if used without argument, into a subdirectory named
by the base name of the archive (minus standard compression suffixes recognizable
by --auto-compress).