linux压缩解压

[root@desktop Desktop]# cp -r /etc .   //首先拷贝一份/etc目录,下面以/etc目录为例进行归档(打包),压缩,解压
[root@desktop Desktop]# ls
etc

文件的归档

归档命令:

tar [option] 归档文件名 被归档的文件
c ##建立一个压缩文件
f ##指定归档文件的名称
x ##解开一个归档文件
t ##显示归档文件的内容
r ##向归档文件中添加文件/目录
-f 归档文件名 --delete 被删除文件/目录 ## 删除归档文件中的单个文件或目录
-f 归档文件名 --get 被删除文件/目录 ##在归档文件中取出单个文件或目录
-C ##指定解档文件的存储路径
建立一个压缩文件

[root@desktop Desktop]# tar cf etc.tar etc       //建立一个压缩文件
[root@desktop Desktop]# ls
etc  etc.tar
[root@desktop Desktop]# du -sh etc.tar  //使用du -sh命令可以查看归档文件的大小
30M etc.tar

解开一个归档文件

[root@desktop Desktop]# rm -rf etc
You have mail in /var/spool/mail/root
[root@desktop Desktop]# ls
etc.tar
[root@desktop Desktop]# tar xf etc.tar 
[root@desktop Desktop]# ls
etc  etc.tar

向归档文件中添加文件/目录

[root@desktop Desktop]# tar rf etc.tar dir/
[root@desktop Desktop]# tar tf etc.tar 
...
etc/lftp.conf
etc/hostname
etc/etc.tar
dir/

删除归档文件中的单个文件或目录

[root@desktop Desktop]# tar -f etc.tar --delete dir/
[root@desktop Desktop]# tar tf etc.tar 
...
etc/hostname
etc/etc.tar

在归档文件中取出单个文件或目录

[root@desktop Desktop]# tar -f etc.tar --get etc/passwd
[root@desktop Desktop]# ls
dir  etc  etc.tar  file
[root@desktop Desktop]# cd etc/
[root@desktop etc]# ls
passwd

指定解档文件的存储路径

[root@desktop Desktop]# tar xf etc.tar -C /mnt
[root@desktop Desktop]# cd /mnt/
[root@desktop mnt]# ls
etc

文件的压缩

1.zip压缩 zip -r 文件名.zip 文件名
注意;zip的这种格式的压缩稳定性很差,只适合压缩纯文本文件

[root@desktop Desktop]# du -sh etc.tar
30M etc.tar
[root@desktop Desktop]# zip -r etc.tar.zip etc.tar 
 adding: etc.tar (deflated 72%)
[root@desktop Desktop]# du -sh etc.tar.zip 
15M etc.tar.zip

解压

[root@desktop Desktop]# unzip etc.tar.zip 
Archive:  etc.tar.zip
  inflating: etc.tar                 
[root@desktop Desktop]# ls
etc.tar  etc.tar.zip

2.gzip

[root@desktop Desktop]# gzip etc.tar
[root@desktop Desktop]# ls
etc.tar.gz
[root@desktop Desktop]# du -sh etc.tar.gz 
8.4M    etc.tar.gz

解压

[root@desktop Desktop]# gunzip etc.tar.gz 
[root@desktop Desktop]# ls
etc.tar

3.xz 注:压缩后占用空间最小,但压缩时间较长

[root@desktop Desktop]# xz etc.tar 
[root@desktop Desktop]# ls
etc.tar.xz
[root@desktop Desktop]# du -sh etc.tar.xz 
5.7M    etc.tar.xz

解压

[root@desktop Desktop]# unxz etc.tar.xz 
[root@desktop Desktop]# ls
etc.tar

4.bz2 注意:只适合压缩纯文本文件

[root@desktop Desktop]# bzip2 etc.tar 
[root@desktop Desktop]# ls
etc.tar.bz2
[root@desktop Desktop]# du -sh etc.tar.bz2 
7.0M    etc.tar.bz2

解压

[root@desktop Desktop]# bunzip2 etc.tar.bz2 
[root@desktop Desktop]# ls
etc.tar

打包压缩一步完成

1.gz
把文件归档为tar并压缩成gz

[root@desktop Desktop]# tar -zcf etc.tar.gz etc/
[root@desktop Desktop]# ls
etc  etc.tar.gz
[root@desktop Desktop]# du -sh etc.tar.gz 
8.4M    etc.tar.gz

解开压缩并解开归档文件

[root@desktop Desktop]# tar -zxf etc.tar.gz 
[root@desktop Desktop]# ls
etc  etc.tar.gz

2.xz
把文件归档为tar并压缩成xz

[root@desktop Desktop]# tar -Jcf etc.tar.xz etc/
[root@desktop Desktop]# ls
etc  etc.tar.xz

解开压缩并解开归档文件

[root@desktop Desktop]# tar -Jxf etc.tar.xz 
[root@desktop Desktop]# ls
etc  etc.tar.xz

3.bz2:
把文件归档未tar并压缩成bz2

[root@desktop Desktop]# tar -jcf etc.tar.bz2 etc
[root@desktop Desktop]# ls
etc  etc.tar.bz2

解压并解开归档文件

[root@desktop Desktop]# tar -jxf etc.tar.bz2 etc
[root@desktop Desktop]# ls
etc  etc.tar.bz2

你可能感兴趣的:(linux压缩解压)