无法将整个 tar 提取到Solaris中的特定目录

无法将整个 tar 提取到Solaris中的特定目录

我想解压 /tmp/moht/104.tar/tmp/moht/目录

ls -ltr /tmp/moht/104.tar
-rwxrwxr-x   1 meadmin  meadmin  933498880 Jan  5 07:03 /tmp/moht/104.tar

我尝试了以下命令,但它没有提取到/tmp/moht/目录。

-v尽管我使用了命令选项,但它甚至不打印任何提取输出tar

以下是我尝试过的一切。

tar -xvf 104.tar --directory /tmp/moht/
tar -zvxf 104.tar --directory /tmp/moht/
tar -zvxf 104.tar -C /tmp/moht/
tar -jvxf 104.tar -C /tmp/moht/

如果我cd /tmp/moht触发这个命令,tar -xf 104.tar那么文件就会被正确提取。

我正在使用 Sun Solaris Sparc。我不想 cd 但给出 tar 文件和目标的绝对路径。我用的不是GNU tar,而是Solaris自带的tar。

这将是脚本的一部分,因此所有文件名和路径都将更改为变量;因此我的要求非常具体。你能建议一下吗?

答案1

Solaris 焦油不支持-C在提取过程中使用(大概是 GNU tar)选项在提取之前更改目录。 Solaris tar-C选项指定要归档或提取哪些文件或目录。因此,您需要cd转到要放置解压文件的目录。

cd /tmp/moht && tar xf 104.tar

请注意,Solaris tar 不使用诸如 之类的连字符函数-xf ...,而是使用裸字母选项:xf ...。另请注意104.tar表示未压缩的 tar 文件,因此不需要jz选项; Solaris tar 将自动为您识别压缩的 tar 文件。

相关内容