Linux中zip和tar处理软链接的差异与选择
- 系统环境
cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) getenforce Disabled
- 安装zip,unzip
#直接yum安装 yum install -y zip unzip
- 创建实验文件
#cd到tmp目录下 cd /tmp
#创建目录及文件 mkdir test echo "this is a test file" > test.txt cd ./test echo "datagrand.com" > datagrand
#创建软链接文件 ##这里的软连接文件,我创建两种,一种源文件是在tmp目录下的,一种源文件是在/tmp/test目录下。具体创建流程如下: ln -s /etc/passwd /tmp/passwd ln -s /tmp/test/datagrand /tmp/datagrand
#查看实验用的所有文件 pwd /tmp ls -l lrwxrwxrwx 1 root root 19 5月 16 18:33 datagrand -> /tmp/test/datagrand lrwxrwxrwx 1 root root 11 5月 16 18:31 passwd -> /etc/passwd drwxr-xr-x 2 root root 23 5月 16 18:33 test -rw-r--r-- 1 root root 20 5月 16 18:30 test.txt
- zip实战
#当前路径 pwd /
#打包详情 zip -r tmp.zip ./tmp adding: tmp/ (stored 0%) adding: tmp/test/ (stored 0%) adding: tmp/test/datagrand (stored 0%) adding: tmp/test.txt (stored 0%) adding: tmp/passwd (deflated 60%) adding: tmp/datagrand (stored 0%)
#解包 unzip tmp.zip ll 总用量 4 drwxrwxrwx 9 root root 232 5月 16 19:00 tmp -rw-r--r-- 1 root root 3219 5月 16 19:00 tmp.zip cd ./tmp -rw-r--r-- 1 root root 14 5月 16 18:33 datagrand -rw-r--r-- 1 root root 1454 4月 20 18:58 passwd drwxr-xr-x 2 root root 23 5月 16 18:33 test -rw-r--r-- 1 root root 20 5月 16 18:30 test.txt
#说明 (1)使用unzip,原打包文件还是存在的,如上例tmp.zip。 直接使用zip打包,软连接会消失,原来的软链接文件被源文件的内容所代替,相当于原来的软链接变成了硬链接。
#使用参数-y ##为使zip能够保留软链接 zip -ry tmp2.zip tmp unzip tmp2.zip ll lrwxrwxrwx 1 root root 19 5月 16 19:22 datagrand -> /tmp/test/datagrand lrwxrwxrwx 1 root root 11 5月 16 19:22 passwd -> /etc/passwd drwxr-xr-x 2 root root 23 5月 16 18:33 test -rw-r--r-- 1 root root 20 5月 16 18:30 test.txt
#说明 zip使用参数-y,可以保留原文件中的软链接。
- tar实战
#cd到tmp目录 cd /tmp
#tar打包压缩 tar -zcvf tmp3.tgz .
#解压缩 tar zxvf tmp3.tgz
#查看解压后的文件 lrwxrwxrwx 1 root root 19 5月 16 18:33 datagrand -> /tmp/test/datagrand lrwxrwxrwx 1 root root 11 5月 16 18:31 passwd -> /etc/passwd drwxr-xr-x 2 root root 23 5月 16 18:33 test -rw-r--r-- 1 root root 20 5月 16 18:30 test.txt -rw-r--r-- 1 root root 478 5月 16 19:28 tmp3.tgz
#说明 (1)tar解压缩后,原压缩文件还是存在的,如上所示。 (2)使用tar打包压缩可以保留原文件中的软链接。
- 总结
鉴于上面的测试,我们可以看出,两者均是可以保留原文件中的软链接的,可根据自己的喜好来使用。
via http://blog.51cto.com/wutengfei/2117119
相关博文
Linux中zip和tar处理软链接的差异与选择