在保留相对路径的同时压缩目录

时间:2014-08-05 16:52:43

标签: bash zip

我有一个文件目录:

/home/user/files/1.txt
/home/user/files/2.txt
/home/user/files/3.txt

我想将files目录压缩到files.zip,所以在提取后我得到:

files/1.txt
files/2.txt
files/3.txt

我知道我能做到:

# bash
cd /home/user; zip -r files.zip files/

如果没有cd user目录,有没有办法做到这一点?

我知道--junk-paths标志只存储文件名和垃圾路径,但我想将files目录保存为容器。

1 个答案:

答案 0 :(得分:1)

无法使用zip命令找到直接方法,但您可以使用-C选项尝试“tar”命令。

$ pwd

/home/shenzi

$ ls -l giga / files

total 3
-rw-r--r-- 1 shenzi Domain Users 3 Aug  5 11:24 1.txt
-rw-r--r-- 1 shenzi Domain Users 4 Aug  5 11:25 2.txt
-rw-r--r-- 1 shenzi Domain Users 9 Aug  5 11:25 3.txt

$ tar -Ciga -cvf files.zip files / *

files/1.txt
files/2.txt
files/3.txt

$ tar -tvf files.zip

-rw-r--r-- shenzi/Domain Users 3 2014-08-05 11:24 files/1.txt
-rw-r--r-- shenzi/Domain Users 4 2014-08-05 11:25 files/2.txt
-rw-r--r-- shenzi/Domain Users 9 2014-08-05 11:25 files/3.txt

USE: -xvf 提取