Linux系列之压缩与解压
1.压缩技术
1.常用命令实例
1.zip格式的压缩与解压缩
zip是压缩指令,unzip是解压指令。zip指令既可以压缩文件,也可以压缩目录。压缩会自动保留源文件,解压会自动保留压缩文件。
zip -r yasuo.zip demo.txt mydir //该命令是将demo.txt文件和目录mydir压缩成压缩文件yasuo.zip,选项-r表示递归
zip -r mydir.zip mydir //压缩当前目录下的子目录mydir
unzip yasuo.zip //解压yasuo.zip文件到当前目录
unzip -d /mydir yasuo.zip //把压缩文件解压到指定的mydir目录
unzip -t yasuo.zip //检查压缩文件是否损坏
unzip -l demo.zip //显示demo.zip压缩包中有哪些文件,不进行解压
unzip -n demo.zip //解压时不覆盖已存在的文件
更多详细用法请参考:https://www.cnblogs.com/dylancao/p/9650242.html
注意:zip指令需要指定文件压缩后的压缩包名,否则会提示“zip error:nothing to do!”。
注意:直接使用unzip指令(不带选项)解压文件时,如果解压文件中包含有文件与当前目录下的某个文件重名,那么会询问是否要覆盖这个文件。
2.gz格式的压缩与解压
gzip指令既可以压缩文件,还可以解压文件。gzip不能够压缩目录,在缺少-c选项时,压缩不会保留源文件,解压不会保留压缩文件。

格式:
gzip filename //压缩文件至当前目录且不保留源文件
gzip -c filename > filename.gz //把压缩后的文件输出至标准输出设备且保留源文件
gzip * //将当前目录下的文件(如果存在目录,就忽视掉目录)批量压缩产生多个压缩文件,并不是只产生一个压缩文件
gzip -d filename.gz //解压文件至当前目录且不保留压缩文件
gzip -c filename.gz > filename //解压文件至当前目录并且保留压缩文件
gzip -d * //解压文件至当前目录且不保留压缩文件
gzip -t filename.gz //检测压缩包的好坏
gzip -l filename.gz //显示压缩文件内的文件内容列表
实例:

3.tar格式的压缩与解压
当你想要压缩一堆文件时,你必须先将这些文件打包成一个文件,再对这个文件进行压缩。
压缩时会保留源文件,解压时会保留压缩文件。
格式:tar [主选项] [辅选项] 文件或目录 //主选项告诉tar干什么,因此必须有

实例:
tar czvf myfile.tar.gz ./*.txt //将当前目录下的所有txt文件打包并压缩成myfile.tar.gz文件
tar xzvf myfile.tar.gz ./ //将压缩文件myfile.tar.gz解压到当前目录下,存在相同文件则会覆盖原来文件
tar tvf myfile.tar.gz //查看压缩文件中包含哪些目录与文件(并没有解压文件)
1.常见压缩扩展名及对应压缩指令

Linux上常见的压缩指令就是gzip,bzip以及最新的xz这三个压缩指令,compress压缩指令已经过时了;tar指令仅仅是将多个文件“打包”成一个文件,并没有对文件进行压缩。
注意::Linux与windows系统的压缩与解压缩是有很大区别的,
下面详细了解一下常用的压缩指令
2.压缩指令详解
1.gzip指令
gzip指令可以说是应用最广的压缩指令,目前gzip可以解开compress,zip以及gzip等软件所压缩的文件。
1.格式

2.tar指令

关于该指令的详细讲解请移步https://www.cnblogs.com/xccjmpc/p/6035397.html
Linux系列之压缩与解压的更多相关文章
- linux下关于压缩、解压相关的操作
本文转自: http://alex09.iteye.com/blog/647128 很不错的linux下关于压缩.解压相关的操作,适合于linux初学者. .tar 解包:tar xvf Fil ...
- linux下文件压缩与解压操作
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rap.可 ...
- Linux之文件压缩与解压
文件压缩与解压 1.tar命令 tar命令可以为Linux的文件和目录创建档案. 利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来 ...
- (转)使用 linux tar 命令压缩与解压文件
原文链接 http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html tar -c: 建立压缩档案-x:解压-t:查看内容-r: ...
- Linux 下文件压缩与解压命令详解
tar 命令 -c 建立压缩档案 -x 解压 -t 查看内容 -r 向压缩归档文件末尾追加文件 -u 更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中 ...
- Linux中文件压缩与解压
压缩与解压 compress 文件名 1 -v //详细信息 2 3 -d //等于 uncompress 默认只识别 .Z 如果使用别的后缀,会导致不识别,解压缩失败.也可以使用 -d -c 压缩包 ...
- linux 操作之压缩与解压
压缩与解压 压缩格式:zip , rar , 7z , iso , exe gzip (以下是命令操作) gzip [文件名] #压缩成gz格式 , 原来的文件消失 , 不支持目录. bzip2 - ...
- linux中常用压缩与解压命令
一. tar文件的解压 tar -xvf db.tar 二. zip文件的压缩与解压 压缩 zip -r dest_name.zip directory_to_compress 解压 unzip de ...
- UNIX/Linux打包,压缩 ,解压:
1.tar打包命令 ①tar cvf tarname.tar file1 file2 $ .log $ .log $ .log $ tar cvf alllog.tar *.log a .log 0K ...
随机推荐
- 安装包设计-------安装(QT)---------知识总结
1.判断文件是否存在 QFile file(path): file.exists(); 2.复制文件 bool copy(const QString &fileName, const QStr ...
- W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8CF63AD3F06FC659
报错信息: W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be ...
- CF1195B
CF1195B 题意: 有一个盒子,每次可以做两个操作: 1.每次吃掉一块蛋糕 2.每次放入比上一次放入数多1的蛋糕 当盒子为空时,只能执行第 $ 2 $ 个操作.第 $ 1 $ 次操作永远是放入一个 ...
- 工作流调度系统Azkaban的简介和使用
1 概述 1.1 为什么需要工作流调度系统 l 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 l 各任务单元之间存在时间 ...
- POI的XWPFTable的方法总结
1. void addNewCol(): 为该表中的每一行添加一个新列 2. void addRow(XWPFTableRow row): 向表中添加新行 3. boolean addRow(XWP ...
- Spring Cloud|高可用的Eureka集群服务
Eureka,作为spring cloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置.单一的eureka服务,显然不能满足高可用的实际生产环境,这就要求我们配置一个能够应对各种突发情况, ...
- csp-s模拟109
这场考试状态是极差,也因而无畏地打下了三个乱搞.然而这场确实挺乱搞.T1状压但我没优化而选择循环展开,T2打$bitset$随机化(考场上打的有问题不是随机但也能A),T3贪心骗分.但是因为状态实在太 ...
- Servlet的运行原理
- Smarty 获取当前日期时间和格式化日期时间
在Smarty 中获取当前日期时间和格式化日期时间与PHP中有些不同的地方,这里就为您详细介绍: 首先是获取当前的日期时间:在PHP中我们会使用date函数来获取当前的时间,实例代码如下:date(& ...
- JAVA 基础编程练习题44 【程序 44 偶数的素数和】
44 [程序 44 偶数的素数和] 题目:一个偶数总能表示为两个素数之和. package cskaoyan; public class cskaoyan44 { @org.junit.Test pu ...