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

linux下的文件压缩与打包,compress,gzip,zcat,bzip2,bzcat,tar,find,tarfile,tarball

2011-10-03 09:19 1146 查看

常见的Linux压缩文件扩展名

*.Z compress压缩的文件(已经被gzip替代)

*.gz gzip程序压缩的文件

*.bz2 bzip2程序压缩的文件(比gzip效果好,但只能针对一个文件来压缩)

*.tar tar程序打包的数据,没有压缩(使用tar打包成一个文件,可以解决bzip2不能压缩多个文件的问题)

*.tar.gz tar程序打包的数据,并经过gzip的压缩

*.tar.bz2 tar程序打包的数据,并经过bzip2的压缩

compress的使用

ubuntu安装命令:

apt-get install compress

操作命令:

执行命令后会替代目标文件

压缩 compress [-rcv] 文件名或目录名

解压缩 uncompress 文件名.z

执行命令不替代目标文件

压缩 compress -c 目标文件名 > 新文件名

主要参数:

-r: 连通目录下的文件一并压缩

-c: 将压缩数据输出到屏幕(不进行实际压缩)

-v: 将压缩后的文件信息和文件变化输出(不进行实际压缩)

gzip,zcat的使用

gzip可以解开compress,zip和gzip压缩的文件,压缩文件扩展名为gz

操作命令:

gzip [-cdtv#] 文件名或目录名

zcat 文件名.gz 不用解压缩在屏幕上输出压缩文件的内容

执行命令不替代目标文件

gzip -c 目标文件名 > 新文件名

gizp -d 目标文件名 > 新文件名

主要参数:

-c: 将压缩的数据输出到屏幕

-d: 解压缩的参数

-t: 用来校验一个压缩文件的一致性,看有无错误

-v: 显示原文件/压缩文件的压缩比信息

-#: 压缩等级,-1最快,-9最慢,默认-6,快慢速度和压缩比成反比

gunzip也是解压缩命令

bzip2,bzcat的使用

操作命令:

bzip2 [-cdkzv#] 文件名

bzcat 文件名.bz2

主要参数:

-c: 将压缩产生的数据输出到屏幕上

-d: 解压缩参数

-k: 保留原文件,不会删除原始文件

-z: 压缩的参数

-v: 显示原文件/压缩文件的压缩比信息

-v: 与gzip相同

bunzip2命令也可以用来解压缩

打包命令:tar

操作命令:

打包与压缩:tar [-j|-z] [cv] [-f 文件名]

查看文件: tar [-j|-z] [tv] [-f 文件名]

解压缩: tar [-j|-z] [xv] [-f 文件名] [-c 目录]

主要参数:

-c: 建立打包文件,可搭配-v来查看过程中被打包的文件名

-t: 查看打包文件内含有哪些文件

-x: 解压缩或解打包功能,可以配合-C(大写)在特定目录解开,-c,-t,-x不能同时出现在一串命令中

-j: 通过bzip2的支持进行压缩/解压缩:此文件名最好为*.tar.bz2

-z: 通过gzip的支持进行压缩/解压缩:此文件名最好为*.tar.gz

-v: 在压缩/解压缩的过程中,将正在处理的文件名显示出来

-f filename: -f后面要立刻接要被处理的文件名

-C 目录:这个选项用在解压缩,在特定目录解压缩可以使用这个选项

-p:(小写p)保留备份数据的原本权限与属性,通常用于备份重要的配置文件,很重要的参数

-P:(大写P)保留绝对路径,允许备份数据中含有根目录存在

--exclude=FILE:在压缩的过程中,不要将FILE打包

技巧:

解压缩包内单一文件的方法

tar -jtv -f 目录/文件名.tar.bz2 | grep ‘查找的字符串’

grep是搜索关键词的功能,找到目标目录后

tar -jxv -f 打包文件名.tar.bz2 解开目标目录

打包某目录,但不含该目录下某些文件的方法

tar -jcv -f /root/etc.tar.bz2 --exclude=/root/etc* > --exclude=/root/etc.tar.bz2 /etc /root

仅备份比某个时刻还要新的档案

--newer选项和--newer-mtime

--newer表示后面含有mtime 与 ctime

--newer-mtime则仅是mtime

使用find /etc -newer /etc/passwd找出比较新的文件

找一个目标文件的时间

tar -jcv -f /root/etc.tar.bz2 > --newer-mtime="2011/10/3" /etc/*

tarfile,tarball

tarfile

仅仅使用tar指令打包没有经过压缩的文件

tarball

使用tar指令打包并经过压缩的文件

使用tar命令被分到磁带机/dev/st0的方法

tar -cv -f /dev/st0 /home/root/etc

利用管线命令与数据流备份

就是边打包变解压缩到目标目录

cd /tmp

tar -cvf - /etc|tar -xvf -

即:将/etc底下的资料直接copy到目录所在的路径即/tmp底下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: