全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 463|回复: 1
打印 上一主题 下一主题

Linux命令行万能解压命令

[复制链接]
跳转到指定楼层
1#
发表于 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|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-29 14:38 , Processed in 0.068316 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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