Linux中zip和tar处理软链接的差异与选择

  1. 系统环境

    cat /etc/redhat-release
    CentOS Linux release 7.3.1611 (Core)
    getenforce
    Disabled
  2. 安装zip,unzip
    #直接yum安装
    yum install -y zip unzip
  3. 创建实验文件
    #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
  4. 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,可以保留原文件中的软链接。
  5. 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打包压缩可以保留原文件中的软链接。
  6. 总结
    鉴于上面的测试,我们可以看出,两者均是可以保留原文件中的软链接的,可根据自己的喜好来使用。

转载于:https://blog.51cto.com/wutengfei/2117119

Linux中zip和tar处理软链接的差异与选择相关推荐

  1. 解压文件到服务器是什么意思,linux中zip文件解压命令是什么

    linux中zip文件解压命令是什么 发布时间:2020-10-15 14:35:15 来源:亿速云 阅读:102 作者:小新 这篇文章给大家分享的是有关linux中zip文件解压命令是什么的内容.小 ...

  2. linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解

    下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...

  3. linux中zip文件解压命令,Linux中zip压缩和unzip解压缩命令使用方法

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.在Linux中,我们可以利用命令进行文件压缩,即zip压缩和unzip解压缩,这篇文章主要介绍了详解Linux中zi ...

  4. linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解

    如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...

  5. linux中解压tar.gz或zip类型的文件到具体文件夹

    zip对应的解压缩命令为unzip 命令格式:unzip [选项] 压缩包名 选项: -d:指定解压缩位置.示例: unzip -d /tmp/ test.zip 将tar.gz文件解压到指定的目录中 ...

  6. Linux中的硬链接和软链接

    1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接] 硬连接指通过索引 ...

  7. linux中zip文件编码错误,解决linux下zip文件解压乱码问题

    原标题:解决linux下zip文件解压乱码问题 解决linux下zip文件解压乱码问题 原因 由于zip格式并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此, ...

  8. 如何在 Linux 中 zip 压缩文件和文件夹

    zip 是最流行的归档文件格式之一.使用 zip,你可以将多个文件压缩到一个文件中.这不仅节省了磁盘空间,还节省了网络带宽.这就是为什么你几乎一直会看到 zip 文件的原因. 作为普通用户,大多数情况 ...

  9. linux中zip文件编码错误,如何避免在 Linux 下解压 zip 文件时可能出现的乱码情况...

    zip 格式的压缩包应该是我们最常见的一种压缩格式了,不过这种格式虽然常见,但却有一点很不好,就是它并不会保存里面文件的编码格式,而这也会导致在解压压缩包时出现一种很常见的问题,就是乱码. 当前 Li ...

最新文章

  1. 老实守法的人是怎样成为笑柄的?
  2. 虚幻引擎发布4.8版,支持VR虚拟设备
  3. puppet系列之nginx+php日志切割与salt结合使用
  4. 每天一个linux命令(9):nl命令
  5. 高并发项目Java是标配?.NET Core要将它拉下“神坛”!
  6. 6.0动态加载权限用PermissionGen
  7. [翻译]SQL Server 工作集消息
  8. php+堆排序算法,PHP实现排序堆排序(Heap Sort)算法
  9. mysql事件类型_MySQL binlog中的事件类型
  10. ssh(安全协议外壳)
  11. linux texlive 中文,Ubuntu 安装 TexLive2013 及中文支持
  12. 《计算机网络》学习——第3章 数据链路层
  13. 微信小程序之 收藏功能
  14. 东南大学成贤学院计算机类怎么样,东南大学成贤学院什么专业比较好 怎么选择专业...
  15. 超级玛丽 Super Mario java基础小游戏:基于JAVA面向对象实现的超级马里奥(Super Mario)游戏(简单小游戏,仅仅使用Java面向对象基础实现(附上源码))
  16. 数实融合激变时刻,与长期主义同行
  17. 利用ECharts在线生成图表
  18. 阿里云 CDN 问题排查
  19. 读《测试构架师修炼之道》-Chapter3 测试构架师应该做的事
  20. 设计模式-享元模式、享元模式示例

热门文章

  1. 谷歌发布GPhone 创始人亲自上阵
  2. 了解这12个概念,让你的JavaScript水平更上一层楼
  3. tableview分割线
  4. 《中国人工智能学会通讯》——7.7 结束语
  5. Unity延迟和重复调用方法
  6. 遍历进程并获取进程路径 - 回复 编程少年 的问题
  7. python 广告分析算法_[Python]研究广告渠道的特征数据与结果数据的相关性, 并对渠道作出评分模型...
  8. redis key命名规范_公司内部 Redis 使用规范
  9. 基于模板的通用代码生成器LKGenerator(四)-核心技术之各种数据库查询表信息sql整理...
  10. jsp在ie6中css的margin属性失效问题