您的位置:首页 > 运维架构 > Linux

Linux运维系统工程师系列---09

2014-04-02 09:15 225 查看
打包和压缩

windows下:
winrar
winzip
7zip
好压
压缩用处:减少占用磁盘空间,可以做备份,在网络传输中节省时间和带宽

Linux压缩方式:
zip:
gzip:
bzip2:
zip:
语法格式:
zip 压缩后的文件名字.zip 待压缩文件
[root@server254 test]# zip f7M.zip f7M
adding: f7M (deflated 100%)
[root@server254 test]# ll f7*
-rw-r--r--. 1 root root 7340032 Oct 20 14:08 f7M
-rw-r--r--. 1 root root 7285 Oct 20 14:37 f7M.zip
是不是能压缩目录?
[root@server254 test]# zip -r test.zip /test
[root@server254 test]# ll test.zip
-rw-r--r--. 1 root root 24503 Oct 20 14:39 test.zip
unzip:解压缩
不指定解压路径,默认解压到当前路径
[root@server254 test]# unzip f7M.zip
指定解压路径
[root@server254 test]# mkdir /test1
[root@server254 test]# unzip test.zip -d /test1/

gzip:压缩之后,源文件消失,生成压缩文件。
如果指定压缩后的文件名,那么文件名一定要以.gz结尾,否则无法解压
[root@server254 test]# gzip f1M
[root@server254 test]# file f1M.gz 验证文件类型
f1M.gz: gzip compressed data, was "f1M", from Unix, last modified: Sun Oct 20 14:05:38 2013

-r:递归压缩,遍历压缩,压缩完成一个文件一个包,而不是将目录整体打包
[root@server254 /]# gzip -r /test
[root@server254 test]# ll
total 36
-rw-r--r--. 1 root root 1055 Oct 20 14:05 f1M.gz
-rw-r--r--. 1 root root 4106 Oct 20 14:28 f4M.bak.gz
-rw-r--r--. 1 root root 4102 Oct 20 14:07 f4M.gz
-rw-r--r--. 1 root root 7151 Oct 20 14:08 f7M.gz
-rw-r--r--. 1 root root 183 Oct 20 14:37 f7M.zip.gz
-rw-r--r--. 1 root root 551 Oct 20 14:39 test.zip.gz
gunzip:解压缩
[root@server254 test]# gunzip f1M.gz
[root@server254 test]# ll f1M
-rw-r--r--. 1 root root 1048576 Oct 20 14:05 f1M
解压不了非.gz结尾的文件
[root@server254 test]# mv f4M.gz f4M.g
[root@server254 test]# file f4M.g
f4M.g: gzip compressed data, was "f4M", from Unix, last modified: Sun Oct 20 14:07:32 2013
[root@server254 test]# gunzip f4M.g
gzip: f4M.g: unknown suffix -- ignored

bzip2:压缩完源文件也消失,后缀名必须也是.bz2,否则无法解压
[root@server254 test]# bzip2 f1M
[root@server254 test]# ll f1*
-rw-r--r--. 1 root root 45 Oct 20 14:05 f1M.bz2

bunzip2:解压缩
[root@server254 test]# bunzip2 f1M.bz2
[root@server254 test]# ll f1M
-rw-r--r--. 1 root root 1048576 Oct 20 14:05 f1M

tar:既可以打包,也可以压缩;还可以同时进行
——打包命令
[-]zcvf:
[-]jcvf:
[-]zxvf:
[-]jxvf:
-c——表示创建
-v——显示创建或者解压过程
-z——表示打包的同时使用gzip压缩
-j——表示打包的同时使用bzip2压缩
-f——指定压缩文件名
-x——表示解压

语法格式:
压缩:
tar 选项 打包后的名字 要打包的文件或者目录 (注意两个红色参数的顺序)
1)只打包
[root@server254 /]# tar cvf test.tar /test/
tar: Removing leading `/' from member names # 防止解压时覆盖原来文件
2)打包同时压缩
[root@server254 /]# tar zcvf test.tar.gz /test
[root@server254 /]# ll test.tar.gz
-rw-r--r--. 1 root root 2352 Oct 20 15:24 test.tar.gz
[root@server254 /]# tar jcvf test.tar.bz2 /test
[root@server254 /]# ll test.tar.bz2
-rw-r--r--. 1 root root 1354 Oct 20 15:25 test.tar.bz2
解包:
[root@server254 test]# tar xvf test.tar

解压:
1)不指定解压路径
[root@server254 test]# tar zxf test.tar.gz
2)指定解压路径
[root@server254 test]# tar jxvf test.tar.bz2 -C /usr/local/src/
[root@server254 test]# cd /usr/local/src/
[root@server254 src]# ll
total 8
drwxr-xr-x. 2 root root 4096 Oct 20 15:12 test
-C —— 指定解压路径

-t:不解包只查看包中内容
[root@server254 test]# tar tf test.tar.gz
test/
test/test.zip.gz
test/f1M
test/f4M.bak.gz
test/f7M.zip.gz
test/f4M.g
test/f7M.gz
-r:向tar包中追加文件
[root@server254 test]# tar rf test.tar /etc/passwd
tar: Removing leading `/' from member names
[root@server254 test]# tar tf test.tar
test/
test/test.zip.gz
test/f1M
test/f4M.bak.gz
test/f7M.zip.gz
test/f4M.g
test/f7M.gz
etc/passwd
查看目录实际大小
[root@server254 test]# du -sh /test
2.1M/test
--delete:从tar包中删除文件
[root@server254 test]# tar --delete etc/passwd -f test.tar
[root@server254 test]# tar tf test.tar
test/
test/test.zip.gz
test/f1M
test/f4M.bak.gz
test/f7M.zip.gz
test/f4M.g
test/f7M.gz
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux   命令 运维 &