linux基础之压缩与归档
2016-06-15 12:12
555 查看
常见的压缩文件有哪些?
*.Z compress程序压缩的文件 *.gz gzip程序压缩的文件 *.bz2 bzip2程序压缩的文件 *.tar tar程序归档的数据,并没有压缩过 *.tar.gz tar程序归档后,再经过gzip压缩 *.tar.bz2 tar程序归档后,再经过bzip2压缩 *.zip zip既可以归档又可以压缩
compress已经不再流行,这里不再多说
gzip,zcat
gzip可以说是应用最广泛的压缩命令,可以解压缩compress,zip,gzip等软件所压缩的文件。默认情况下,不管是压缩还是解压缩,gzip都会删除原文件,gzip不能压缩目录(gzip压缩目录是将目录中的所有文件分别压缩),不能将多文件压缩成一个文件[root@jiuyou test]# gzip [-cdtv#] filename -c:将压缩的内容输出到屏幕上,将不会压缩原文件 -d:解压缩,也可以直接使用gunzip命令解压缩 -t:用来检验压缩文件的一致性,检查文件是否有错误 -v:显示原文件/压缩文件的压缩比等信息 -#:压缩等级,-1最快,压缩比最低,-9相反
例:压缩一个文件
gzip filename
[root@jiuyou test]# ll total 128 -rw-r--r-- 1 root root 77908 Jun 15 09:56 test.txt -rwxr--r-- 1 root root 369 Jun 15 09:56 usertest.sh [root@jiuyou test]# gzip usertest.sh [root@jiuyou test]# ll total 128 -rw-r--r-- 1 root root 77908 Jun 15 09:56 test.txt -rwxr--r-- 1 root root 254 Jun 15 09:56 usertest.sh.gz [root@jiuyou test]#
可以发现,原文件被删除了,但是大多数时候我们是不希望原文件被删除的,这时候就可以利用-c选项了
[root@jiuyou test]# ll total 128 -rw-r--r-- 1 root root 77908 Jun 15 09:56 test.txt -rwxr--r-- 1 root root 254 Jun 15 09:56 usertest.sh.gz [root@jiuyou test]# gzip -c test.txt > test.txt.gz [root@jiuyou test]# ll total 148 -rw-r--r-- 1 root root 77908 Jun 15 09:56 test.txt -rw-r--r-- 1 root root 17836 Jun 15 10:32 test.txt.gz -rwxr--r-- 1 root root 254 Jun 15 09:56 usertest.sh.gz
将压缩的内容重定向到其他文件,这样压缩就不会删除原文件了
解压缩
两种方式都可以
[root@jiuyou test]# gzip -d usertest.sh.gz [root@jiuyou test]# gunzip test.txt.gz
不解压就查看压缩文件的内容(文本文件)
zcat
将压缩文件的内容输出到屏幕上
[root@jiuyou test]# zcat usertest.sh.gz
bzip2,bzcat
bzip2比gzip还好用,可以说是用来替代gzip的,所以用法基本相同[root@jiuyou test]# bzip2 [-cdkzv#] filename -c:同gzip -d:解压缩 -k:保留原文件 -z:压缩 -v:同gzip -#:同gzip
具体用法几乎和gzip一样,不再多说了
归档命令 tar
将多个文件组合成一个文件,而不是压缩,这种行为叫做 归档 (打包)tar就是一种归档命令,而且tar命令还支持gzip, bzip2,在归档的同时还可以进行压缩
[root@jiuyou test]# tar [-j|-z] [cv] [-f newfilename] filename... 归档与压缩 [root@jiuyou test]# tar [-j|-z] [tv] [-f filename] 查看归档文件下都归档了哪些文件 [root@jiuyou test]# tar [-j|-z] [zv] [-f filename] [-C 目录] 解压缩 -c:新建归档文件(压缩) -t:查看归档文件的列表 -x:展开归档文件(解压缩) -j:通过bzip2压缩/解压缩 -z:通过gzip压缩/解压缩 -v:在执行过程中将正在处理的文件名显示出来 -f filename: 后面接要被处理的文件名, 建议-f单独写一个参数 -C 目录:用在解压缩时,要在特定目录解压缩,就用-C -p:保留文件的原本权限与属性,常用语备份重要的配置文件 -P:保留绝对路径,即允许备份文件中含有目录存在
一般多个命令组合起来使用
压缩: tar -zcv -f filename.tar.gz 要被压缩的文件或者目录名称 查看: tar -ztv -f filename.tar.gz 解压缩: tar -zxv -f filename.tar.gz 欲解压缩的目录
例:用tar命令备份/etc目录
[root@jiuyou ~]# tar -zcv -f etc.tar.gz /etc /etc/rc.d/init.d/crond /etc/rc.d/init.d/mysql /etc/rc.d/init.d/sandbox ........... /etc/rc.d/init.d/functions /etc/rc.d/init.d/ntpdate /etc/rc.d/init.d/halt /etc/rc.d/init.d/sysstat [root@jiuyou ~]# ll -rw-r--r-- 1 root root 24614262 Jun 15 11:50 etc.tar.gz
由于用了-v,所以被压缩归档的文件都会列出来显示到屏幕上,
例:查看etc.tar.gz中都归档压缩了哪些文件
[root@jiuyou ~]# tar -ztv -f etc.tar.gz drwxr-xr-x root/root 0 2016-06-14 21:37 etc/ drwxr-xr-x root/root 0 2014-08-11 16:27 etc/pm/ drwxr-xr-x root/root 0 2011-09-23 19:47 etc/pm/power.d/ drwxr-xr-x root/root 0 2011-09-23 19:47 etc/pm/sleep.d/ drwxr-xr-x root/root 0 2011-09-23 19:47 etc/pm/config.d/ -rw-r--r-- root/root 979 2014-08-11 16:39 etc/yum.conf drwxr-xr-x root/root 0 2014-08-11 16:41 etc/openldap/ ................
例:将etc.tar.gz 解压缩到 /tmp目录下
[root@jiuyou etc]# tar -zxv -f etc.tar.gz -C /tmp .............. etc/setuptool.d/99mouseconfig etc/setuptool.d/99sndconfig etc/setuptool.d/98netconfig etc/setuptool.d/98system-config-keyboard [root@jiuyou ~]# cd /tmp [root@jiuyou tmp]# ls Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)> neww.pdf.1 neww.pdf.4 qtsingleapp-aegisG-46d2 etc neww.pdf.2 neww.pdf.5 qtsingleapp-aegiss-a5d2 mysql.sock neww.pdf.3 neww.pdf.6 test [root@jiuyou tmp]#
这样就完成了解压缩了
例:将归档压缩中的某一个文件解压出来,而不是全部
[root@jiuyou ~]# tar -zxv -f etc.tar.gz etc/shadow etc/shadow [root@jiuyou ~]# ll etc total 4 ---------- 1 root root 1075 Jun 11 17:10 shadow [root@jiuyou ~]#
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍