四周第四次课(4月16日)

6.1 压缩打包介绍

文件或目录压缩打包,可以节省一定的磁盘空间,同时也方便传输,也包括网络传输(网络传输时节省带宽资源

Linux:常规压缩文件格式.zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xz

常见的后缀名所对应的压缩工具:
.gz是gzip 压缩工具压缩的文件
.bz2是 bzip2 压缩工具压缩的文件
.tar是 tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)
.tar.gz 可以理解为先用tar打包,然后再gzip压缩
.tar.bz2 同上,先用tar打包,然后再bzip2压缩

6.2 gzip压缩工具

四周第四次课(4月16日)
mkdir /tmp/d6z 创建目录和文件
[root@aiker01 ~]# mkdir /tmp/d6z

[root@aiker01 ~]# touch !$/1.txt
touch /tmp/d6z/1.txt

find /etc/ -type f -name "*conf" -exec cat {} >> !$ \; 把etc下的所有conf文件导出到1.txt文件

[root@aiker01 ~]# find /etc/ -type f -name "*conf" -exec cat {} >> !$ \;
find /etc/ -type f -name "*conf" -exec cat {} >> /tmp/d6z/1.txt \;

du -sh /tmp/d6z/1.txt 查看文件大小

252K    /tmp/d6z/1.txt

wc -l !$ 查看文件行数

[root@aiker01 ~]# wc -l !$
wc -l /tmp/d6z/1.txt
32270 /tmp/d6z/1.txt

gzip !$ 压缩文件,默认6级别,压缩后源文件会消失,gzip不能压缩目录

[root@aiker01 ~]# gzip !$
gzip /tmp/d6z/1.txt
[root@aiker01 ~]# ll
total 32
dr-xr-xr-x. 2 root  aiker    6 Dec  2 14:40 1
drwxr-xr-x. 4 root  root    70 Dec  3 01:07 111
-rw-r--r--. 3 aiker aiker    0 Dec  2 16:11 11.txt
-rwxrwxrwx. 1 root  root    10 Dec  4 01:16 120301.txt
-rw-r--r--. 3 aiker aiker    0 Dec  2 16:11 1.txt
-rw-r--r--. 1 root  root     0 Dec  2 23:05 1.txt~.bak
-rw-r--r--. 1 root  root     0 Dec  2 23:05 1.txz~.bak
-rw-r--r--. 1 root  root     0 Dec  2 23:01 2.txt
drwxrwxr-x. 3 root  root    15 Dec  2 22:44 3
-rw-r--r--  1 root  root     0 Dec  7 02:28 {3...5}.txt
-rw-r--r--  1 root  root     0 Dec  7 02:27 3.txt
-rw-r--r--  1 root  root     0 Dec  7 02:27 4.txt
-rw-rw-r--. 1 root  root     0 Dec  7 02:27 5.txt
-rw-rw-r--. 1 root  root     0 Dec  2 22:44 6.txt
-rw-rw-r--. 1 root  root     0 Dec  2 22:48 7.txt
-rw-rw-r--. 1 root  root     0 Dec  2 22:49 8.bak
drwxrwxr--. 6 root  aiker   75 Dec  4 01:55 9
-rw-------. 1 root  root  1278 Nov 30 02:40 anaconda-ks.cfg
-rw-------. 1 root  root  7668 Dec  2 16:25 a.txt
drwxr-xr-x  2 root  root    93 Dec  7 00:13 backup
-rwxr-xr-x  1 root  root   191 Dec  7 00:11 create_files.sh
-rw-r-----  1 root  root     0 Dec  7 00:51 file1.txt
-rw-r-----  1 root  root     0 Dec  7 00:51 file2.txt
-rw-r-----  1 root  root     0 Dec  7 00:51 file3.txt
----r-----  1 root  root     0 Dec  7 00:51 file4.txt
----r-----  1 root  root     0 Dec  7 00:51 file5.txt
-rw----r--  1 root  root     0 Dec  7 00:51 file[6-8].txt
-rw-r--r--  1 root  root     0 Dec  7 00:13 MybashProgram.sh
-rw-r--r--  1 root  root     0 Dec  7 00:13 mycprogram.txt
-rw-r--r--  1 root  root     0 Dec  7 00:13 MyCProgram.txt
-rw-r--r--  1 root  root     0 Dec  7 00:35 new-test
-rw-r--r--  1 root  root     0 Dec  7 00:13 Program.txt
-rw-r--r--. 1 root  root   389 Dec  1 03:20 pubkey.pub
drwxr-xr-x. 2 root  root    19 Dec  2 16:14 test
-rw-r--r--  1 root  root     0 Dec  7 00:35 test.txt 
[root@aiker01 ~]# ll /tmp/d6z/1.txt.gz 
-rw-r--r-- 1 root root 337200 Dec 10 11:27 /tmp/d6z/1.txt.gz
[root@aiker01 ~]# du -sh !$
du -sh /tmp/d6z/1.txt.gz
332K    /tmp/d6z/1.txt.gz

gzip -1 /tmp/d6z/1.txt 最低级别压缩

gzip -9 !$ 最大级别压缩,保持默认压缩级别即可
file !$ 查看压缩文件的属性

[root@aiker01 ~]# file !$
file /tmp/d6z/1.txt.gz
/tmp/d6z/1.txt.gz: gzip compressed data, was "1.txt", from Unix, last modified: Sun Dec 10 11:27:37 2017, max compression

zcat !$ 查看文件内容

[root@aiker01 ~]# zcat !$ | more
zcat /tmp/d6z/1.txt.gz | more
# Generated by NetworkManager
nameserver 192.168.0.1
# The upstream Mozilla.org project tests all changes to the root CA
# list with the NSS (Network Security Services) library.
#
# Occassionally, changes might cause compatibility issues with
# other cryptographic libraries, such as openssl or gnutls.
#
# The package maintainers of the CA certificates package might decide
# to temporarily keep certain (legacy) root CA certificates trusted,
# until incompatibility issues can be resolved.
# 
# Using this configuration file it is possible to opt-out of the
# compatibility choices made by the package maintainer.

gzip -d /tmp/d6z/1.txt.gz 解压缩

[root@aiker01 ~]# gzip -d /tmp/d6z/1.txt.gz 
[root@aiker01 ~]# gzip -d /tmp/d6z/1.txt.gz 
[root@aiker01 ~]# ll /tmp/d6z/
total 1256
-rw-r--r-- 1 root root 1282605 Dec 10 11:27 1.txt

gzip -c /tmp/d6z/1.txt > /tmp/d6z/1.txt.gz 指定压缩后的文件名和目录,源文件不会消失

[root@aiker01 ~]# gzip -c /tmp/d6z/1.txt > /tmp/d6z/1.txt.gz
[root@aiker01 ~]# ll /tmp/d6z/
total 1588
-rw-r--r-- 1 root root 1282605 Dec 10 11:27 1.txt
-rw-r--r-- 1 root root  337200 Dec 10 11:44 1.txt.gz

gzip -d -c /tmp/d6z/1.txt.gz > /tmp/d6z/2.txt 指定解压后的路径和文件名,源文件不消失

[root@aiker01 ~]# gzip -d -c /tmp/d6z/1.txt.gz > /tmp/d6z/2.txt
[root@aiker01 ~]# ll /tmp/d6z/
total 2844
-rw-r--r-- 1 root root 1282605 Dec 10 11:27 1.txt
-rw-r--r-- 1 root root  337200 Dec 10 11:44 1.txt.gz
-rw-r--r-- 1 root root 1282605 Dec 10 12:13 2.txt

gunzip -c /tmp/d6z/1.txt.gz > /tmp/d6z/11.txt 效果同上

[root@aiker01 ~]# gunzip -c /tmp/d6z/2.txt > /tmp/

6.3 bzip2压缩工具

bzip2同样不支持压缩目录
四周第四次课(4月16日)

bzip2 1.txt 压缩文件默认就是9级,压缩后源文件消失

[root@aiker01 d6z]# bzip2 1.txt
[root@aiker01 d6z]# ll
total 4260
-rw-r--r-- 1 root root 1282605 Dec 10 12:29 11.txt
-rw-r--r-- 1 root root  160769 Dec 10 11:27 1.txt.bz2
-rw-r--r-- 1 root root  337200 Dec 10 11:44 1.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:29 2.2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:28 2.2.txt.gz
-rw-r--r-- 1 root root 1282605 Dec 10 12:13 2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:21 2.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txtnew
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txt.new
-rw-r--r-- 1 root root 1282605 Dec 10 12:26 3.txt
-rw-r--r-- 1 root root       0 Dec 10 12:26 4.txt
[root@aiker01 d6z]# du -sh 1.txt.bz2 
160K    1.txt.bz2

du -sh 1.txt.bz2 可以看到bzip2压缩出来的文件比gzip更小

[root@aiker01 d6z]# du -sh 1.txt.bz2 1.txt.gz 
160K    1.txt.bz2
332K    1.txt.gz

bzip2 -d 1.txt.bz2 解压缩文件

[root@aiker01 d6z]# bzip2 -d 1.txt.bz2 
[root@aiker01 d6z]# ll
total 5356
-rw-r--r-- 1 root root 1282605 Dec 10 12:29 11.txt
-rw-r--r-- 1 root root 1282605 Dec 10 11:27 1.txt
-rw-r--r-- 1 root root  337200 Dec 10 11:44 1.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:29 2.2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:28 2.2.txt.gz
-rw-r--r-- 1 root root 1282605 Dec 10 12:13 2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:21 2.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txtnew
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txt.new
-rw-r--r-- 1 root root 1282605 Dec 10 12:26 3.txt
-rw-r--r-- 1 root root       0 Dec 10 12:26 4.txt

bunzip2 1.txt.bz2 同上,解压缩文件

[root@aiker01 d6z]# bzip2 1.txt
[root@aiker01 d6z]# bunzip2 1.txt.bz2 
[root@aiker01 d6z]# ll
total 5356
-rw-r--r-- 1 root root 1282605 Dec 10 12:29 11.txt
-rw-r--r-- 1 root root 1282605 Dec 10 11:27 1.txt
-rw-r--r-- 1 root root  337200 Dec 10 11:44 1.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:29 2.2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:28 2.2.txt.gz
-rw-r--r-- 1 root root 1282605 Dec 10 12:13 2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:21 2.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txtnew
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txt.new
-rw-r--r-- 1 root root 1282605 Dec 10 12:26 3.txt
-rw-r--r-- 1 root root       0 Dec 10 12:26 4.txt

bzip2 -1 1.txt一级压缩

bzip2 -c 1.txt > /tmp/1.txt.bz2 指定压缩文件输出后的文件名和路径,源文件不消失

[root@aiker01 d6z]# bzip2 -c 1.txt > /tmp/1.txt.bz2
[root@aiker01 d6z]# du -sh /tmp/1.txt.bz2 
160K    /tmp/1.txt.bz2

bzcat 1.txt.bz2 | more 查看bzip2格式的压缩文件内容

[root@aiker01 d6z]# bzcat 1.txt.bz2 | more 
# Generated by NetworkManager
nameserver 192.168.0.1

bzip2 -d -c 2.txt.bz2 > /tmp/5.txt 指定解压缩出来的文件的路径和文件名,源文件不消失

[root@aiker01 d6z]# bzip2 -d -c 2.txt.bz2 > 5.txt
[root@aiker01 d6z]# ll
total 6772
-rw-r--r-- 1 root root 1282605 Dec 10 12:29 11.txt
-rw-r--r-- 1 root root 1282605 Dec 10 11:27 1.txt
-rw-r--r-- 1 root root  337200 Dec 10 11:44 1.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:29 2.2.txt
-rw-r--r-- 1 root root       0 Dec 10 12:28 2.2.txt.gz
-rw-r--r-- 1 root root 1282605 Dec 10 12:13 2.txt
-rw-r--r-- 1 root root  160769 Dec 10 12:35 2.txt.bz2
-rw-r--r-- 1 root root       0 Dec 10 12:21 2.txt.gz
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txtnew
-rw-r--r-- 1 root root       0 Dec 10 12:25 2.txt.new
-rw-r--r-- 1 root root 1282605 Dec 10 12:26 3.txt
-rw-r--r-- 1 root root       0 Dec 10 12:26 4.txt
-rw-r--r-- 1 root root 1282605 Dec 10 12:36 5.txt

bunzip2 -c /tmp/1.txt.bz2 > /tmp/d6z/1.txt.new 同上

6.4 xz压缩工具

xz同样不支持压缩目录
四周第四次课(4月16日)

xz 1.txt 压缩文件,压缩后源文件消失
[root@aiker01 d6z]# xz 1.txt <br/>[root@aiker01 d6z]# ll<br/>total 60<br/>-rw-r--r-- 1 root root 60588 Dec 10 12:53 1.txt.xz
du -sh 1.txt.xz 查看压缩文件后大小

[root@aiker01 d6z]# du -sh 1.txt.xz 
60K     1.txt.xz

xz -d 1.txt.xz 解压缩,解压缩后压缩包消失

[root@aiker01 d6z]# xz -d 1.txt.xz 
[root@aiker01 d6z]# ll
total 1256
-rw-r--r-- 1 root root 1282605 Dec 10 12:53 1.txt

unxz 1.txt.xz 解压缩文件同xz -d

[root@aiker01 d6z]# unxz 1.txt.xz 
[root@aiker01 d6z]# ll
total 1256
-rw-r--r-- 1 root root 1282605 Dec 10 12:53 1.txt

xz -c 1.txt > ./2.txt.xz 压缩文件到指定目录,支持重命名压缩后的文件名,压缩后源文件不消失

[root@aiker01 d6z]# xz -c 1.txt > ./2.txt.xz

xzcat 2.txt.xz | more 查看压缩包中文件的内容

[root@aiker01 d6z]# xzcat 2.txt.xz | more

xz -c -d 2.txt.xz > ./2.txt 解压缩文件到指定目录支持重命名,压缩包不消失

[root@aiker01 d6z]# xz -c -d 2.txt.xz > ./2.txt

unxz -c 2.txt.xz > ./3.txt 同上

转载于:https://blog.51cto.com/235571/2096726

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值