我想解压 /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 文件,因此不需要j
或z
选项; Solaris tar 将自动为您识别压缩的 tar 文件。