linux压缩有文件, 目录压缩和归档
文件压缩种类:gzip, bzip2, xz
目录压缩:zip
归档:tar
各种文件压缩的命令都是实现下面的几个功能, 只是语法略有不同
gzip:
文件后缀: gz
压缩: gzip 文件, 删除原文件
[root@centos test]# ll total 192 -rw-------. 1 root root 193746 Sep 23 12:05 test01 [root@centos test]# gzip test01 [root@centos test]# ll total 32 -rw-------. 1 root root 29378 Sep 23 12:05 test01.gz
解压: gunzip 压缩文件, 删除压缩文件
[root@centos test]# gunzip test01.gz [root@centos test]# ll total 192 -rw-------. 1 root root 193746 Sep 23 12:05 test01
保留原文件压缩: gzip -c 文件 > 压缩后文件
[root@centos test]# gzip -c test01 > test02.gz [root@centos test]# ll total 224 -rw-------. 1 root root 193746 Sep 23 12:05 test01 -rw-r--r--. 1 root root 29378 Sep 23 13:24 test02.gz
在压缩包内直接查看文件 zcat 压缩文件
[root@centos test]# zcat test02.gz | less
bzip2
文件后缀: bz2
压缩: bzip2 文件, 会删除原文件
解压: bunzip2 压缩文件, 会删除压缩文件
保留原文件压缩: bzip2 -k 原文件
[root@centos test]# bzip2 -k test02 [root@centos test]# ll total 212 -rw-r--r--. 1 root root 193746 Sep 23 13:24 test02 -rw-r--r--. 1 root root 19565 Sep 23 13:24 test02.bz2
在压缩包内直接查看文件: bzcat 压缩文件
xz
文件后缀: xz
压缩: xz 文件, 会删除原文件
解压: unxz 压缩文件, 会删除压缩文件
保留原文件压缩: xz -k 源文件
在压缩包内直接查看文件: xzcat 压缩文件
这几个命令的压缩比分别是
xz>bzip2>gzip
目录压缩zip
特殊用法: 1. 需要自己制定压缩后文件, 2压缩后原文件不会被删除 3 可以单独压缩文件
格式: zip 压缩后文件.zip 原文件
[root@centos test]# zip test02.zip test02 adding: test02 (deflated 85%) [root@centos test]# ll total 244 -rw-r--r--. 1 root root 193746 Sep 23 13:24 test02 -rw-r--r--. 1 root root 19565 Sep 23 13:24 test02.bz2 -rw-r--r--. 1 root root 29515 Sep 23 13:32 test02.zip
压缩目录, 需要指定所有文件
[root@centos tmp]# zip test.zip test/* adding: test/test02 (deflated 85%) adding: test/test02.bz2 (deflated 3%) adding: test/test02.zip (stored 0%)
解压缩: unzip 压缩文档.zip, 只能解压到当前目录
[root@centos test02]# unzip test.zip Archive: test.zip inflating: test/test02 inflating: test/test02.bz2 extracting: test/test02.zip [root@centos test02]# ll test/ total 244 -rw-r--r--. 1 root root 193746 Sep 23 13:24 test02 -rw-r--r--. 1 root root 19565 Sep 23 13:24 test02.bz2 -rw-r--r--. 1 root root 29515 Sep 23 13:32 test02.zip
归档
创建归档
格式: tar cf 归档文件.tar 要归档的所有文件夹或文件
不用像zip,指定目录内所有文件
[root@centos test02]# tar -cf testtar.tar test/ dir/
展开归档, 到当前目录, 不会删除压缩文件
tar xf tar文件
[root@centos test02]# tar -xf testtar.tar
查看归档内文件
tar -tf tar文件
[root@centos test02]# tar -tf testtar.tar test/ test/test02.zip test/test02 test/test02.bz2 dir/
归档后压缩调用
压缩并归档
格式:tar -zcf 文件.tar.gz 文件
-z可替换其他压缩格式, 后缀也要有相应修改
-z: gzip, -j: bzip2, -J: xz
[root@centos test02]# tar -zcf test.tar.gz test/ [root@centos test02]# ll test.tar.gz -rw-r--r--. 1 root root 78836 Sep 23 13:54 test.tar.gz
解压归档并压缩过的文件, 不用关心是那种格式压缩的
t格式 ar xf 压缩并归档后的文件
[root@centos test02]# tar -xf test.tar.gz
原文地址:http://jzrobbie.blog.51cto.com/6535329/1697408