linux 命令行封装,自己封装Linux命令行万能解压命令
问题背景
Linux下经常需要解压文件,直接在命令行敲命令解压是最便捷的。
但问题在于,不同的压缩格式,需要用不同命令和不同参数,完全记不住啊。
解决方式
既然记不住,那就换一种思路,假如有一条命令能解压所有文件,那就只需要记住这一条了。似乎可以写个脚本来处理,上网一搜,果然这么现实的需求早就有人想过并实现了。
看起来作者也是从别处学到的,就不继续溯源了。思路就是写个脚本来处理,如下
#写入.bashrc或.zshrc
ex () {
if [[ -z “$1” ]] ; then
print -P “usage: \e[1;36mex\e[1;0m < filename >”
print -P ” Extract the file specified based on the extension”
elif [[ -f $1 ]] ; then
case $1 in
*.tar.bz2) tar xjfv $1 ;;
*.tar.gz) tar xzfv $1 ;;
*.bz2) bunzip2v $1 ;;
*.rar) rar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.xz) xz -d $1 ;;
*.7z) 7z x $1 ;;
*) echo “‘$1’ cannot be extracted via extract()” ;;
esac
else
echo “‘$1’ is not a valid file”
fi
}
将上述脚本,直接写到.bashrc中即可。
后续想要解压某个文件,直接执行ex+文件名即可。如果碰到不支持的,那搜索一下,加入此脚本,后面也就支持了。
我的修改
我为了方便管理,是单独建立了一个.autoex.sh,并在.bashrc中加了
. ~/.autoex.sh
后面了解到,tar命令支持自动检测类型,于是把原脚本中tar系列的命令的参数,都改成了xvf.
ex () {
if [[ -z “$1” ]] ; then
print -P “usage: \e[1;36mex\e[1;0m < filename >”
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
}
其他
用了两年了,确实方便。但也有需要注意的,那就是,这个脚本是靠后缀名来区分文件的,要是碰到不靠谱的压缩文件制作者,搞错后缀名,就可能搞不定了。
这个时候,可以用file命令查看下文件类型,再对症下药。
实在不行,就用xdg-open命令用GUI程序打开试试(xdg-open的介绍:https://www.cnblogs.com/zqb-all/p/10666474.html)。
标签:解压,脚本,封装,tar,xz,file,Linux,xvf
来源: https://www.cnblogs.com/zqb-all/p/10854199.html
linux 命令行封装,自己封装Linux命令行万能解压命令相关推荐
- Linux命令行万能解压命令
Linux命令行万能解压命令 Linux命令行万能解压命令 1.在用户目录创建一个.autoex.sh脚本 脚本的内容如: #copy from https://ynome.wordpress.com ...
- linux下解压命令.7z,CentOS 下安装7-Zip 以及常用的解压命令
在SHH或者终端下输入:yum –y install p7zip(如果提示找不到资源,则要自己下载编译安装,命令如:) wget http://nchc.dl.sourceforge.net/sour ...
- linux+压缩率最高的命令,Linux压缩解压命令tar、tgz、tar.bz2压缩比率对比
在Linux系统下用户最常用到的压缩解压命令是tar.tar.gz(tgz).tar.bz2,当然还有gz.zip.rar,下面将对tar.tar.gz(tgz).tar.bz2这三个命令进行压缩比率 ...
- linux 如何打包分区文件,Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接...
作业一: 1)将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt 2)将用户信息数据库文件和用户 ...
- Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)
一.目录篇: 1.文件处理命令:cp 英文原意:copy 语法:cp -rp[源文件或目录][目的目录] 源文件可以同时是多个,即同时复制到多个文件 -r 复制目录 -p保留文件属性,比如文件创建时间 ...
- linux+gunzip解压命令,Linux gunzip命令解析 gunzip解压文件的方法
我们已经讨论过 Linux 下 gzip 命令的用法.对于初学者来说,gzip 工具主要用于压缩或者展开文件.解压时,在 gzip 命令后添加 -d 选项即可,使用示例如下: gzip -d [com ...
- linux下unzip解压命令,linux的unzip解压命令的详细解释
Linux中的unzip命令主要是用来解压zip格式的压缩文件.下面由学习啦小编为大家整理了Linux的unzip解压命令的详细解释,希望对大家有帮助! linux的unzip解压命令的详细解释 命令 ...
- Linux常用文件压缩/解压命令格式大全(tar、gzip、bzip2、zip、compress、cpio、compress、dd)建议收藏
Linux常用文件压缩/解压命令格式大全 1. tar 2. gzip 3. bzip2 4. zip 5. compress 6. cpio 7.dd 1. tar 打包备份后的文件包缀:.tar ...
- [转]linux tar 解压命令总结
转: http://blog.csdn.net/imyang2007/article/details/7634470 把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 ...
最新文章
- 朋友圈装死,微博蹦迪,Python教你如何掌握女神情绪变化 | CSDN博文精选
- 语义分割--Dilated Residual Networks 之转载
- 互联网的本质:也论 Web2.0 和 Web1.0
- Android------Android.mk调用shell脚本
- 事务回滚什么意思 try_三问Spring事务:解决什么问题?如何解决?存在什么问题?...
- 如何用js获取浏览器URL中查询字符串的参数
- cuda cudnn tensorflow对应_Ubuntu18.04下安装Tensorflow+cuda+cudnn+pytorch
- java获取access token_【Java示例】如何获取AccessToken
- 微信小程序教程、微信小程序开发资源下载汇总(6.16日更新,持续更新中……)...
- Oracle 11g 创建数据库
- 论计算机维护论文,论计算机装与维护毕业论文.docx
- 跳槽的新公司,我直接让项目的性能提升了一半
- GitLab CI 介绍
- Python加密破解爬取七麦数据网APP榜单数据
- php考研难么,版主2006年考研经验谈:考研并不难
- 长沙学院计算机科学与技术排名,长沙学院计算机科学与技术系
- DateTime获取两小时前的时间
- 用标号法求最短路径matlab,标号法求最短路径例题详解重点.ppt
- 台式网卡计算机,台式机网卡,台式机网卡在哪里
- 记录一次文本挖掘 情感分析的项目过程