linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
本文介绍了 linux 下的压缩程式 tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等程式,以及如何使用它们对.tar、.gz 、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、. tar.Z、.zip、.rar 这 10 种压缩文件进行操作
Linux 下最常用的打包程序就是 tar 了,使用 tar 程序打出来的包我们常称为 tar 包,tar 包文件的命令通常都是以.tar 结尾的。生成 tar 包后,就可以用其它的程序来进行压缩了,所以首先就来讲讲 tar 命令的基本用法:
tar 命令的选项有很多(用 man tar 可以查看到),但常用的就那么几个选项,下面来举例说明一下:
tar -cf all.tar *.jpg
这条命令是将所有.jpg 的文件打成一个名为 all.tar 的包。-c 是表示产生新的包 ,-f 指定包的文件名。
tar -uf all.tar logo.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 包中所有文件,-x 是解开的意思
以上就是 tar 的最基本的用法。为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能。这就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。
# tar 调用
gzip 是 GNU 组织开发的一个压缩程序,.gz 结尾的文件就是 gzip 压缩的结果。与 gzip 相对的解压程序是 gunzip。tar 中使用-z 这个参数来调用 gzip。下面来举例说明一下:
tar -czf all.tar.gz *.jpg
这条命令是将所有.jpg 的文件打成一个 tar 包,并且将其用 gzip 压缩,生成一个 gzip 压缩过的包,包名为 all.tar.gz
tar -xzf all.tar.gz
这条命令是将上面产生的包解开。
# tar 调用 bzip2
bzip2 是一个压缩能力更强的压缩程序,.bz2 结尾的文件就是 bzip2 压缩的结果。
与 bzip2 相对的解压程序是 bunzip2。tar 中使用-j 这个参数来调用 gzip。下面来举例说明一下:
tar -cjf all.tar.bz2 *.jpg
这条命令是将所有.jpg 的文件打成一个 tar 包,并且将其用 bzip2 压缩,生成一个 bzip2 压缩过的包,包名为 all.tar.bz2
tar -xjf all.tar.bz2
这条命令是将上面产生的包解开。
# tar 调用 compress
compress 也是一个压缩程序,但是好象使用 compress 的人不如 gzip 和 bzip2 的人多。.Z 结尾的文件就是 bzip2 压缩的结果。与 compress 相对的解压程序是 uncompress。tar 中使用-Z 这个参数来调用 compress。下面来举例说明一下:
tar -cZf all.tar.Z *.jpg
这条命令是将所有.jpg 的文件打成一个 tar 包,并且将其用 compress 压缩,生成一个 uncompress 压缩过的包,包名为 all.tar.Z
tar -xZf all.tar.Z
这条命令是将上面产生的包解开
有了上面的知识,你应该可以解开多种压缩文件了,下面对于 tar 系列的压缩文件作一个小结:
- 对于.tar 结尾的文件
tar -xf all.tar
- 对于.gz 结尾的文件
gzip -d all.gz
gunzip all.gz
- 对于.tgz 或.tar.gz 结尾的文件
tar -xzf all.tar.gz
tar -xzf all.tgz
- 对于.bz2 结尾的文件
bzip2 -d all.bz2
bunzip2 all.bz2
- 对于 tar.bz2 结尾的文件
tar -xjf all.tar.bz2
- 对于.Z 结尾的文件
uncompress all.Z
- 对于.tar.Z 结尾的文件
tar -xZf all.tar.z
另外对于 Window 下的常见压缩文件.zip 和.rar,Linux 也有相应的方法来解压它们:
# 对于.zip
linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
zip all.zip *.jpg
这条命令是将所有.jpg 的文件压缩成一个 zip 包
unzip all.zip
这条命令是将 all.zip 中的所有文件解压出来
# 对于.rar
要在 linux 下处理.rar 文件,需要安装 RAR for Linux,可以从网上下载,但要记住,RAR for Linux 不是免费的;可从http://www.rarsoft.com/download.htm下载RARfor Linux 3.2.0,然后安装:
tar -xzpvf rarlinux-3.2.0.tar.gz
cd rar
make
2
3
这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
rar a all *.jpg
这条命令是将所有.jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将.rar 扩展名将自动附加到包名后。
unrar e all.rar
这条命令是将 all.rar 中的所有文件解压出来
到此为至,我们已经介绍过 linux 下的 tar、gzip、gunzip、bzip2、bunzip2、compress 、 uncompress、 zip、unzip、rar、unrar 等程式,你应该已经能够使用它们对.tar 、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、. Z、.tar.Z、.zip、.rar 这 10 种压缩文 件进行解压了,以后应该不需要为下载了一个软件而不知道如何在 Linux 下解开而烦恼了。而且以上方法对于 Unix 也基本有效。
本文介绍了 linux 下的压缩程式 tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等程式,以及如何使用它们对.tar、.gz 、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、. tar.Z、.zip、.rar 这 10 种压缩文件进行 操作。
# 以下补充
# tar
-c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有 gzip 属性的 -j:有 bz2 属性的 -Z:有 compress 属性的 -v:显示所有过程 -O:将文件解开到标准输出
下面的参数-f 是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
tar -cf all.tar *.jpg # 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -rf all.tar *.gif
2
这条命令是将所有.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 包中所有文件,-x 是解开的意思
# 压缩
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
2
3
4
5
6
# 解压
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
2
3
4
5
6
# 总结
- *.tar 用 tar –xvf 解压
- *.gz 用 gzip -d 或者 gunzip 解压
- *.tar.gz 和_.tgz 用 tar –xzf 解压
- *.bz2 用 bzip2 -d 或者用 bunzip2 解压
- *.tar.bz2 用 tar –xjf 解压
- *.Z 用 uncompress 解压
- *.tar.Z 用 tar –xZf 解压
- *.rar 用 unrar e 解压
- *.zip 用 unzip 解压
# Linux 下解压 RAR 软件下载和解压.zip 和.rar 文件
下载地址:http://www.rarsoft.com/download.htm (opens new window)(目前最新为 RAR *.** for Linux)
以最新的为准。
对于 Window 下的常见压缩文件.zip 和.rar,Linux 也有相应的方法来解压它们:
# 对于.zip
linux 下提供了 zip 和 unzip 程序,zip 是压缩程序,unzip 是解压程序。它们的参数选项很多,这里只做简单介绍,举例说明一下其用法:
zip all.zip *.jpg # (这条命令是将所有.jpg的文件压缩成一个zip包)
unzip all.zip # (这条命令是将all.zip中的所有文件解压出来)
2
# 对于.rar
要在 linux 下处理.rar 文件,需要安装 RAR for Linux,可以从网上下载,但要记住,RAR for Linux 不是免费的;可从http://www.rarsoft.com/download.htm (opens new window)下载 RAR *.** for Linux ,然后安装其安装操作如下:
tar -xzpvf rarlinux-*.**.tar.gz
cd rar
make
2
3
这样就安装好了,安装后就有了 rar 和 unrar 这两个程序,rar 是压缩程序,unrar 是解压程序。它们的参数选项很多,举例说明一下其用法
rar a all *.jpg
这条命令是将所有.jpg 的文件压缩成一个 rar 包,名为 all.rar,该程序会将.rar 扩展名将自动附加到包名后。
unrar e all.rar
这条命令是将 all.rar 中的所有文件解压出来。
xxxx.tar.gz 文件使用 tar 带 zxvf 参数,可以一次解压开。XXXX 为文件名。例如:
tar zxvf xxxx.tar.gz
# gzip -d
语 法: gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][文件...] 或 gzip [-acdfhlLnNqrtvV][-S <压缩字尾字符串>][-<压缩效率>][--best/fast][目录]
补充说明: gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
参 数:
-a或--ascii 使用ASCII文字模式。
-c或--stdout或--to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
-d或--decompress或----uncompress 解开压缩文件。
-f或--force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
-h或--help 在线帮助。
-l或--list 列出压缩文件的相关信息。
-L或--license 显示版本与版权信息。
-n或--no-name 压缩文件时,不保存原来的文件名称及时间戳记。
-N或--name 压缩文件时,保存原来的文件名称及时间戳记。
-q或--quiet 不显示警告信息。
-r或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-S<压缩字尾字符串>或----suffix<压缩字尾字符串> 更改压缩字尾字符串。
-t或--test 测试压缩文件是否正确无误。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-<压缩效率> 压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。
--best 此参数的效果和指定"-9"参数相同。
--fast 此参数的效果和指定"-1"参数相同。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- *.tar 用 tar –xvf 解压
- *.gz 用 gzip -d 或者 gunzip 解压
- *.tar.gz 和_.tgz 用 tar –xzf 解压
- *.bz2 用 bzip2 -d 或者用 bunzip2 解压
- *.tar.bz2 用 tar –xjf 解压
- *.Z 用 uncompress 解压
- *.tar.Z 用 tar –xZf 解压
- *.rar 用 unrar e 解压
- *.zip 用 unzip 解压
Linux 下*.tar.gz 文件解压缩命令
# 压缩命令
命令格式: tar -zcvf 压缩文件名.tar.gz 被压缩文件名
可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。
# 解压缩命令
命令格式: tar -zxvf 压缩文件名.tar.gz
解压缩后的文件只能放在当前的目录。
你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
zip -r filename.zip file1 file2 file3 /usr/work/school
压缩单个目录命令 zip -r filename.zip filename
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。