找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 155|回复: 0

Linux命令行万能解压命令

[复制链接]

81

主题

8

回帖

711

积分

高级会员

积分
711
发表于 2023-11-3 23:34:09 | 显示全部楼层 |阅读模式
在Linux系统下,有多种压缩包格式可供选择,而在命令行下解压不同格式的压缩包时,需要使用不同的命令和参数。对于我们来说,记住这么多命令是相当困难的。

不过,我们可以编写一个万能的解压命令,以替代这些繁琐的解压命令,这样我们只需要记住一条命令即可。

以下是具体的步骤分享:

1、在用户目录创建一个.autoex.sh脚本
image-20230904210028192
image-20230904210028192
脚本的内容如:

#copy from https://ynome.wordpress.com/2013/04/14/linux-%E9%80%9A%E7%94%A8%E8%A7%A3%E5%8E%8B/ex () {
        if [[ -z “$1” ]] ; then
               print -P “usage: \e[1;36mex\e[1;0m ”
               print -P ”       Extract the file specified based on the extension”
        elif [[ -f $1 ]] ; then
           case $1 in
             *.tar)       tar xvf  $1    ;;
             *.tbz2)      tar xvf  $1    ;;
             *.tgz)       tar xvf  $1    ;;
             *.tar.bz2)   tar xvf  $1    ;;
             *.tar.gz)    tar xvf  $1    ;;
             *.tar.xz)    tar xvf  $1    ;;
             *.tar.Z)     tar xvf  $1    ;;
             *.bz2)       bunzip2v $1    ;;
             *.rar)       rar x $1       ;;
             *.gz)        gunzip $1      ;;
             *.zip)       unzip $1       ;;
             *.Z)         uncompress $1  ;;
             *.xz)        xz -d $1       ;;
             *.lzo)       lzo -dv $1     ;;
             *.7z)        7z x $1        ;;
             *)           echo "'$1' cannot be extracted via extract()" ;;
           esac
       else
         echo “‘$1’ is not a valid file”
       fi
    }


             # *.tar)       tar xvf  $1     ;;
             # *.tbz2)      tar xvjf $1    ;;
             # *.tgz)       tar xvzf $1    ;;
             # *.tar.bz2)   tar xjvf $1    ;;
             # *.tar.gz)    tar xvzf $1    ;;
             # *.tar.xz)    tar Jxf  $1    ;;
             # *.tar.Z)     tar xvZf $1    ;;


脚本来源:https://github.com/zqb-all/git-dot-files/blob/master/.autoex.sh



2、修改.bashrc文件
image-20230904210031527
image-20230904210031527
增加如下内容:

if [ -f ~/.autoex.sh ]; then
     . ~/.autoex.sh
fi
image-20230904210035508
image-20230904210035508
修改完成之后,执行如下命令使之生效:

source ~/.bashrc
3、解压测试
解压命令为:

ex file
(1)解压.zip后缀压缩文件
image-20230904210041043
image-20230904210041043
(2)解压.tar.xz后缀压缩文件
image-20230904210045325
image-20230904210045325
(3)解压.7z后缀压缩文件
image-20230904210050023
image-20230904210050023
因为这个命令能满足大多数常见情况解压的使用所以我们称之为万能命令,但是并未可以满足所有情况,我们可以根据实际使用情况修改完善.autoex.sh来完善这个万能解压命令ex。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|HS2V主机综合交流论坛

GMT+8, 2024-11-15 17:57 , Processed in 0.046019 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表