Linux中的压缩解压缩

Posted 还行少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中的压缩解压缩相关的知识,希望对你有一定的参考价值。

gzip

压缩文件(不保留源文件) gzip

[root@localhost ~]# ll -h
总用量 1001M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:00 test
[root@localhost ~]# gzip test 
[root@localhost ~]# ll -h
总用量 1004K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 16:00 test.gz
[root@localhost ~]# 

压缩文件(保留源文件) gzip -c

[root@localhost ~]# ll -h
总用量 1.0G
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:00 test
[root@localhost ~]# gzip -c test > test.gz
[root@localhost ~]# ll -h
总用量 1001M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:00 test
-rw-r--r--. 1 root root  994K 4月  28 16:18 test.gz
[root@localhost ~]# 

解压缩文件 (不保留源文件) gzip -d / gunzip

[root@localhost ~]# gunzip test.gz 
[root@localhost ~]# ll -h
总用量 1.0G
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:00 test
[root@localhost ~]# 

解压缩文件 (保留源文件) gzip -cd / gunzip -c

[root@localhost ~]# ll -h
总用量 1004K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 16:18 test.gz
[root@localhost ~]# gunzip -c test.gz > test
[root@localhost ~]# ll -h
总用量 1001M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
-rw-r--r--. 1 root root  994K 4月  28 16:18 test.gz
[root@localhost ~]# 

bzip2

压缩文件(不保留源文件) bzip2

[root@localhost ~]# ll -h
总用量 1001M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
[root@localhost ~]# bzip2 test 
[root@localhost ~]# ll -h
总用量 12K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root  753 4月  28 16:20 test.bz2

压缩文件(保留源文件) bzip2 -k

[root@localhost ~]# ll -h
总用量 1.8G
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
[root@localhost ~]# bzip2 -k test 
[root@localhost ~]# ll -h
总用量 1.8G
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
-rw-r--r--. 1 root root   753 4月  28 16:20 test.bz2
[root@localhost ~]# 

解压缩文件 (不保留源文件)bzip2 -k

[root@localhost ~]# ll -h
总用量 12K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root  753 4月  28 16:20 test.bz2
[root@localhost ~]# bunzip2 test.bz2 
[root@localhost ~]# ll -h
总用量 1.8G
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test

解压缩文件 (保留源文件)bunzip2 -k / bzip2 -dk

[root@localhost ~]# ll -h
总用量 12K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root  753 4月  28 16:20 test.bz2
[root@localhost ~]# bunzip2 -k test.bz2 
[root@localhost ~]# ll -h
总用量 1001M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
-rw-r--r--. 1 root root   753 4月  28 16:20 test.bz2
[root@localhost ~]# 

zip

压缩普通文件

[root@localhost ~]# ll -h
总用量 1001M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
[root@localhost ~]# zip test.zip test 
  adding: test (deflated 100%)
[root@localhost ~]# ll -h
总用量 1002M
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
-rw-r--r--. 1 root root  994K 4月  28 16:36 test.zip
[root@localhost ~]# 

压缩目录 zip -r

[root@localhost ~]# mkdir -p a/b/c
[root@localhost ~]# tree a
a
└── b
    └── c

2 directories, 0 files
[root@localhost ~]# zip -r a.zip a
  adding: a/ (stored 0%)
  adding: a/b/ (stored 0%)
  adding: a/b/c/ (stored 0%)
[root@localhost ~]# ll -h
总用量 1002M
drwxr-xr-x. 3 root root    15 4月  28 16:37 a
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root   430 4月  28 16:38 a.zip
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
-rw-r--r--. 1 root root  994K 4月  28 16:36 test.zip
[root@localhost ~]# 

解压缩目录或文件 unzip

[root@localhost ~]# ll -h
总用量 2.0M
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  430 4月  28 16:38 a.zip
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 16:36 test.zip
[root@localhost ~]# unzip a.zip
Archive:  a.zip
   creating: a/
   creating: a/b/
   creating: a/b/c/
[root@localhost ~]# ll -h
总用量 2.0M
drwxr-xr-x. 3 root root   15 4月  28 16:37 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  430 4月  28 16:38 a.zip
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 16:36 test.zip
[root@localhost ~]# 

[root@localhost ~]# ll -h
总用量 2.0M
drwxr-xr-x. 3 root root   15 4月  28 16:37 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  430 4月  28 16:38 a.zip
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 16:36 test.zip
[root@localhost ~]# unzip test.zip 
Archive:  test.zip
  inflating: test                    
[root@localhost ~]# ll -h
总用量 1.1G
drwxr-xr-x. 3 root root    15 4月  28 16:37 a
-rw-------. 1 root root  1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root   430 4月  28 16:38 a.zip
-rw-r--r--. 1 root root  1.8K 3月  24 23:39 initial-setup-ks.cfg
-rw-r--r--. 1 root root 1000M 4月  28 16:20 test
-rw-r--r--. 1 root root  994K 4月  28 16:36 test.zip
[root@localhost ~]# 

tar

归档 tar -cvf

[root@localhost ~]# ll -h
总用量 8.0K
drwxr-xr-x. 3 root root   15 4月  28 16:37 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# tar -cvf a.tar a
a/
a/b/
a/b/c/
[root@localhost ~]# ll -h
总用量 20K
drwxr-xr-x. 3 root root   15 4月  28 16:37 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  10K 4月  28 17:00 a.tar
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# 

还原归档 tar -xvt

[root@localhost ~]# ll -h
总用量 20K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  10K 4月  28 17:00 a.tar
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# tar -xvf a.tar 
a/
a/b/
a/b/c/
[root@localhost ~]# ll -h
总用量 20K
drwxr-xr-x. 3 root root   15 4月  28 16:37 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root  10K 4月  28 17:00 a.tar
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# 

归档并压缩 tar -zcvf

[root@localhost ~]# ll -h
总用量 8.0K
drwxr-xr-x. 3 root root   27 4月  28 17:04 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# du -sh a
1000M	a
[root@localhost ~]# tar -zcvf a.tar.gz a 
a/
a/b/
a/b/c/
a/test
s^H[root@localhost ~]# ll -h
总用量 1004K
drwxr-xr-x. 3 root root   27 4月  28 17:04 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 17:07 a.tar.gz
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# du -sh a.tar.gz 
996K	a.tar.gz
[root@localhost ~]# 

解压缩并还原 tar -zxvf

[root@localhost ~]# ll -h
总用量 1004K
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 17:07 a.tar.gz
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# tar -zxvf a.tar.gz 
a/
a/b/
a/b/c/
a/test
[root@localhost ~]# ll- h
bash: ll-: 未找到命令...
[root@localhost ~]# ll -h
总用量 1004K
drwxr-xr-x. 3 root root   27 4月  28 17:04 a
-rw-------. 1 root root 1.8K 3月  24 23:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 994K 4月  28 17:07 a.tar.gz
-rw-r--r--. 1 root root 1.8K 3月  24 23:39 initial-setup-ks.cfg
[root@localhost ~]# du -sh a
1000M	a
[root@localhost ~]# 

不解压缩不还原,只看内容 tar -tf

[root@localhost ~]# tar -tf a.tar.gz 
a/
a/b/
a/b/c/
a/test
[root@localhost ~]# 

以上是关于Linux中的压缩解压缩的主要内容,如果未能解决你的问题,请参考以下文章

linux中的常用压缩与解压缩命令

Linux 基础教程 32-解压缩命令

Linux压缩与解压缩

Shell编程开发之Linux文件压缩与解压缩

说说 Linux 中的压缩与解压缩指令(tar)

Linux压缩与解压缩文件