012 压缩及解压缩命令

一、gzip & gunzip

gzip 用于压缩文件;gunzip 用于解压缩文件。

  • 基本语法:
    gzip 文件 : 压缩文件,只能将文件压缩为*.gz
    gunzip 文件.gz: 解压缩文件命令
    备注: 压缩或者解压缩后,不会保留源文件。
[root@Hill wangqiang]# ls
cal.txt  dog  link2root  test.txt
[root@Hill wangqiang]# gzip test.txt
[root@Hill wangqiang]# ls
cal.txt  dog  link2root  test.txt.gz
[root@Hill wangqiang]# gunzip test.txt.gz
[root@Hill wangqiang]# ls
cal.txt  dog  link2root  test.txt
[root@Hill wangqiang]#
 

二、 zip & unzip | [常用]

zip 用于压缩文件;unzip 用于解压。

  • 基本用法:
    zip [选项] xxx.zip 将要压缩的内容。(功能描述:压缩文件和目录的命令)
    unzip [选项] xxx.zip。 (功能描述:解压缩文件)

  • zip 常用选项
    -r :递归压缩,即压缩目录

  • unzip 常用选项
    -d <目录>:指定解压缩后文件的位置

-eg:

## 1. 压缩
[root@Hill wangqiang]# zip -r mypackage.zip  /home/wangqiang/
  adding: home/wangqiang/ (stored 0%)
  adding: home/wangqiang/dog/ (stored 0%)
  adding: home/wangqiang/link2root/ (stored 0%)
  adding: home/wangqiang/link2root/.bash_profile (deflated 21%)
  adding: home/wangqiang/link2root/.oracle_jre_usage/ (stored 0%)
  adding: home/wangqiang/link2root/.oracle_jre_usage/593c6814e38be419.timestamp (stored 0%)
  adding: home/wangqiang/link2root/.ssh/ (stored 0%)
  adding: home/wangqiang/link2root/.ssh/known_hosts (deflated 10%)
  adding: home/wangqiang/link2root/.bashrc (deflated 23%)
  adding: home/wangqiang/link2root/.bash_logout (stored 0%)
  adding: home/wangqiang/link2root/.bash_history (deflated 67%)
  adding: home/wangqiang/test.txt (deflated 30%)
  adding: home/wangqiang/.bash_profile (deflated 21%)
  adding: home/wangqiang/.bashrc (deflated 23%)
  adding: home/wangqiang/.bash_logout (stored 0%)
  adding: home/wangqiang/cal.txt (deflated 30%)
  adding: home/wangqiang/.bash_history (deflated 46%)
[root@Hill wangqiang]# ls
cal.txt  dog  link2root  mypackage.zip  test.txt
## 解压缩到其他文件夹
[root@Hill wangqiang]# unzip -d /opt/tmp mypackage.zip
Archive:  mypackage.zip
   creating: /opt/tmp/home/wangqiang/
   creating: /opt/tmp/home/wangqiang/dog/
   creating: /opt/tmp/home/wangqiang/link2root/
  inflating: /opt/tmp/home/wangqiang/link2root/.bash_profile
   creating: /opt/tmp/home/wangqiang/link2root/.oracle_jre_usage/
 extracting: /opt/tmp/home/wangqiang/link2root/.oracle_jre_usage/593c6814e38be419.timestamp
   creating: /opt/tmp/home/wangqiang/link2root/.ssh/
  inflating: /opt/tmp/home/wangqiang/link2root/.ssh/known_hosts
  inflating: /opt/tmp/home/wangqiang/link2root/.bashrc
 extracting: /opt/tmp/home/wangqiang/link2root/.bash_logout
  inflating: /opt/tmp/home/wangqiang/link2root/.bash_history
  inflating: /opt/tmp/home/wangqiang/test.txt
  inflating: /opt/tmp/home/wangqiang/.bash_profile
  inflating: /opt/tmp/home/wangqiang/.bashrc
 extracting: /opt/tmp/home/wangqiang/.bash_logout
  inflating: /opt/tmp/home/wangqiang/cal.txt
  inflating: /opt/tmp/home/wangqiang/.bash_history
[root@Hill wangqiang]# ls /opt/tmp/
home

三、tar 指令

  • tar指令是打包指令,最后打包后的文件是.tar.gz的文件
  • 基本语法
    tar [选项] xxx.tar.gz 打包的类容 (功能描述:打包目录,压缩后的格式为.tar.gz)
  • 常用选项说明:
  1. -c : 产生.tar打包文件
  2. -v :显示详细信息
  3. -f :指定压缩后的文件名
  4. -z:打包同时压缩
  5. -x:解包.tar文件

案例说明:

  • 案例1:
    压缩多个文件,将/home/a1.txt和 /home/a2.txt 压缩成a.tar.gz
[root@Hill ~]# cd /home/
[root@Hill home]# ls
dog  hill  user0  wangqiang  zwj
[root@Hill home]# touch a1.txt a2.txt
[root@Hill home]# ls
a1.txt  a2.txt  dog  hill  user0  wangqiang  zwj
[root@Hill home]# tar -zcvf a.tar.gz a1.txt a2.txt
a1.txt
a2.txt
[root@Hill home]# ls
a1.txt  a2.txt  a.tar.gz  dog  hill  user0  wangqiang  zwj
[root@Hill home]#

  • 案例2:
    将/home的文件夹压缩成myhome.tar.gz
[root@Hill home]# tar -zcvf myhome.tar.gz /home/
[root@Hill home]# ls
a1.txt  a2.txt  a.tar.gz  dog  hill  myhome.tar.gz  user0  wangqiang  zwj
[root@Hill home]#

  • 案例3:
    将a.tar.gz 解压到当前文件夹
[root@Hill home]# rm a1.txt a2.txt
[root@Hill home]# ls
a.tar.gz  dog  hill  myhome.tar.gz  user0  wangqiang  zwj
[root@Hill home]# tar -zxvf a.tar.gz
a1.txt
a2.txt
[root@Hill home]# ls
a1.txt  a2.txt  a.tar.gz  dog  hill  myhome.tar.gz  user0  wangqiang  zwj
[root@Hill home]#

  • 案例4:
    将myhome.tar.gz解压到opt/tmp目录下
[root@Hill home]# ls /opt/tmp/
[root@Hill home]# clear
[root@Hill home]# ls
a1.txt  a2.txt  a.tar.gz  dog  hill  myhome.tar.gz  user0  wangqiang  zwj
[root@Hill home]# tar -zxvf myhome.tar.gz -C /opt/tmp/
[root@Hill home]# ls /opt/tmp/
home
[root@Hill home]#

备注: 指定解压到某个目录时,目录必须存在。否则会报错

[root@Hill home]# tar -zxvf myhome.tar.gz -C /opt/temmmmmmmmmmmmm
tar: /opt/temmmmmmmmmmmmm:无法 open: 没有那个文件或目录
tar: Error is not recoverable: exiting now
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容