Linux 压缩命令与解压脚本

后缀工具压缩解压
.tartartar cvf FileName.tar DirNametar xvf FileName.tar
.gzgzipgzip FileNamegzip -d FileName.gz
.bz2bzip2bzip2 -z FileNamebzip2 -d FileName.bz2
.Zcompresscompress FileNamecompress -d FileName.Z
.xzxzxz -z FileNamexz -d FileName.xz
.zip(un)zipzip FileName.zip DirNameunzip FileName.zip
.rarrarrar a FileName.rar DirNamerar x FileName.rar
.lhalhalha -a FileName.lha FileNamelha -e FileName.lha
.tar.gztar+tar zcvf FileName.tar.gz DirNametar zxvf FileName.tar.gz
.tgztar+tar zcvf FileName.tar.gz DirNametar zxvf FileName.tar.gz
.tar.bz2tar+tar jcvf FileName.tar.bz2 DirNametar jxvf FileName.tar.bz2
.tar.Ztar+tar Zcvf FileName.tar.Z DirNametar Zxvf FileName.tar.Z
.tar.xztar+tar Jcvf FileName.tar.xz DirNametar Jxvf FileName.tar.xz

Linux 的解压命令太繁琐了,即便是运维老司机也会感到头痛,这里我分享一个 Shell 脚本,可以一键解压以下格式的文件:

.zip, .rar, .bz2, .gz, .tar, .tbz2, .tgz, .Z, .7z, .xz, .exe, .tar.bz2, .tar.gz, .tar.xz, .arj, .cab, .chm, .deb, .dmg, .iso, .lzh, .msi, .rpm, .udf, .wim, .xar .cpio, .cbr, .cbz, .cb7, .cbt, .cba

SAVEIFS=$IFS
IFS=$(echo -en "\n\b")

function extract {
 if [ -z "$1" ]; then
    # display usage if no parameters given
    echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
    echo "       extract <path/file_name_1.ext> [path/file_name_2.ext] [path/file_name_3.ext]"
 else
    for n in "$@"
    do
      if [ -f "$n" ] ; then
          case "${n%,}" in
            *.cbt|*.tar.bz2|*.tar.gz|*.tar.xz|*.tbz2|*.tgz|*.txz|*.tar) 
                         tar xvf "$n"       ;;
            *.lzma)      unlzma ./"$n"      ;;
            *.bz2)       bunzip2 ./"$n"     ;;
            *.cbr|*.rar)       unrar x -ad ./"$n" ;;
            *.gz)        gunzip ./"$n"      ;;
            *.cbz|*.epub|*.zip)       unzip ./"$n"       ;;
            *.z)         uncompress ./"$n"  ;;
            *.7z|*.arj|*.cab|*.cb7|*.chm|*.deb|*.dmg|*.iso|*.lzh|*.msi|*.pkg|*.rpm|*.udf|*.wim|*.xar)
                         7z x ./"$n"        ;;
            *.xz)        unxz ./"$n"        ;;
            *.exe)       cabextract ./"$n"  ;;
            *.cpio)      cpio -id < ./"$n"  ;;
            *.cba|*.ace)      unace x ./"$n"      ;;
            *)
                         echo "extract: '$n' - unknown archive method"
                         return 1
                         ;;
          esac
      else
          echo "'$n' - file does not exist"
          return 1
      fi
    done
fi
}

IFS=$SAVEIFS

安装步骤:

  1. 编辑 .bashrc 文件:vim ~/.bashrc
  2. 复制 Shell 代码到 .bashrc 文件
  3. 启动 bash shell:source ~/.bashrc

解压测试:

  1. 下载 Python 源码包:wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
  2. 解压 tar.xz 文件:extract Python-3.7.0.tar.xz
    原文作者:scriptgeeker
    原文地址: https://segmentfault.com/a/1190000016028073
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞