常用的有这些:
compress/uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar, cpio
现在分别介绍他们的用法:
1、gzip/gunzip/zcat .gz
gzip [OPTION]… FILE … 默认压缩/解压缩完之后删除原文件
-d: 解压缩,相当于gunzip
-c: 将结果输出至标准输出,将不会操作原文件,压缩以后保留原文件
-#:1-9,指定压缩比;比例越大,压缩后的文件越小,消耗的时间越长
-r:压缩目录,它会对目录中的每一个文件都进行压缩,并且把原文件都删除
zcat:自动调用gunzip命令,解压至临时文件中,并使用zcat打开查看;不展开的前提下,查看文本文件内容;
zcat messages.gz
zcat messages.gz | less 分页看
[root@localhost ~]# cp /var/log/messages ./ [root@localhost ~]# cp /etc/rc.d/init.d/functions ./ [root@localhost ~]# ll messages functions -rw-r--r--. 1 root root 13948 Sep 16 16:36 functions -rw-------. 1 root root 1274157 Sep 16 16:35 messages [root@localhost ~]# ll -h messages functions -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.3M Sep 16 16:35 messages [root@localhost ~]# gzip messages [root@localhost ~]# ll -h total 7.8M -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-------. 1 root root 96K Sep 16 16:35 messages.gz #只有压缩后的文件,原文件已被删除 drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages -rw-r--r--. 1 root root 7.7M Sep 11 19:05 phpMyAdmin-4.0.10.17-all-languages.tar.gz drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
2、bzip2/bunzip2/bzcat .bz2
bzip2 [OPTION]… FILE …
默认压缩/解压缩完之后删除原文件;只能压缩文件,不能压缩目录;
-k: keep, 保留原文件,不需要重定向
-d:解压缩
-#:1-9,压缩比,默认为6; 压缩比更大,效率更高
bzcat:不显式展开的前提下查看文本文件内容;
[root@localhost ~]# bzip2 messages [root@localhost ~]# ll -h total 280K -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-r--r--. 1 root root 92K Sep 16 16:51 messages.2.gz -rw-------. 1 root root 62K Sep 16 16:35 messages.bz2 #压缩,已经有massages.bz2文件,默认压缩比更大 -rw-r--r--. 1 root root 96K Sep 16 16:47 messages.gz drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
[root@localhost ~]# bzip2 -d messages.bz2 [root@localhost ~]# ll -h total 1.5M -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-------. 1 root root 1.3M Sep 16 16:35 messages #解压缩,默认也会删除原文件 -rw-r--r--. 1 root root 92K Sep 16 16:51 messages.2.gz -rw-r--r--. 1 root root 96K Sep 16 16:47 messages.gz drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
3、xz/unxz/xzcat .xz
xz [OPTION]… FILE …
-k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6; 压缩比更大
xzcat: 不显式展开的前提下查看文本文件内容;
[root@localhost ~]# xz -k messages [root@localhost ~]# ll -h total 1.6M -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-------. 1 root root 1.3M Sep 16 16:35 messages -rw-r--r--. 1 root root 92K Sep 16 16:51 messages.2.gz -rw-------. 1 root root 62K Sep 16 16:35 messages.bz2 -rw-r--r--. 1 root root 96K Sep 16 16:47 messages.gz -rw-------. 1 root root 57K Sep 16 16:35 messages.xz #压缩,压缩比更大 drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
4、zip .zip
要想压缩目录,应该把目录打包成单个文件,再压缩,而打包其实就是归档;
zip是集归档、压缩为一体的工具。
要指明压缩后的文件名:zip name 目录; 不会删除原文件
zip pam.d.zip pam.d/ #压缩目录 ll -h mv pam.d pam.d.orig #改名,因为解压缩后的文件也会叫pam.d unzip pam.d.zip #展开 ll cd pam.d ll #没有文件,因此我们在归档时要指明哪些文件 rm -rf pam.d pam.d.zip zip pam.d.zip pam.d.orig/* #*指明所有文件 ll -h #pam.d.zip有大小了 du -sh pam.d.orig/ #可以看到原文件pam.d.orig的大小,184k mv pam.d.orig pam.d.orig.2 #展开,不管归档后叫什么名,展开后还是归档前的那个名 ll uzip pam.d.zip ll #展开仍然为pam.d.orig
5、tar .tar
tar [OPTION]… 用的非常多,归档工具
(1) 创建归档
tar cf /PATH/TO/SOMEFILE.tar FILE…
(2) 查看归档文件中的文件列表 不打开的前提下查看文件
tar tf /PATH/TO/SOMEFILE.tar
(3) 展开归档
tar xf /PATH/TO/SOMEFILE.tar
tar xf /PATH/TO/SOMEFILE.tar -C /PATH/TO/DIR 默认展开在当前目录,-C 保存到指定目录
结合压缩工具实现归档并压缩,创建时使用
-j: bzip2, -z: gzip, -J: xz
mv pam.d.org.2 pam.d 改名 tar -cf pam.d.tar pam.d/ 归档 ll -h 可以看到pam.d.tar 为60k,不指名所有文件也能归档 展开到指明目录: mkdir /tmp/test tar xf pam.d.tar -C /tmp/test/ ls /tmp/test ls /tmp/test/pam.d #pam.d下所有文件也在
xz pam.d.tar 删除原文件,只保留压缩文件 ll tar Jxf pam.d.tar.xz #展开归档 ‘既归档又压缩’的文件 ll -h #pam.d又在了,而tar不会删除原文件,不管是归档、展开归档 tar Jtf pam.d.tar.xz #查看归档前的文件列表 rm pam.d.tar.xz tar -Jcf pam.d.tar.xz pam.d #一次完成,既归档,又压缩 ll -h
原创文章,作者:mississippi,如若转载,请注明出处:http://www.178linux.com/47020