zip和tar如何处理符号链接(symbol link)

通过一个小实验验证 zip和tar如何处理 符号链接

建立一个目录如下

payne@payne-desktop:~/ziptest/1$ ls -l
total 4
drwxr-xr-x 2 payne payne 4096 2013-09-05 17:07 a
lrwxrwxrwx 1 payne payne    7 2013-09-05 17:07 a.link -> a/a.txt
lrwxrwxrwx 1 payne payne   17 2013-09-05 17:08 jb.sh -> /home/payne/jb.sh


zip

用下面命令打包文件

zip -r 1.zip 1/

在win7 上解开发现,symbol link 都被真实文件替代


看 zip 的 help 原来有 -y 参数,指定处理 symbol  link, 用下面的重新打包

zip -ry 1.zip 1/

在win7 上解压发现,symbol link 都变成了小的文本文件

其文本内容如下:

--- a.link   ---

a/a.txt

--- jb.sh   ---

/home/payne/jb.sh


到另外一台 linux 上用 unzip 解压此文件

symbol link 被还原

相对目录的 a/a.txt 是正常的符号链接, 而jb.sh 是错误,因为被link的文件不存在



tar

改用 tar 进行上面的测试, 发现tar是可以保存和还原 symbol link

打包命令:tar czvf 1.tar.gz 1

解包命令:tar xzvf 1.tar.gz

 

只是在 win7 中解开 1.tar.gz看, symbol link  是 0 字节, 而不像 zip 那样,保存为内容为被link文件路径的的文本


结论

tar 和 zip 都可以保存和还原符号链接,只是 zip 需要用 -y 参数,否则符号链接直接用被link文件替换


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值