zoukankan      html  css  js  c++  java
  • 在Shell脚本中为zip压缩包添加注释(MD5)

    在shell中使用zip工具打包文件,并希望将文件的MD5值添加到zip压缩包的注释中。

    1. 终端中为zip压缩包添加注释

    1.1. 查看需要被压缩的文件

    终端使用 fonts-powerline 字体,在此处无法正常显示(详情见 linux 安装并配置zsh)。

     pi@ubuntu � ~/project/zip_md5 � ls -al
    total 16
    drwxrwxr-x 2 pi pi 4096 Jun 10 23:24 .
    drwxrwxr-x 5 pi pi 4096 Jun 10 23:23 ..
    -rwxrwxr-x 1 pi pi 5949 Jun  2 20:54 hello-rpi

    1.2. 计算MD5值,并保存到文件中

     pi@ubuntu � ~/project/zip_md5 � md5sum hello-rpi   
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi
     pi@ubuntu � ~/project/zip_md5 � md5sum hello-rpi > hello-rpi.md5
     pi@ubuntu � ~/project/zip_md5 � cat hello-rpi.md5            
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi

     1.3. 使用zip工具制作压缩包

    在命令中加上 -z 选项(”-z   add zipfile comment “);压缩过程中,会提示输入注释,就将生成的MD5值输入(注释结束的方式为:换行,单独输入“.”)。

     pi@ubuntu � ~/project/zip_md5 � zip hello-rpi.zip hello-rpi hello-rpi.md5 -z
      adding: hello-rpi (deflated 59%)
      adding: hello-rpi.md5 (stored 0%)
    enter new zip file comment (end with .):
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi
    .
     pi@ubuntu � ~/project/zip_md5 � ls -al hello-rpi.zip 
    -rw-rw-r-- 1 pi pi 2877 Jun 10 23:34 hello-rpi.zip

    1.4. 查看生成的压缩包及注释

     pi@ubuntu � ~/project/zip_md5 � zipnote hello-rpi.zip 
    @ hello-rpi
    @ (comment above this line)
    @ hello-rpi.md5
    @ (comment above this line)
    @ (zip file comment below this line)
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi

    2. shell脚本中为zip压缩包添加注释

    2.1. 创建脚本do_zipm

     pi@ubuntu � ~/project/zip_md5 � vi do_zipm 

    将如下代码输入,并:wq保存。

    #!/bin/bash
    file_name
    =$1 md5=$(md5sum ${file_name}) echo "${md5}" > ${file_name}.md5 zip -q ${file_name}.zip ${file_name} ${file_name}.md5 -z << EOF ${md5} . EOF

    2.2. 修改权限,执行脚本

     pi@ubuntu � ~/project/zip_md5 � chmod a+x do_zipm 
     pi@ubuntu � ~/project/zip_md5 � ls -al do_zipm      
    -rwxrwxr-x 1 pi pi 163 Jun 11 00:24 do_zipm
     pi@ubuntu � ~/project/zip_md5 � ./do_zipm hello-rpi
     pi@ubuntu � ~/project/zip_md5 � ls -al        
    total 28
    drwxrwxr-x 2 pi pi 4096 Jun 11 00:38 .
    drwxrwxr-x 5 pi pi 4096 Jun 10 23:23 ..
    -rwxrwxr-x 1 pi pi  163 Jun 11 00:24 do_zipm
    -rwxrwxr-x 1 pi pi 5949 Jun  2 20:54 hello-rpi
    -rw-rw-r-- 1 pi pi   44 Jun 11 00:38 hello-rpi.md5
    -rw-rw-r-- 1 pi pi 2877 Jun 11 00:38 hello-rpi.zip

    2.3. 查看注释

     pi@ubuntu � ~/project/zip_md5 � zipnote hello-rpi.zip
    @ hello-rpi
    @ (comment above this line)
    @ hello-rpi.md5
    @ (comment above this line)
    @ (zip file comment below this line)
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi

    3. 验证MD5

    3.1. Raspbian

    pi@raspberrypi:~/project/zip_md5 $ unzip hello-rpi.zip
    Archive:  hello-rpi.zip
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi
      inflating: hello-rpi
     extracting: hello-rpi.md5
    pi@raspberrypi:~/project/zip_md5 $ ls -al
    总用量 24
    drwxr-xr-x 2 pi pi 4096 6月  11 00:30 .
    drwxr-xr-x 5 pi pi 4096 6月  11 00:27 ..
    -rwxrwxr-x 1 pi pi 5949 6月   2 20:54 hello-rpi
    -rw-rw-r-- 1 pi pi   44 6月  11 00:24 hello-rpi.md5
    -rw-r--r-- 1 pi pi 2877 6月  11 00:30 hello-rpi.zip
    pi@raspberrypi:~/project/zip_md5 $ md5sum -c hello-rpi.md5
    hello-rpi: 成功

    3.2. Windows

    PS D:Sharehello-rpi> certutil.exe -hashfile .hello-rpi md5
    MD5 的 .hello-rpi 哈希:
    8417cd4ae26ea57d1c9bf6145ccc4202
    CertUtil: -hashfile 命令成功完成。
    PS D:Sharehello-rpi> & type .hello-rpi.md5
    8417cd4ae26ea57d1c9bf6145ccc4202  hello-rpi
  • 相关阅读:
    组成原理(九):数值表示
    组成原理(八):DMA方式
    组成原理(七):程序查询及中断方式
    组成原理(六):I/O概述
    组成原理(五):缓存,辅存
    组成原理(四):存储器扩展,汉明码,访存提速
    组成原理(三):存储器概述,RAM,ROM
    组成原理(二):总线
    组成原理(一):入门
    django_python3_pycharm_"font&&size"
  • 原文地址:https://www.cnblogs.com/ezrealiu/p/add-comments-for-zip-package-in-shell-script-md5.html
Copyright © 2011-2022 走看看