linux 压缩和解压缩(zip/unzip)

tar -zcvf /home/ecshopa/public_html/uggbootf20101214.tar.gz * 进目录压缩当前目录下所有文件 tar -zxvf /home/uggbootf/public_html/uggbootf20101214.tar.gz 进目录解压到当前目录

 

unzip -o -d /var/lib/mysql mysql43.194-20101230.zip

 

 

 

linux zip命令
zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

2.unzip unzip -o -d /home/sunny myfile.zip 把myfile.zip文件解压到 /home/sunny/ -o:不提示的情况下覆盖文件; -d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

3.其他 zip -d myfile.zip smart.txt 删除压缩文件中smart.txt文件 zip -m myfile.zip ./rpm_info.txt 向压缩文件中myfile.zip中添加rpm_info.txt文件 ——————————————————————————-

要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:

zip -r filename.zip filesdir

在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。

要抽取 zip 文件的内容,键入以下命令:

unzip filename.zip

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

 

 

 

tar 命令详解

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg

这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif

这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif

这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar

这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar

这条命令是解出all.tar包中所有文件,-t是解开的意思

 

 

 

压缩

tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar –xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2 //解压 tar.bz2

tar –xZvf file.tar.Z //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

总结

1、*.tar 用 tar –xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar –xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar –xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar –xZf 解压

8、*.rar 用 unrar e解压

9、*.zip 用 unzip 解压

 

01-.tar格式
解包:[*******]$ tar xvf FileName.tar
打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)

02-.gz格式
解压1:[*******]$ gunzip FileName.gz
解压2:[*******]$ gzip -d FileName.gz
压 缩:[*******]$ gzip FileName

03-.tar.gz格式
解压:[*******]$ tar zxvf FileName.tar.gz
压缩:[*******]$ tar zcvf FileName.tar.gz DirName

04-.bz2格式
解压1:[*******]$ bzip2 -d FileName.bz2
解压2:[*******]$ bunzip2 FileName.bz2
压 缩: [*******]$ bzip2 -z FileName

05-.tar.bz2格式
解压:[*******]$ tar jxvf FileName.tar.bz2
压缩:[*******]$ tar jcvf FileName.tar.bz2 DirName

06-.bz格式
解压1:[*******]$ bzip2 -d FileName.bz
解压2:[*******]$ bunzip2 FileName.bz

07-.tar.bz格式
解压:[*******]$ tar jxvf FileName.tar.bz

08-.Z格式
解压:[*******]$ uncompress FileName.Z
压缩:[*******]$ compress FileName

09-.tar.Z格式
解压:[*******]$ tar Zxvf FileName.tar.Z
压缩:[*******]$ tar Zcvf FileName.tar.Z DirName

10-.tgz格式
解压:[*******]$ tar zxvf FileName.tgz

11-.tar.tgz格式
解压:[*******]$ tar zxvf FileName.tar.tgz
压缩:[*******]$ tar zcvf FileName.tar.tgz FileName

12-.zip格式
解压:[*******]$ unzip FileName.zip
压缩:[*******]$ zip FileName.zip DirName

13-.lha格式
解压:[*******]$ lha -e FileName.lha
压缩:[*******]$ lha -a FileName.lha FileName

14-.rar格式
解压:[*******]$ rar a FileName.rar
压缩:[*******]$ rar e FileName.rar    
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量
指定的目录也行):[*******]$ cp rar_static /usr/bin/rar



命令名: zip

 

功能说明:压缩文件。

语  法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>]

补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".zip"扩展名 的压缩文件。

参  数:

-A   调 整可执行的自动解压缩文件。

-b<工作目录>   指 定暂时存放文件的目录。

-c   替 每个被压缩的文件加上注释。

-d   从 压缩文件内删除指定的文件。

-D   压 缩文件内不建立目录名称。

-f   此 参数的效果和指定"-u"参 数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。

-F   尝 试修复已损坏的压缩文件。

-g   将 文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。

-h   在 线帮助。

-i<范本样式>   只 压缩符合条件的文件。

-j   只 保存文件名称及其内容,而不存放任何目录名称。

-J   删 除压缩文件前面不必要的数据。

-k   使 用MS-DOS兼容格 式的文件名称。

-l   压 缩文件时,把LF字符 置换成LF+CR字 符。

-ll   压 缩文件时,把LF+CR字 符置换成LF字符。

-L   显 示版权信息。

-m   将 文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。

-n<字尾字符串>   不 压缩具有特定字尾字符串的文件。

-o   以 压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。

-q   不显 示指令执行过程。

-r   递 归处理,将指定目录下的所有文件和子目录一并处理。

-S   包 含系统和隐藏文件。

-t<日期时间>   把 压缩文件的日期设成指定的日期。

-T   检 查备份文件内的每个文件是否正确无误。

-u   更 换较新的文件到压缩文件内。

-v   显 示指令执行过程或显示版本信息。

-V   保 存VMS操作系统的文 件属性。

-w   在 文件名称里假如版本编号,本参数仅在VMS操 作系统下有效。

-x<范本样式>   压 缩时排除符合条件的文件。

-X   不 保存额外的文件属性。

-y   直 接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之 类的系统下有效。

-z   替 压缩文件加上注释。

-$   保 存第一个被压缩文件所在磁盘的卷册名称。

-<压缩效率>   压 缩效率是一个介于1-9的 数值。

 

例子

 

1. 压缩test.MYI

 

[root@mysql test]# zip test1.zip test.MYI

adding: test.MYI (deflated 42%)

[root@mysql test]#ll

-rw-r--r-- 1 root    root    1033755 09-24 10:03 test1.zip

 

压缩率为8

[root@mysql test]# zip test2.zip -8 test.MYI

adding: test.MYI (deflated 42%)

[root@mysql test]#ll

-rw-r--r-- 1 root    root    1033451 09-24 10:03 test2.zip

 

2.   将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件

[root@mysql test]# zip -r test.zip ./*

 

打包目录

[root@mysql test]# zip test2.zip test2/*

 

 

3.   删除压缩文件test1.zip中test.MYI文件

[root@mysql test]# zip -d test1.zip test.MYI

 

删除打包文件目录下的文件

 

[root@mysql test]# zip -d test2.zip test2/ln.log

deleting: tests/ln.log

 

4.   向压缩文件中test1.zip中添加test. MYI文件

[root@mysql test]# zip -m test1.zip test. MYI

 

5.   压缩文件时排除某个文件

[root@mysql test]# zip test3.zip tests/* -x tests/ln.log

 

 

命令名 unzip

功 能说明:解压缩zip文 件

语  法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密 码>][.zip文 件][文件][-d <目录>][-x <文件>]  unzip [-Z]

补充说明:unzip.zip压缩文件的解压缩程序。

参  数:

-c   将 解压缩的结果显示到屏幕上,并对字符做适当的转换。

-f   更 新现有的文件。

-l   显 示压缩文件内所包含的文件。

-p   -c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任 何的转换。

-t   检 查压缩文件是否正确。,但不解压。

-u   -f参数类似,但是除了更新现有的文件外,也会将压缩文件中 的其他文件解压缩到目录中。

-v   执 行是时显示详细的信息。或查看压缩文件目录,但不解压。

-z   仅 显示压缩文件的备注文字。

-a   对 文本文件进行必要的字符转换。

-b   不 要对文本文件进行字符转换。

-C   压 缩文件中的文件名称区分大小写。

-j   不 处理压缩文件中原有的目录路径。

-L   将 压缩文件中的全部文件名改为小写。

-M   将 输出结果送到more程 序处理。

-n   解 压缩时不要覆盖原有的文件。

-o   不 必先询问用户,unzip执 行后覆盖原有文件。

-P<密码>   使 用zip的密码选项。

-q   执 行时不显示任何信息。

-s   将 文件名中的空白字符转换为底线字符。

-V   保 留VMS的文件版本信 息。

-X   解 压缩时同时回存文件原来的UID/GID

[.zip文件]   指定.zip压缩文件。

[文件]   指定 要处理.zip压缩文 件中的哪些文件。

-d<目录>   指 定文件解压缩后所要存储的目录。

-x<文件>   指 定不要处理.zip压 缩文件中的哪些文件。

-Z   unzip -Z等 于执行zipinfo指 令。

 

 

1:将压缩文件text.zip在当前目录下解压缩。

 

[root@mysql test]# unzip test.zip

 

2:将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

 

[root@mysql test]# unzip -n test.zip -d /tmp

 

3:查看压缩文件目录,但不解压。

 

[root@mysql test]# unzip -v test.zip

 

4:将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。

 

[root@mysql test]# unzip -o test.zip -d tmp/

 

 

使用

unzip "*.zip"

ls *.zip | xargs -n1 unzip

解压当前目录下的所有zip文件


你可能感兴趣的:(linux 压缩和解压缩(zip/unzip))