16、文件压缩和解压

压缩文件gizp

[root@bogon ~]# cd /tmp
[root@bogon tmp]# ls
duanbang  duANbang  wode.txt  yum.log
[root@bogon tmp]# rm -rf *
[root@bogon tmp]# ls
[root@bogon tmp]# cp /etc/services /tmp
[root@bogon tmp]# ls
services
[root@bogon tmp]# gzip services
[root@bogon tmp]# ls
services.gz
[root@bogon tmp]# ls
services.gz
[root@bogon tmp]# gunzip services,gz
gzip: services,gz.gz: No such file or directory
[root@bogon tmp]# gunzip services.gz
[root@bogon tmp]# ls
services
[root@bogon tmp]# 

gzip,只能压缩文件并且不保留源文件

压缩目录tar


[root@bogon tmp]# rm -rf *
[root@bogon tmp]# ls
[root@bogon tmp]# mkdir duanbang
[root@bogon tmp]# mkdir qin
[root@bogon tmp]# cd qin
[root@bogon qin]# touch inqin.txt
[root@bogon qin]# echo haha > inqin.txt
[root@bogon qin]# ks
bash: ks: command not found
[root@bogon qin]# ls
inqin.txt
[root@bogon qin]# cat inqin.txt
haha
[root@bogon qin]# echo duanbang >> inqin.txt
[root@bogon qin]# cat inqin.txt
haha
duanbang
[root@bogon qin]# cd ../
[root@bogon tmp]# tar -zcf duanbang/qin.tar.gz qin 
[root@bogon tmp]# cd duanbang
[root@bogon duanbang]# ls -l
总用量 4
-rw-r--r--. 1 root root 167 927 11:20 qin.tar.gz
[root@bogon duanbang]# cd ..
[root@bogon tmp]# mkdir zip
[root@bogon tmp]# tar -zxfv duanbang/qin.tar.gz -C zip
tar (child): v:无法 open: 没有那个文件或目录
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
[root@bogon tmp]# tar -zxfv duanbang/qin.tar.gz -C zip/
tar (child): v:无法 open: 没有那个文件或目录
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
[root@bogon tmp]# ls
duanbang  qin  zip
[root@bogon tmp]# tar -zxfv duanbang/qin.tar.gz
tar (child): v:无法 open: 没有那个文件或目录
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
[root@bogon tmp]# ls duanbang
qin.tar.gz
[root@bogon tmp]# cd duanbang
[root@bogon duanbang]# ls
qin.tar.gz
[root@bogon duanbang]# tar -zxvf qin.tar.gz -C ../zip
qin/
qin/inqin.txt
[root@bogon duanbang]# cd ../zip/
[root@bogon zip]# ls
qin
[root@bogon zip]# cd qin
[root@bogon qin]# cd ../
[root@bogon zip]#cd ../
[root@bogon tmp]# tar -zxvf ./duanbang/qin.tar.gz -C qin
qin/
qin/inqin.txt
[root@bogon tmp]# ls -l 
  • 压缩和解压缩都可以指定目录以下是解压缩的目录
  • 压缩命令是 tar
  • tar可以压缩目录成文件
  • 压缩成文件后可以使用gzip执行压缩比更大的压缩
  • 上面两步可以直接合并 就是添加选项-zcf
  • -z 是调用gzip,
  • -c是执行压缩 ,
  • -x是执行解压缩,
  • -f是指定文件名 ,
  • 在文件名后加上大写C的选项,是制定解压缩目录
  • tar的使用格式示例
命令解释
tar -zcf duanbang/qin.tar.gz qin参数顺序分别是选项-压缩后的文件名-要压缩的目录
tar -zxvf qin.tar.gz -C ../zip解压.tar.gz文件,参数顺序分别是选项-要解压的文件名-要解压缩到目录,不加C默认解压到文件所在目录下
tar -x qinxianyou.tar解压.tar文件

通用压缩格式 zip

[root@bogon tmp]# zip wode.zip /ziptest/duanbang.txt
        zip warning: name not matched: /ziptest/duanbang.txt

zip error: Nothing to do! (wode.zip)
[root@bogon tmp]# zip wode.zip ziptest/duanbang.txt 
  adding: ziptest/duanbang.txt (stored 0%)
[root@bogon tmp]# ls -l
总用量 8
-rw-r--r--. 1 root root  190 927 11:36 wode.zip
drwxr-xr-x. 2 root root 4096 927 11:34 ziptest
[root@bogon tmp]# zip wode1.zip ziptest/duanbang.txt zip/hehe.conf
        zip warning: name not matched: zip/hehe.conf
  adding: ziptest/duanbang.txt (stored 0%)
[root@bogon tmp]# ls
wode1.zip  wode.zip  ziptest
[root@bogon tmp]# zip wode1.zip ziptest/duanbang.txt ziptest/hehe.conf
        zip warning: name not matched: ziptest/hehe.conf
updating: ziptest/duanbang.txt (stored 0%)
[root@bogon tmp]# zip wode1.zip ziptest/duanbang.txt|ziptest/hehe.conf
bash: ziptest/hehe.conf: 没有那个文件或目录
[root@bogon tmp]# cd ziptest
[root@bogon ziptest]# ls
duanbang.txt  hhe.conf  zip.config
[root@bogon ziptest]# zip wode1.zip ziptest/duanbang.txt ziptest/hhe.conf 
        zip warning: name not matched: ziptest/duanbang.txt
        zip warning: name not matched: ziptest/hhe.conf

zip error: Nothing to do! (wode1.zip)
[root@bogon ziptest]# zip wode1.zip ziptest/duanbang.txt|ziptest/hhe.conf
bash: ziptest/hhe.conf: 没有那个文件或目录
[root@bogon ziptest]# zip -r services.zip /etc/services
[root@bogon ziptest]# unzip services.zip


zip不能压缩多个文件(???) 经测试是不行的,但是其他的使用和tar差不多,加 -r 表示压缩文件夹。unzip解压目录,貌似只能解压到当前目录。

压缩文件 bzip2: 不能压缩目录但是能与tar连用

[root@bogon tmp]# bzip2 -k d.conf
[root@bogon tmp]# ls
d.conf  d.conf.bz2  testbzip
[root@bogon tmp]# tar -cjf test.tar.bz2 testbzip
[root@bogon tmp]# ls
d.conf  d.conf.bz2  testbzip  test.tar.bz2
[root@bogon dua]# bunzip2 -k test.tar.bz2
命令解释
bzip2 -k d.conf解压d.conf文件,-k保留源文件
tar -cjf test.tar.bz2 testbzip压缩目录生成.tar.bz2文件
bunzip2 -k test.tar.bz2解压test.tar.bz2文件后保留原文件
tar -xjf test.tar.bz2解压tar.bz2 文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值