file命令可以辨别出一个给定文件的文件类型,如:file lf.gz,其输出结果为:

lf.gz: gzip compressed data, deflated, original filename,

last modified: Mon Aug 27 23:09:18 2001, os: Unix

我们利用这点写了一个名为smartzip的脚本,该脚本可以自动解压bzip2, gzip和zip 类型的压缩文件:

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export PATH

ftype="$(file "$1")"

case "$ftype" in

"$1: Zip archive"*)
unzip "$1" ;;
"$1: gzip compressed data"*)
tar xzvf "$1";;
"$1: bzip2 compressed data"*)
tar xjvf "$1";;
*) echo "File $1 can not be uncompressed with smartzip";;

esac

你可能注意到上面使用了一个特殊变量$1,该变量包含有传递给该脚本的第一个参数值。也就是说,当我们运行:

smartzip articles.zip

$1 就是字符串 articles.zip。

转载于:https://www.cnblogs.com/sengling/p/5516742.html

linux下面的智能解压脚本smart解压相关推荐

  1. linux 补丁脚本,Linux上打patch补丁包脚本全解

    今天我又要展示一样重要的技术--在Linux上写patch脚本,话不多说,且看: 一 . 首先要打的包肯定是回滚事物包, 就是BackUp包, 在我们要打补丁前当然要备份服务器上的数据,不然出了问题, ...

  2. Linux:shell 脚本 自动解压压缩文件tar.gz到指定目录

    具体情境 Ubuntu16.04系统,将.tar.gz格式的文件从/home/myftp/upload/nuodongiot目录自动解压到/home/myftp/upload/backupcopy目录 ...

  3. linux tar.xz 解压命令,Linux下.tar.xz文件的解压教程详解

    前言 对于xz这个压缩相信很多人陌生,但xz是绝大数linux默认就带的一个压缩工具,xz格式比7z还要小. 最近在下载某个源码包的时候遇到的这种压缩格式,乘此机会分享一下xz的压缩与解压方法. 安装 ...

  4. 解压zip_go|用Go写一个zip解压脚本

    用服务器自带的unzip命令解压zip包时,经常遇到编码问题,所以用Go写一个zip解压脚本来处理zip包 代码如下: package mainimport ("archive/zip&qu ...

  5. Linux学习之zImage内核镜像解压过程详解

      zImage内核镜像解压过程详解 收藏 zImage内核镜像解压过程详解 作者: 刘洪涛,华清远见嵌入式培训中心 讲师. 本文以linux-2.6.14内核在S3C2410平台上运行为例,讲解内核 ...

  6. ubunt linux解压gz,ubuntu解压命令

    ubuntu解压命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ----------- ...

  7. linux 常用压缩格式,Linux下常用压缩格式的压缩与解压方法

    Linux下常用压缩格式的压缩与解压方法 --------------------------------------------- .tar 打包:tar cvf *.tar *.*(原文件或目录) ...

  8. linux解压命令无法解压.tar.gz

    下载了一个gcc-5.1.0的.tar.gz压缩包,通过在winscp上传到linux系统中,使用命令无法解压.tar.gz,但是没有提示报错. 直接跳转到当前目录,但文件还是没有解压成功 一直解压不 ...

  9. linux如何压缩zip文件格式,linux下常用压缩格式的压缩与解压方法

    linux下常用压缩格式的压缩与解压方法 linux下常用压缩格式的压缩与解压方法 大致总结了一下linux下各种格式的压缩包的压缩.解压方法.但是部分方法我没有用到,也就不全,希望大家帮我补充,我将 ...

最新文章

  1. CC讲坛-大脑疾病背后的秘密-许执恒
  2. 【译】关于机器学习的11个开源工具
  3. 2.2.5 Adam优化算法
  4. java类与对象_Java类与对象
  5. 漫画:通俗易懂的进程与线程解释
  6. Android APK反编译详解(附图)(转)
  7. JQuery:多张图片的淡入淡出效果。
  8. linux 装nano命令,linux下安装 nano 如果没有这个命令的话~~可以看下
  9. [渝粤教育] 西南科技大学 中学英语教材教法 在线考试复习资料
  10. angualr8观察者模式_观察者模式
  11. 精通JavaScript?关于JavaScript的内存与性能问题,你又了解多少呢?
  12. 运营级如意影视源码+完整类库/无限增删解析API
  13. 《球机3D定位解析及ONVIF实现》
  14. simulink AWGN信道使用要点
  15. 熊猫之死,是腾讯对360的又一次胜利
  16. 互联网创业赚钱规则,彻底释放自己的价值吧!丨国仁网络
  17. 鹏鹏:You have 14 unapplied migration(s). Your project may not work properly。。。。报错!
  18. [CF1526B] I Hate 1111(数学)
  19. 知识共享许可协议 Creative Commons Licenses
  20. el-tree对已知节点设置disable

热门文章

  1. java程序设计与问题求解第八版pdf_《Java程序设计与问题求解(第7版)》怎么样_目录_pdf在线阅读 - 课课家教育...
  2. hua图软件 mac_细数Mac上那些好用且免费的软件(四)
  3. python数据对比找不同_利用Python读取文件的四种不同方法比对
  4. _id随机的 es_es 的数据操作
  5. C++中的三种智能指针分析(RAII思想)
  6. 消息通知系统模型设计
  7. POJ 3710 Christmas Game(树删边博弈)
  8. WinFom中经典小游戏(含源码)
  9. 《CCNA无线640-722认证考试指南》——5.4节其他无线拓扑
  10. ios运行某些工程时屏幕上下出现黑边的解决办法