不考虑 7z 等其他可取代的命令。
$ tree top
top
├── a.txt
└── b
└── b.txt
假设我想将 top 下面的两个文件(a.txt, b/b.txt)和一个文件夹(b/)打包到一个 zip 文件,我只能进入这个 top 目录然后再进行压缩:
$ cd top
$ zip -r ../top.zip ./
如果我想在 top 目录之外进行压缩:
$ zip -r top.zip top/
则怎么都不行,-j
参数将所有的目录(比如 b/)都去除了。
我期望的 zip entry 是:
a.txt
b/b.txt
不希望是:
top/a.txt
top/b/b.txt
1
jayeli 97 天前
bsdtar --strip-components=1
|
2
sagaxu 97 天前
假设 zip 支持这个特性,
zip --strip-components=1 -r top.zip top/ 跟 ( cd top && zip -r ../top.zip ./ ) 有区别? |
4
yukafans 97 天前 via Android
popd
|
5
ltux 97 天前 1
zip 不支持你说的特性。
|
6
proxytoworld 97 天前
pushd
cd popd |