Kali下压缩解压缩命令大全zip,tar,tar.gz,tar.bz2(转)

转自http://blog.csdn.net/yangjin_unique/article/details/7824852

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
解压: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
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.tgz
解压:tar zxvf FileName.tgz

.tar.tgz
解压:tar zxvf FileName.tar.tgz
压缩:tar zcvf FileName.tar.tgz FileName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar a FileName.rar
压缩:rar e FileName.rar
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName

ZIP
zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及MacOS,上使用。缺点就是支持的压缩率不是很高,而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/

本文转载于网络 如有侵权请联系删除

相关文章

  • 接口测试平台代码实现133: 全局变量-12

    好,时隔半月的实战系列继续更新。让我们先回顾下现在的进度:全局变量组的增删改查已经做完了。然后我们想先插入到接口调试层功能里。这其中涉及到变量的占位和替换。我们做了一个大字符串的替换公共函数。然后把url,headerhost等都塞进去换一遍出来,都成功了。上节课最后我们说要开始弄复杂的body了。其实body也并不是很复杂,我们只需要记住:body存在数据库的时候也是字符串的形式,虽然不同的请求体类型让他们长得像列表,像字典,但从数据库或前端刚提出来都是字符串,而之前是在要发送实际请求时候,才会变成各种字典等格式。而我们的替换,采用忠实替换法则的话,就是直接给它在字符串的时候,替换变量。然后如果变成字典等操作出错,那就是用户的问题,比如一个请求体如下:{"A":"zxc"}用户想把这个zxc字符串用变量表示后,在body中这么占位:{"A":~value~}然后我们忠实替换后变成{"A":zxc}结果一json.loads,直接报错。那这就是用户使用问题。我们可以提示。让他改成:{"A"

  • Python3学习笔记(二):基本数据类型

    Python中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例:#!/usr/bin/python3counter=10#整型变量miles=99.0#浮点型变量name="drug"#字符串print(counter)print(miles)print(name) 标准数据类型Python3中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典)不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合); 可变数据(两个):List(列表)、Dictionary(字典)。Number(数字)Python3支持int、float、bool、complex(复数)。在Python3里,只有一种整数类型

  • EL表达式获取Map的值

    问题定义一个文章的集合:Map<Long,Article>map=newHashMap<Long,Article>(); map.put(123,Article);复制在JSP中如何通过EL表达式来获取到123对应的message实体?解决方法1、EL表达式来获取,代码如下:${map[123]}复制2、获取此文章内容,就可通过如下的方式:${map[123].content}复制

  • MyVBA加载宏——添加自定义菜单04——功能实现

    有了前面的功能分析基础,使用VBA代码实现这个功能就不是很难了,逐行读取CommandBarDir.txt里面的信息,然后创建弹出式菜单或者按钮,最终实现的效果如下:功能实现01类模块功能类模块CCommandBar就是为了响应单击按钮的功能:根据单击的按钮的名称,读取对应名称的txt文件将读取到的文本插入到VBE中所以,分别先实现2个函数,读取txt文件的内容在前面有过介绍: VBA调用外部对象02:FileSystemObject——操作文本文件文件操作——读取在这里使用FSO来读取。 PrivateFunctionFsoReadTxt(file_nameAsString)AsString DimfsoAsObject,srAsObject Setfso=CreateObject("Scripting.FileSystemObject") Setsr=fso.OpenTextFile(file_name,1)'ForReading=1 FsoReadTxt=sr.ReadAll() Setfso=Nothing Setsr=Nothing End

  • 再爬 Boss 直聘,探究哪种岗位更好就业

    不知不觉,十月份已经过去了,传说中的金九银十招聘季也应该随之结束了,不知道有换工作打算的朋友有没有找到理想的下家,反正我没有警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系删除!!!于是乎,我再次转战Boss直聘,我就是想看看,到底什么工种比较好找工作呢。当然了,这里工作种类实在是太多了,我就挑选出Python,Java,数据分析和产品经理这四种岗位来做下简单的分析。获取数据 我在前面就写过一篇获取Boss数据的文章,可以戳这里查看(查看)。但是后面有人反映说Cookies过期时间太快了,我自己尝试之后也确实如此,那么这种情况下,使用selenium就是更好的选择了。由于网站页面结构并没有变化,所以以前的解析网页的代码基本可以复用,只不过从bs4解析变为webdriver解析defget_jobs(page,city,job_type): Chrome_driver=webdriver.Chrome(options=options) c_code=city_code[city] foriinrange(1,page+1)

  • CS系列-CobaltStrike的安装搭建

    作者-purpletCobaltStrike的简介CobaltStrike是一款内网渗透测试神器,常被业界人称为CS。CobaltStrike2.0版本主要是结合Metasploit可以称为图形化MSF工具。而CobaltStrike3.0已经不再使用Metasploit框架而作为一个独立的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。客户端模式和服务端模式可以在Windows以及Linux上运行这里要注意服务端模式在Windows下运行时有可能会出现一些细小的问题不过影响不大。可以很好的解决metasploit对Windows支持不够好的问题。 CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,winexe木马生成,windll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等CobaltStrike优点·Payload免杀优于Msf ·图形化界面方便操作 ·多人协同测试,高效合作 ·集成很多内网渗透工具及命令 ·可结合Msf联合

  • Laravel 控制台命令行artisan

    laravel控制台命令行artisanArtisan是Laravel自带的命令行接口,它提供了许多实用的命令来帮助你构建Laravel应用。要查看所有可用的Artisan命令的列表,可以使用list命令:phpartisanlist复制每个命令包含了「帮助」界面,它会显示并概述命令的可用参数及选项。只需要在命令前面加上help即可查看命令帮助界面:phpartisanhelpmigrate复制编写命令#除Artisan提供的命令之外,还可以构建自己的自定义命令。命令默认存储在app/Console/Commands目录,你也可以修改composer.json文件来指定你想要存放的目录。生成命令#要创建一个新的命令,可以使用Artisan命令make:command。这个命令会在app/Console/Commands目录中创建一个新的命令类。不必担心应用中不存在这个目录,因为它会在你第一次运行Artisan命令make:command时创建。生成的命令会包括所有命令中默认存在的属性和方法:phpartisanmake:commandHelloWord复制命令生成后,应先填写类的sig

  • python|对Python中函数的学习

    问题描述在python中,定义一个函数需要使用def语句,依次写出函数名,括号,括号中的参数和冒号:,接着在缩进后编写函数,函数的返回值用return语句返回。定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。 解决方案以math.sqrt()函数为例定义一个函数,quadratic(a,b,c),接收三个参数,返回一元二次方程ax²+bx+c=0的两个解。importmath defquadratic(a,b,c): ifa==0: raiseTypeError('a不能为0') ifnotisinstance(a,(int,float))ornotisinstance(b,(int,float))ornotisinsta

  • 3个用于从命令行进行演示的工具【Linux-Command line】

    mdp,tpp和send可能不会为你赢得任何设计大奖,但是它们会为你提供可以从终端运行的基本幻灯片。厌倦了使用LibreOfficeImpress或各种有些令人厌烦的工具和框架来创建和显示演示幻灯片吗?相反,请考虑在终端窗口中为你的下一个演讲运行幻灯片。使用终端显示幻灯片听起来很奇怪,但事实并非如此。也许你想多拥抱一会你内心的怪咖;也许你希望观众将注意力集中在你的想法上而不是幻灯片上;也许你是Takahashimethod的奉献者。无论出于何种原因使用终端,都有适用你的(演示)工具。让我们看看其中的三个。mdp可见我自己像Markdown一样,当我听说mdp时,我选择尝试它。你可以在文本编辑器中创建幻灯片,并使用Markdown修饰文本。mpd可以识别大多数Markdown格式--从标题和列表到代码块再到字符格式和URL。你还可以添加Pandocmetadatablock,其中可以包含你的姓名,演示文稿的标题以及演讲的日期。这会将标题添加到每张幻灯片的顶部,并将你的姓名和日期添加到底部。你的幻灯片位于单个文本文件中。要让mdp知道幻灯片从哪里开始,请在每张幻灯片后添加一行破折号。这是一

  • SpringBoot系列之配置文件占位符使用

    版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/u014427391/article/details/102985940SpringBoot系列之配置文件占位符使用Springboot占位符支持的有随机数和配置的值等等,本博客主要介绍的是随机数和获取属性配置值的简单用法随机数获取支持的写法有:${random.value}、${random.int}、${random.long}、${random.uuid} ${random.int(10)}、${random.int(1024,65536)}.etc复制获取属性配置的值user.userName=root(${user.address.tel}) user.address.tel=15899988899复制ok,写个例子实践一下user.propertiesuser.userName=root(${user.address.tel}) user.isAdmin=true user.regTime=2019/11/01 user.is

  • 电商巨头瞄准短视频

    作者:朝颜监制:罗超6月3日,京东上线视频问答功能,通过品牌问答和红包激励的方式加强品牌商家与用户的互动连接;同一天,网易考拉上线短视频荐物频道“考拉ONE物”,提高用户决策效率。618大战正在升温,电商巨头纷纷加码短视频,显然不是偶然。一些人的看法是,这些动作是电商平台为了吸引用户眼球而推出的噱头功能,毕竟618成为各大电商巨头竞争焦点,要获取用户注意力不容易,但答案可能不是这么简单。电商巨头瞄准短视频早在2016年底,淘宝短视频就在内部立项,现任天猫和淘宝CEO、时任淘宝产品平台资深总监蒋凡曾表示,继图文、直播之后,短视频正在成为淘宝内容化战略的重要抓手。随后,淘宝上线短视频展示功能,用户在商品页面即可点击短视频观看商品的介绍。2018年9月,淘宝推出了生活消费类短视频APP“鹿刻”,随后,淘宝旗下的“爱逛街”频道改名为“哇哦视频”,成为淘宝短视频内容的最核心阵地。2018年5月,京东在微信购物圈上线“种草tv”短视频栏目,2019年京东陆续在京东咚咚工作台和针对商家的闪电智能内容创作平台上线短视频功能,并以小程序的方式将抖音接入京东商城,现在又上线短视频问答功能。苏宁于2018年

  • 第一天-训练与测试模型

    在pandas中加载数据要打开此数据集(csv文件),我们将在Pandas中使用命令read_csv:importpandas data=pandas.read_csv("file_name.csv")复制Numpy数组我们已经在Pandas中加载数据,现在需要将输入和输出拆分为numpy数组,以便在scikit-learn中应用分类器。方法如下:假设有个pandas数据框df,如下所示,有四个列,分别标为A、B、C、D:如果我们想要提取列A,则执行以下操作:df['A']复制现在,如果我们希望获取更多的列(columns),则执行以下操作:df[['B','D']]复制最后,我们将这些pandasDataFrames转变为NumPy数组。这个操作的命令语句很简单:numpy.array(df)复制现在你自己试试!使用我们之前在pandas中加载的同一数据框,将其拆分为特征X和标签y,并将它们转变为NumPy数组。importpandasaspd importnumpyasnp data=pd.read_

  • Flask 学习-64.current_app的使用与应用上下文(AppContext)

    前言在很多框架里面都提到一个词:上下文(Context),比如django里面的request就是一个请求上下文对象。 flask里面current_app用于获取应用app对象。上下文(Context)什么是上下文(Context) 维持一段程序正常运行的所需要的外部变量的值的集合,叫做上下文(context)。详细描述: 每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。 一旦你的一段程序有了外部变量,这段程序就不能独立完整的运行。 你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。 这些值的集合就叫上下文。Flask中有两种上下文,请求上下文和应用上下文。请求上下文(requestcontext)request和session都属于请求上下文对象。 request:封装了HTTP请求的内容,针对的是http请求。举例:user=request.args.get(‘user’),获取的是get请求的参数。 session:用来记录请求会话中的信息,针对的是用户信息。举例:session[‘name’]=user.id,可以记录用户信息。还可以通过s

  • 手把手教你读财报读书笔记

    1.质优的指标 1)销售利润边际的大小主要有销售毛利率、营业利润率两个指标反映。巴菲特评估这两项指标时两个异于大众的地方 关注长期而不是短期。如果长期看好,暂时的表现不佳将不予理会。 通过这两个指标考察企业的商业模式。由于“产品无重大差异的生产者注定将赚取微薄的利润”。因此如果企业的销售利润边界一直较为宽广,说明企业多半有着“强大市场特许权”的企业  2不懂得运用财务报表中的毛利率、净利率和税收数据与行业内竞争对手数据进行对比,那么踩雷被骗就是大概率事件。 3阅读财报的一个重要方法就是跟同行比照着看,看看项目在总资产负债表中占比有何不同,思考为何不同,这不同是优势还是劣势。尤其要关注应收票据、应收账款、应付账款、预收款项这几个项目。这可以看出公司与上下游之间的地位,展示公司竞争力的强弱。 4公司涉及现金的活动分为三类:经营活动、投资活动和筹资活动。经营活动是企业销售商品或提供劳务带来的现金收入及对应的现金支出。经营活动现金流净额为负的企业,通常日子不好过。投资活动,是企业对外投资的支出和收到之前投资回报的情况。投资回报率如果不是高于社会平均回报水平,管理层就是乱来。筹资活

  • 实时采集日志的数据采集引擎 flume

    介绍:   Flume由Cloudera公司开发,是一个分布式、高可靠、高可用的海量日志采集、聚合、传输的系统。   简单的说,Flume是实时采集日志的数据采集引擎。   重要组件:Source、Channel、Sink     Agent本质上是一个JVM进程,该JVM进程控制Event数据流从外部日志生产者那里传输到目的地(或者是下一个Agent)。一个完整的Agent中包含了三个组件Source、Channel和Sink,Source是指数据的来源和方式,Channel是一个数据的缓冲池,Sink定义了数据输出的方式和目的地。 Source是负责接收数据到FlumeAgent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、exec、spooldir、netcat等。 Channel是位于Source和Sink之间的缓冲区。Channel允许Source和Sink运作在不同的速率上。Channel是线程安全的,可以同时处理多个Source的写入操作及多个Sink的读取操作。 MemoryChannel是内存中的队列。Memor

  • Spring Security例子

    Springsecurity简单例子 使用xml方式 pom.xml引入依赖 <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.spsecurity.xml</groupId> <artifactId>spsecurity-xml</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>sps

  • 大数据(十三)--初识SparkCore之RDD(弹性分布式数据集)&Operation(算子)

    RDDRDD背景RDD介绍Operation介绍RDD五大特性   在开始学习Spark工作原理之前,先来介绍一下Spark中两个最为重要的概念--弹性分布式数据集(ResilientDistributedDatasets,RDD)和算子(Operation). RDD背景   Spark的核心是建立在RDD之上,使Spark中的各个组件可以无缝进行集成,从而在一个应用程序中完成大数据计算.这也是为什么说在SparkCore中一切得计算都是基于RDD来完成的.RDD的设计理念源自AMP实验室发表的论文–ResilientDistributedDatasets:AFault-TolerantAbstractionforIn-MemoryClusterComputing.   MapReduce计算框架在实际应用中,许多迭代式算法和交互式数据挖掘过程中的计算结果会写到磁盘,然后再重复使用,这就带来了大量的磁盘IO和序列化开销.为解决中间过程数据落地花费大量时间的需求,出现了一种抽象的数据结构,让我们不必再考虑数据的分布式特性,只需保存具体的逻辑转换表达式即可,这种数据结构就

  • 【JZOJ5605】【NOI2018模拟3.26】Arg

    题目描述 给出一个长度为m的序列A,请你求出有多少种1...n的排列,满足A是它的一个LIS. 解题思路 如何求出一个序列的LIS? 对于二分的方法,每次插入一个数,将它放到第一个比它大的数的位置处代替之,最后的长度就是LIS的长度。 考虑模拟这个过程,设f[s],表示当前这n个数的是否加入的状态为s,s是一个三进制数,0表示还没加入,1表示加入了且仍在当前的LIS中,2表示加入了且被别的数代替了。 同时有限制条件,a[i-1]一定要在a[i]前加入。 #include<cmath> #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<queue> #include<map> #include<bitset> #include<set> constintmaxlongint=2147483647; constintmo=

  • wpf mvvm使用问题集锦

    问题一、usercontrol1控件使用了mvvm数据绑定,usercontrol2也使用了mvvm数据绑定,则 以下是伪代码 <usercontrol2datacontent="{BindingViewmodel}"> <usercontrol1tag="{Bindingdata}"> </usercontrol1> </usercontrol2> 复制   usercontrol1是不能实现数据绑定的,个人猜测原因是usercontrol1内部已经做了mvvm绑定,usercontrol2不能数据绑定到usercontrol1   可借鉴的解决思路 http://www.cnblogs.com/DebugLZQ/archive/2013/06/26/3152922.html 本人则将usercontrol1的mvvm绑定放到usercontrol1的children里的子控件,比如grid <usercontrol> <griddatacontext="Bindingmvvm"> &l

  • vue下登录页背景图上下空白处自适应等高

    遇到需求,登录页面需要顶部和底部上下等高,并且随着浏览器自适应上下高度。 解决方法: vue界面的data中先定义 data(){ return{ windowHeight:"", topHeight:"" }; },复制 mounted中: mounted(){ this.windowHeight=window.innerHeight;//浏览器可见区域高度 this.topHeight=(this.windowHeight-600)/2+"px";//浏览器可见区域高度-600为背景图高度/2=平均上下高度 window.onresize=()=>{ return(()=>{ this.windowHeight=window.innerHeight; this.topHeight=(this.windowHeight-600)/2+"px"; })(); }; }复制 mouted为界面加载时执行的方法,那么,应该怎么监听到mouned中的window.onresize呢? //使用vue的watch事件监听 watch:{ topHeight(val){ t

  • 微服务:多级缓存

    CaffeineJVM进程缓存 缓存在日常开发中启动至关重要的作用,由于是存储在内存中,数据的读取速度是非常快的,能大量减少对数据库的访问,减少数据库的压力。我们把缓存分为两类: 分布式缓存,例如Redis: 优点:存储容量更大、可靠性更好、可以在集群间共享 缺点:访问缓存有网络开销 场景:缓存数据量较大、可靠性要求较高、需要在集群间共享 进程本地缓存,例如HashMap、GuavaCache: 优点:读取本地内存,没有网络开销,速度更快 缺点:存储容量有限、可靠性较低、无法共享 场景:性能要求较高,缓存数据量较小 我们今天会利用Caffeine框架来实现JVM进程缓存。 Caffeine是一个基于Java8开发的,提供了近乎最佳命中率的高性能的本地缓存库。目前Spring内部的缓存使用的就是Caffeine。GitHub地址:https://github.com/ben-manes/caffeine Caffeine的性能非常好,下图是官方给出的性能对比: 可以看到Caffeine的性能遥遥领先! 入门案例 @Test voidtestBasicOps(){ //创

相关推荐

推荐阅读