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

Linux 下压缩与解压.zip和.rar及.7z文件

2016-01-06 14:40 781 查看
对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们:

1)对于.zip

linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,可用命令zip -help和unzip -help查看,这里只做简单介绍,举例说明一下其用法:

# zip yajiu.zip yajiu.jpg yajiu.png
这条命令是将yajiu.jpg和yajiu.png压缩成一个zip包
# zip yajiu.zip *.jpg
这条命令是将所有.jpg的文件压缩成一个zip包
# zip -r yajiu.zip yajiu
这条命令是将文件夹yajiu压缩成一个zip包
# unzip yajiu.zip
这条命令是将yajiu.zip中的所有文件解压出来

yajiu@yajiu-desktop:~$ cd 图片
yajiu@yajiu-desktop:~/图片zip yajiu.zip yajiu.jpg yajiu.png
updating: yajiu.jpg (deflated 34%)
updating: yajiu.png (deflated 0%)
yajiu@yajiu-desktop:~/图片$ zip yajiu.zip *.jpg
adding: 1.jpg (deflated 34%)
adding: 2.jpg (deflated 0%)
yajiu@yajiu-desktop:~/图片$ zip -r yajiu.zip yajiu
adding: yajiu/ (stored 0%)
adding: yajiu/yajiu.zip (stored 0%)
adding: yajiu/yajiu.jpg (deflated 34%)
adding: yajiu/yajiu.rar (deflated 0%)
adding: yajiu/yajiu.7z (deflated 0%)
adding: yajiu/yajiu.png (deflated 0%)
yajiu@yajiu-desktop:~/图片$ unzip yajiu.zip
Archive: yajiu.zip
replace 1.jpg? [y]es,
o, [A]ll,
one, [r]ename: y
inflating: 1.jpg                   
replace 2.jpg? [y]es,
o, [A]ll,
one, [r]ename: y
inflating: 2.jpg                   
yajiu@yajiu-desktop:~/图片$ 

原文链接:http://hi.baidu.com/zgyz/blog/item/f7ef29085c90d4d663d98665.html

2)对于.rar

安装: sudo apt-get install rar unrar

或者可从http://www.rarsoft.com/download.htm下载 RAR for Linux 编译安装
# tar -xzpvf rarlinux-3.8.0.tar.gz
# cd rar
# make
这样就安装好了,安装之后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,可用命令rar -help和unrar -help查看,这里亦简单举例说明一下其用法:

# rar a yajiu.rar yajiu.jpg yajiu.png
这条命令是将yajiu.jpg和yajiu.png压缩成一个rar包
# rar a yajiu.rar *.jpg
这条命令是将所有.jpg的文件压缩成一个rar包
# rar a yajiu.rar yajiu
这条命令是将文件夹yajiu压缩成一个rar包
# unrar e yajiu.rar
这条命令是将yajiu.rar中的所有文件解压出来

yajiu@yajiu-desktop:~$ cd 图片
yajiu@yajiu-desktop:~/图片$ rar a yajiu.rar yajiu.jpg yajiu.png

RAR 3.80 beta 2   Copyright (c) 1993-2008 Alexander Roshal   16 Jun 2008
Shareware version         Type RAR -? for help

Evaluation copy. Please register.

Creating archive yajiu.rar

Adding    yajiu.jpg                                                   OK 
Adding    yajiu.png                                                   OK 
Done
yajiu@yajiu-desktop:~/图片$ rar a yajiu.rar *.jpg

RAR 3.80 beta 2   Copyright (c) 1993-2008 Alexander Roshal   16 Jun 2008
Shareware version         Type RAR -? for help

Evaluation copy. Please register.

Creating archive yajiu.rar

Adding    1.jpg                                                       OK 
Adding    2.jpg                                                       OK 
Done
yajiu@yajiu-desktop:~/图片$ rar a yajiu.rar yajiu

RAR 3.80 beta 2   Copyright (c) 1993-2008 Alexander Roshal   16 Jun 2008
Shareware version         Type RAR -? for help

Evaluation copy. Please register.

Creating archive yajiu.rar

Adding    yajiu/yajiu.zip                                             OK 
Adding    yajiu/yajiu.jpg                                             OK 
Adding    yajiu/yajiu.rar                                             OK 
Adding    yajiu/yajiu.7z                                              OK 
Adding    yajiu/yajiu.png                                             OK 
Adding    yajiu                                                       OK 
Done
yajiu@yajiu-desktop:~/图片$ unrar e yajiu.rar

UNRAR 3.80 beta 2 freeware      Copyright (c) 1993-2008 Alexander Roshal

Extracting from yajiu.rar

1.jpg already exists. Overwrite it ?
[Y]es,
o, [A]ll, n[E]ver, [R]ename, [Q]uit Y

Extracting 1.jpg                                                     OK 

7a008fc287fe680c0ff477e9.jpg already exists. Overwrite it ?
[Y]es,
o, [A]ll, n[E]ver, [R]ename, [Q]uit Y

Extracting 2.jpg                                                     OK 
All OK
yajiu@yajiu-desktop:~/图片$ 

原文链接:http://hi.baidu.com/zgyz/blog/item/f7ef29085c90d4d663d98665.html

2)对于.7z

支持 7Z,ZIP,Zip64,CAB,RAR,ARJ,GZIP,BZIP2,TAR,CPIO,RPM,ISO,DEB 压缩文件格式

安装: sudo apt-get install p7zip p7zip-full p7zip-rar

# 7z a yajiu.7z yajiu.jpg yajiu.png
这条命令是将yajiu.jpg和yajiu.png压缩成一个7z包
# 7z a yajiu.7z *.jpg
这条命令是将所有.jpg的文件压缩成一个7z包
# 7z a yajiu.7z yajiu
这条命令是将文件夹yajiu压缩成一个7z包
# 7z e yajiu.7z
这条命令是将yajiu.7z中的所有文件解压出来,e是解压到当前路径
# 7z x yajiu.7z
这条命令是将yajiu.7z中的所有文件解压出来,x是解压到压缩包命名的目录下

yajiu@yajiu-desktop:~$ cd 图片
yajiu@yajiu-desktop:~/图片$ 7z a yajiu.7z yajiu.jpg yajiu.png

7-Zip (A) 4.58 beta Copyright (c) 1999-2008 Igor Pavlov 2008-05-05
p7zip Version 4.58 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning

Creating archive yajiu.7z

Compressing yajiu.jpg      
Compressing yajiu.png      

Everything is Ok
yajiu@yajiu-desktop:~/图片$ 7z a yajiu.7z *.jpg

7-Zip (A) 4.58 beta Copyright (c) 1999-2008 Igor Pavlov 2008-05-05
p7zip Version 4.58 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning

Creating archive yajiu.7z

Compressing 1.jpg      
Compressing 2.jpg      

Everything is Ok
yajiu@yajiu-desktop:~/图片$ 7z a yajiu.7z yajiu

7-Zip (A) 4.58 beta Copyright (c) 1999-2008 Igor Pavlov 2008-05-05
p7zip Version 4.58 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Scanning

Creating archive yajiu.7z

Compressing yajiu/yajiu.7z      
Compressing yajiu/yajiu.rar      
Compressing yajiu/yajiu.zip      
Compressing yajiu/yajiu.jpg      
Compressing yajiu/yajiu.png      

Everything is Ok
yajiu@yajiu-desktop:~/图片$ 7z x yajiu.7z

7-Zip 4.58 beta Copyright (c) 1999-2008 Igor Pavlov 2008-05-05
p7zip Version 4.58 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

Processing archive: yajiu.7z

file 1.jpg
already exists. Overwrite with 
1.jpg?
(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename / (Q)uit? Y
Extracting 1.jpg
file 2.jpg
already exists. Overwrite with 
2.jpg?
(Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename / (Q)uit? Y
Extracting 2.jpg

Everything is Ok

Files: 2
Size:       112564
Compressed: 96228
yajiu@yajiu-desktop:~/图片$


zip格式

压缩: zip -r [目标文件名].zip [原文件/目录名]
解压: unzip [原文件名].zip


注:-r参数代表递归


tar格式(该格式仅仅打包,不压缩)

打包:tar -cvf [目标文件名].tar [原文件名/目录名]
解包:tar -xvf [原文件名].tar


注:c参数代表create(创建),x参数代表extract(解包),v参数代表verbose(详细信息),f参数代表filename(文件名),所以f后必须接文件名。


tar.gz格式

方式一:利用前面已经打包好的tar文件,直接用压缩命令。

压缩:gzip [原文件名].tar
解压:gunzip [原文件名].tar.gz


方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -zcvf [目标文件名].tar.gz [原文件名/目录名]
解压并解包: tar -zxvf [原文件名].tar.gz


注:z代表用gzip算法来压缩/解压。


tar.bz2格式

方式一:利用已经打包好的tar文件,直接执行压缩命令:

压缩:bzip2 [原文件名].tar
解压:bunzip2 [原文件名].tar.bz2


方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -jcvf [目标文件名].tar.bz2 [原文件名/目录名]
解压并解包: tar -jxvf [原文件名].tar.bz2


注:小写j代表用bzip2算法来压缩/解压。


tar.xz格式

方式一:利用已经打包好的tar文件,直接用压缩命令:

压缩:xz [原文件名].tar
解压:unxz [原文件名].tar.xz


方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -Jcvf [目标文件名].tar.xz [原文件名/目录名]
解压并解包: tar -Jxvf [原文件名].tar.xz


注:大写J代表用xz算法来压缩/解压。


tar.Z格式(已过时)

方式一:利用已经打包好的tar文件,直接用压缩命令:

压缩:compress [原文件名].tar
解压:uncompress [原文件名].tar.Z


方式二:一次性打包并压缩、解压并解包

打包并压缩: tar -Zcvf [目标文件名].tar.Z [原文件名/目录名]
解压并解包: tar -Zxvf [原文件名].tar.Z


注:大写Z代表用ncompress算法来压缩/解压。另,ncompress是早期Unix系统的压缩格式,但由于ncompress的压缩率太低,现已过时。


jar格式

压缩:jar -cvf [目标文件名].jar [原文件名/目录名]
解压:jar -xvf [原文件名].jar


注:如果是打包的是Java类库,并且该类库中存在主类,那么需要写一个META-INF/MANIFEST.MF配置文件,内容如下:

Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-class: the_name_of_the_main_class_should_be_put_here


然后用如下命令打包:

jar -cvfm [目标文件名].jar META-INF/MANIFEST.MF [原文件名/目录名]


这样以后就能用“java -jar [文件名].jar”命令直接运行主类中的public static void main方法了。


7z格式

压缩:7z a [目标文件名].7z [原文件名/目录名]
解压:7z x [原文件名].7z


注:这个7z解压命令支持rar格式,即:

7z x [原文件名].rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: