在与符号链接同名的目录中提取符号链接的zip文件的内容

时间:2017-03-02 08:12:12

标签: linux shell unix zip symlink

我有一个zip文件名app.zip,其中有多个名为kafka.zip的符号链接,hdfs.zip等等。

$ll
lrwxrwxrwx  1 xyz xyz    7 Mar  2 13:35 app.zip
lrwxrwxrwx  1 xyz xyz    7 Mar  2 13:35 hdfs.zip -> app.zip
lrwxrwxrwx  1 xyz xyz    7 Mar  2 13:23 kafka.zip -> app.zip
lrwxrwxrwx  1 xyz xyz    7 Mar  2 13:35 myapp.zip -> app.zip

当我提取任何符号链接的zip文件时,它会创建一个包含原始文件名的目录,如下所示:

$ unzip kafka.zip 
Archive:  kafka.zip
   creating: app/
 extracting: app/my.properties       
 extracting: app/my.sh      

我想用symlink名称提取它,我的意思是如果我要提取kafka.zip,那么目录名应该是kafka而不是app。

1 个答案:

答案 0 :(得分:0)

在解压缩命令中,您可以指定文件夹:

unzip kafka.zip -d kafka

据我了解,您希望在没有额外参数的情况下自动执行此操作,因此您可以创建一个小脚本来运行解压缩命令,例如:

#!/bin/bash
unzip $1 -d ${1%.zip}

然后运行:

myunzip.sh kafka.zip