How to let gzip preserve original file?

6 views
Skip to first unread message

mosjin

unread,
Nov 9, 2007, 10:22:29 AM11/9/07
to jinnilab
1. Preserve original file a.exp.tar.
gzip -9vc a.exp.tar > a.exp.tar.gz

E.G.:
$ ls -l | grep a.exp.tar
-rw-rw-r-- 1 root root 10240 Nov 7 15:25 a.exp.tar
$ gzip -9vc a.exp.tar > a.exp.tar.gz
a.exp.tar: 86.1%
$ ls -l | grep a.exp.tar
-rw-rw-r-- 1 root root 10240 Nov 7 15:25 a.exp.tar
-rw-rw-r-- 1 root root 1449 Nov 7 15:28 a.exp.tar.gz
$ rm a.exp.tar
$ gunzip -v a.exp.tar.gz
a.exp.tar.gz: 86.1% -- replaced with a.exp.tar
$ ls -l | grep a.exp.tar
-rw-rw-r-- 1 root root 10240 Nov 7 15:28 a.exp.tar
$ tar -xvf a.exp.tar
a.exp
$

2. usage: gzip压缩后保持原文件的参数是什么?

最简提示:
tar zxvf XXXX.tar.gz
tar jxvf XXXX tar.bz2

1.压缩一组文件为tar.gz后缀。
# tar cvf backup.tar /etc #gzip -q backup.tar

# tar cvfz backup.tar.gz /etc/
2.释放一个后缀为tar.gz的文件。
#gunzip backup.tar.gz #tar xvf backup.tar

# tar xvfz backup.tar.gz

3.用一个命令完成压缩
#tar cvf - /etc/ | gzip -qc >; backup.tar.gz

4.用一个命令完成释放
# gunzip -c backup.tar.gz | tar xvf -

5.如何解开tar.Z的文件?
# tar xvfz backup.tar.Z 或 # uncompress backup.tar.Z #tar xvf
backup.tar

6.如何解开.tgz文件?
#gunzip backup.tgz

7.如何压缩和解压缩.bz2的包?
#bzip2 /etc/smb.conf
这将压缩文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
这将在当前目录下还原smb.conf.bz2为smb.conf
(bzip2 -d也一样)
注: .bz2压缩格式不是很常用,你可以man bzip2


3. gzip parameters:
gzip是一个非常流行的压缩工具,他通常和tar命令一起使用。语法:
gzip [参数] 文件列表,参数有:
-a
ASCII文本模式:按照约定转化文件结尾标志,这个选项只支持非UNIX操作系统,在msdos下,回车和换行符在压缩的时候被转换成换行符,解压
的时候再转换回来。

-c
输出到标准输出,保留原文件不变,如果有几个输入文件,则输出保持一定的顺序。

-d
解压缩。

-f
强制压缩。

-l
详细显示文件的压缩情况:
1, 压缩文件的大小。
2, 未压缩前的大小。
3, 压缩比和被压缩的文件名。
4, 如果和-v参数一起使用,还显示下列信息:
a, 压缩方法。
b, 未压缩数据的32位CRC码。
c, 文件的更改时间。

-q
不显示所有警告信息。

-r
递归压缩目录结构。


tar
tar是一个很流行的文件备份和压缩工具,用于建立系统备份或建立单一文件。Tar的语法很麻烦,现简单介绍如下:
tar crtux[fmtVwF] 文件列表。参数有:
参数
说明

参量
指定获得档案,可以是以下几个参数。

C
建立一个新档案或覆盖一个已存在的档案。

R
在文件列表中命名。

A
添加文件到备份包中。

T
列出压缩文件的列表。

U
从压缩文件里面解压缩文件。

文件列表
要处理的文件列表,可以包括统配符。如果处理的是目录,那么则处理目录及其下的所有文件和文件夹。

-b
指定分块数量n,n×512k,n的默认值是20。

-m
告诉tar解压缩时不需修改时间,修改时间就是解压缩的时间。

-c 目录名
更改目录。

-k
保留已存在的文件,不从压缩文件中覆盖。

-v
生成有卷标的压缩文件。

-z
使用gzip解压缩文件。


比如解开一个名叫9s.tgz的压缩文件:
tar zxvf 9s.tgz
又例如要把/home/bbs下的所有文件打包成bbs.bak.tgz,可以这样:
tar zvcf bbs.bak.tgz /home/bbs/*

Reply all
Reply to author
Forward
0 new messages