Ubuntu 解压缩zip,tar,tar.gz,tar.bz2文件

2024-02-11 20:32
文章标签 ubuntu 解压缩 zip tar bz2 gz

本文主要是介绍Ubuntu 解压缩zip,tar,tar.gz,tar.bz2文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下面我将会给大家演示如何用这些命令在Linux下面去压缩文件或者目 录。我们将学习zip, tar, tar.gz和tar.bz2等压缩格式的基本用法。这几个是在Linux里面常用的压缩格式。

zip格式是第一个需要了解的格式。因为它实际上已成为压缩文件的标准选 择,而且它在windows上也能使用。我经常用zip格式压缩那些需要共享给windows用户的文件。如果只是共享给linux用户或者Mac用户, 那我偏向于选择tar.gz格式

 

ZIP

zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:

我们可以使用下列的命令压缩一个目录:

# zip -r archive_name.zip directory_to_compress

 

下面是如果解压一个zip文档:

# unzip archive_name.zip

 

TAR

Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:

# tar -cvf archive_name.tar directory_to_compress

 

如何解包:

# tar -xvf archive_name.tar.gz

 

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

# tar -xvf archive_name.tar -C /tmp/extract_here/

 

TAR.GZ

这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:

# tar -zcvf archive_name.tar.gz directory_to_compress

 

解压缩:

# tar -zxvf archive_name.tar.gz

 

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/

 

TAR.BZ2

这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。这个就是你如何使用tar.bz2进行压缩。

# tar -jcvf archive_name.tar.bz2 directory_to_compress

 

上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:

# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/

 

数据压缩是非常有用的,尤其是对于备份来说。所以,你现在应该考虑在你的备份脚本中使用你在这里学到的压缩方式备份你基本的规则文件以减小你备份文件的大小。

 

过段时间之后,你就会意识到,在压缩率与CPU占用时间上会有一个平衡,你也要学会如何去权衡什么时候你需要一个快但是压缩率低,什么时候需要一个压缩率高但是CPU点用高的压缩方式,然后你才能避免无谓的空间与时间。

 

来源:http://www.simplehelp.net/2008/12/15/how-to-create-and-extract-zip-tar-targz-and-tarbz2-files-in-linux/

 

 

如果tar不支持j这个参数就先用 
bzip2 -d xxx.tar.bz2 
把它解压成.tar文件,然后再用 
tar xvf xxx.tar 
拆包。


压缩解压 
linux下怎么解后缀名是gzip的文件? 
1.以.a为扩展名的文件: 
#tar xv file.a 


2.以.z为扩展名的文件: 
#uncompress file.Z 


3.以.gz为扩展名的文件: 
#gunzip file.gz 


4.以.bz2为扩展名的文件: 
#bunzip2 file.bz2 


5.以.tar.Z为扩展名的文件: 
#tar xvZf file.tar.Z  

或 #compress -dc file.tar.Z | tar xvf - 


6.以.tar.gz/.tgz为扩展名的文件: 
#tar xvzf file.tar.gz  
或 gzip -dc file.tar.gz | tar xvf - 


7.以.tar.bz2为扩展名的文件: 
#tar xvIf file.tar.bz2  
或 bzip2 -dc file.tar.bz2 | xvf - 


8.以.cpio.gz/.cgz为扩展名的文件: 
#gzip -dc file.cgz | cpio -div 


9.以.cpio/cpio为扩展名的文件: 
#cpio -div file.cpio  
或cpio -divc file.cpio 


10.以.rpm为扩展名的文件安装: 
#rpm -i file.rpm 


11.以.rpm为扩展名的文件解压缩: 
#rpm2cpio file.rpm | cpio -div 


12.以.deb为扩展名的文件安装: 
#dpkg -i file.deb 


13.以.deb为扩展名的文件解压缩: 
#dpkg-deb --fsys-tarfile file.deb | tar xvf - ar p  
file.deb data.tar.gz | tar xvzf - 


14.以.zip为扩展名的文件: 
#unzip file.zip 


在linux下解压Winzip格式的文件 
  要是装了jdk的话,可以用jar命令;还可以使用unzip命令。 
直接解压.tar.gz文件 
  xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开。XXXX为文件名。 例如: 
$tar zxvf xxxx.tar.gz 



gzip 
gzip[选项]要压缩(或解压缩)的文件名 
-c将输出写到标准输出上,并保留原有文件。 
-d将压缩文件压缩。 
-l对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小、压缩比、未压缩文件的名字 
-r递归式地查找指定目录并压缩或压缩其中的所有文件。 
-t测试压缩文件是正完整。 
-v对每一个压缩和解压缩的文件,显示其文件名和压缩比。 
-num-用指定的数字调整压缩的速度。

 
举例: 
把/usr目录并包括它的子目录在内的全部文件做一备份,备份文件名为usr.tar 
tar cvf usr.tar /home 
把/usr 目录并包括它的子目录在内的全部文件做一备份并进行压缩,备份文件名是usr.tar.gz 
tar czvf usr.tar.gz /usr 
压缩一组文件,文件的后缀为tar.gz 
#tar cvf back.tar /back/ 
#gzip -q back.tar 
or 
#tar cvfz back.tar.gz /back/ 
释放一个后缀为tar.gz的文件。 
#tar zxvf back.tar.gz 
#gzip back.tar.gz 
#tar xvf back.tar



1. Ubuntu解压命令全览
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
注:tar是打包,不是压缩!

.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName

.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName

.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz

.tar.bz
解压:tar jxvf FileName.tar.bz

解压:uncompress FileName.Z
压缩:compress FileName

.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName

.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName

.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar

.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/

.rpm
解包:rpm2cpio FileName.rpm | cpio -div

.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -

tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda
.sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName 

rar ubuntu 解压命令
安装ubuntu下的rar软件
sudo apt-get install rar
就这么简单,安装完成之后,如果你是桌面Linux的话,就可以直接打开.rar文件了,能把里面的文件直接拉出来解压。如果需要在命令模式下,解压缩的话,请看下节。

rar命令详解
用法: rar <命令> -<选项1> ….-<选项N> <操作文档> <文件…> <@文件列表…> <解压路径>
通常rar命令由一个主命令加若干选项(可选)构成,操作文档为操作施加的.rar文件对象,
文件或文件列表为对操作文档实现修饰的具体文件或目录(可选)。

rar常用命令主要有
a 添加文件到操作文档
例:rar a test.rar file1.txt 若test.rar文件不存在,则打包file1.txt文件成test.rar
例:rar a test.rar file2.txt 若test.rar文件已经存在,则添加file2.txt文件到test.rar中
(这样test.rar中就有两个文件了)
注,如果操作文档中已有某文件的一份拷贝,则a命令更新该文件,对目录也可以进行操作
例:rar a test.rar dir1

c 对操作文档添加说明注释
rar c test.rar
(会出现Reading comment from stdin字样,然后输入一行或多行注释,以ctrl+d结束)
cf 添加文件注释,类似上面的c,不过这个是对压缩文档中每个文件进行注释
cw 将文档注释写入文件
例:rar cw test.rar comment.txt

d 从文档中删除文件
例:rar d test.rar file1.txt

e 将文件解压到当前目录
例:rar e test.rar
注:用e解压的话,不仅原来的file1.txt和file2.txt被解压到当前目录,就连dir1里面的所有文件也被解压到当前目录下,不能保持压缩前的目录结构,如果想保持压缩前的目录结构,用x解压

k 锁定文档
例:rar k test.rar 锁定文档后,该文档就无法进行任何更新操作了

r 修复文档
例:rar r test.rar
当rar文件有问题时,可以尝试用该命令进行修复(鬼知道有多少用)

s 转换文档成自解压文档
例:rar s test.rar
会生成一个test.sfx的可执行文档,运行它的效果就相当于rar x test.rar,
适合于向没有rar的用户传输文件

t 检测文档
例:rar t test.rar
检测test.rar的完整性,一般压缩完大型文件准备传输前最好用这个命令来确保文件的正确性

x 带路径解压文档中内容到当前目录
例:rar x test.rar
这样解压的话,dir1就会保持原来的目录结构 

2. XZ压缩最新压缩率之王

xz -d xxx.tar.xz将xxx.tar.xz解压成 xxx.tar

然后,再用 tar xvf xxx.tar进行解压缩



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 这条命令是将所有.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 -tf aaa.tar.gz   在不解压的情况下查看压缩包的内容

压缩

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

解压

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

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

tar -xjvf file.tar.bz2   //解压 tar.bz2tar –xZvf file.tar.Z //解压tar.Z

总结

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 解压


tar的使用方法:

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

2:释放一个后缀为tar.gz的文件 
gunzip backup.tar.gz 
或tar xvf backup.tar

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

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

5:如何解开ta.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



这篇关于Ubuntu 解压缩zip,tar,tar.gz,tar.bz2文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/700744

相关文章

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

在Ubuntu 20.04上安装Nginx的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 Nginx 是世界上最流行的 Web 服务器之一,负责托管互联网上一些最大和流量最高的网站。它是一个轻量级选择,可以用作 Web 服务器或反向代理。 在本指南中,我们将讨论如何在 Ubuntu 20.04 服务器上安装 Nginx,调整防火墙,管理 Nginx 进程,并设置服务器块以从单

虚拟机ubuntu配置opencv和opencv_contrib

前期准备  1.下载opencv和opencv_contrib源码 opencv-4.6.0:https://opencv.org/releases/ opencv_contrib-4.6.0:https://github.com/opencv/opencv_contrib 在ubuntu直接下载或者在window上下好传到虚拟机里都可以 自己找个地方把他们解压,个人习惯在home下新建一

解决ubuntu系统无法与FinalShell无法连接问题

问题 解决方案 先下载ubuntu网络工具 sudo apt install net-tools 输入密码 下载完成后进入管理员模式查看密码 sudo -i hostname -I 查看IP 得到ip地址后再继续安装 openssh-server 插件 sudo apt-get install openssh-server 问题解决 尝试连接Fina

hector_quadrotor编译总结 | ubuntu 16.04 ros-kinetic版本

hector_quadrotor编译总结 | ubuntu 16.04 ros-kinetic版本 基于Ubuntu 16.04 LTS系统所用ROS版本为 Kinetic hector_quadrotor ROS包主要用于四旋翼无人机的建模、控制和仿真。 1.安装依赖库 所需系统及依赖库 Ubuntu 16.04|ros-kinetic|Gazebo|gazebo_ros_pkgs|ge

hector_quadrotor编译总结 | ubuntu 14.04 ros-indigo版本

hector_quadrotor编译总结 | ubuntu 14.04 ros-indigo版本 基于Ubuntu 14.04 LTS系统所用ROS版本为 Indigo hector_quadrotor ROS包主要用于四旋翼无人机的建模、控制和仿真。 备注:两种安装方式可选:install the binary packages | install the source files

[轻笔记]ubuntu shell脚本切换conda环境

source /home/yourhostname/anaconda3/etc/profile.d/conda.sh # 关键!!!conda activate env_name

[轻笔记] ubuntu Shell脚本实现监视指定进程的运行状态,并能在程序崩溃后重启动该程序

根据网上博客实现,发现只能监测进程离线,然后对其进行重启;然而,脚本无法打印程序正常状态的信息。自己通过不断修改测试,发现问题主要在重启程序的命令上(需要让重启的程序在后台运行,不然会影响监视脚本进程,使其无法正常工作)。具体程序如下: #!/bin/bashwhile [ 1 ] ; dosleep 3if [ $(ps -ef|grep exe_name|grep -v grep|

SSH连接虚拟机中的Ubuntu 12.0.4

摘要:主要是解决不能使用ssh远程Ubuntu的问题、使用的远程工具是putty、也可以使用xshell、ubunut12.0.4是装在虚拟机中的、不过这个应该没有什么影响。 一:问题的出现 前两天使用VMware装了一个ubuntu12.0.4之后、因为常常使用命令行、又喜欢在虚拟机与实体机中切来切去、感觉很不方便、就想在xp中远程ubuntu、遇到了点小意外、经过一会调试解决成功、把