文件的压缩和打包,在windos下我们很熟悉.rar和.zip文件,这是两种压缩文件,他们支持单个文件和多个文件的压缩。windos下我们不提及打包的概念,虽然多个文件的压缩肯定存在打包过程。
打包和压缩的区别,从字面意思就可以看出,打包是将多个文件捆绑到一起,目的是方便拷贝和传输,压缩通常是对打包后的再处理,目的是节省资源,比如节省网络带宽,提高传输效率。
从以上结论中,我们就能理解为什么linux会有如此多的打包压缩工具,windos要求操作尽可能简单,linux要求高效和控制力。
几种打包压缩工具和其文件名后缀对应关系:
tar ----- .tar
gzip ------.gz
bzip2 -----.bz2
xz --------.xz
zip -------.zip

一 对于单个文件的处理:

介绍三种压缩工具:
1 gzip 将文件压缩后得到.gz后缀的包,不压缩目录
格式 gzip filename 
gzip -d filename.gz 解压缩
gzip -c filename >> filname.gz 保留原文件压缩
gzip -dc filename.gz >> filename 保留原文件解压bzi
2.bzip2
用法基本和gzip一致,得到一个.bz2后缀的包
压缩 bzip2 filename
解压 bzip2 -d filename.bz2 
3 xz
压缩 xz filname
解压 xz -d filename.xz

二 对于多个文件的处理:

1.先对文件打包, tar 命令
-c 创建包
-v 可视化
-f 指定文件
-x 解开包
格式 tar -cvf filename.tar filename1 filename2
不想看到过程-v可以不要
tar -xvf filename.tar 
-C 可以指定解包路径
2.结合上面三种压缩方式,可以一并打包压缩
-z 用gzip压缩
-j 用bzip2压缩
-J 用xz压缩
那么三种打包并压缩的格式就是:
tar -zcvf filename.tar.gz filename1 filename2
tar -jcvf filename.tar.bz2 filename1 filename2
tar -Jcvf filename.tar.xz filename1 filename2
对应解压格式为:
tar -zxvf filename.tar.gz
tar -jxvf filename.tar.bz2
tar -Jxvf filename.tar.xz
如果你记不准几种格式的参数,那么解压的时候有种偷懒办法,不带格式,
tar -xvf filename.tar.gz 或者filename.tar.bz2 或者filename.tar.xz
系统自动匹配要解压的格式
3.zip压缩与unzip解压
该格式的好处是同时支持windos和linux环境,因此要在该两个环境传输文件首选zip压缩
格式 zip filename.zip filename1 filename2
filename.zip 带路径就可以指定压缩包的路径
-r 级联压缩目录
解压 unzip filename.zip
-d 指定解压目录
unzip filename.zip -d /tmp/
4 几种包的查看
tar包 tar -tf 查看包内文件列表
gzip 包 zcat 查看包内文件内容
bzip2 包 bzcat
xz包 xzcat
5.几种工具对比
gzip bzip2 xz 直接压缩和解压都不保留原文件,除非重定向。
tar zip 默认保留原文件。压缩后文件大小方比较:
gzip>bzip2>xz,当然压缩比越高,越耗费计算机资源。
zip 压缩等同于gzip,只是多了打包功能

Linux学习总结(十四) 文件的打包和压缩的更多相关文章

  1. Linux学习之十四、管线命令

    Linux学习之十四.管线命令 地址:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_6.php

  2. Linux学习之十四-Linux文件和目录权限

    Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...

  3. Linux学习(十四)磁盘格式化、磁盘挂载、手动增加swap空间

    一.磁盘格式化 分好去的磁盘需要格式化之后才可以使用.磁盘分区一般用mke2fs命令或者mkfs.filesystemtype.这个filesystemtype分为ext4,ext3,xfs等等.xf ...

  4. linux学习第十四天 (Linux就该这么学)找到一本不错的Linux电子书

    今天老师讲了,DNS的相关,安装,配置,由来,13台根服务器,配置了主服务器,从服务器,和缓存服务器,等,今天补个大概吧,没有 记  还有正向解析,反向解析.

  5. linux 学习第十四天(Apache安装、基于ip、基于域名、基于端口配置)

    一.虚拟主机 A.基于IP地址  B.基于域名  C.基于端口号 复习yum仓库挂载 mkdir /media/cdrom mount /dev/cdrom /media/cdrom/ vim /et ...

  6. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  7. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  8. linux下文件的打包和压缩

    文章来源:linux下文件的打包和压缩 目录 一.文件压缩的原理 二.linux常见的压缩指令 三.常用实例 1.tar命令 2.zip命令 3.gz命令 4.bz2命令 5.xz命令(必须分两步) ...

  9. 风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击

    风炫安全WEB安全学习第二十四节课 利用XSS钓鱼攻击 XSS钓鱼攻击 HTTP Basic Authentication认证 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息. 但是有时候 ...

  10. Linux 笔记 - 第八章 文档的打包与压缩

    博客地址:http://www.moonxy.com 一.前言 在 Linux 系统中,文件的后缀名没有实际的意义,加或者不加都无所谓.但是为了便于区分,我们习惯在定义文件名时加一个后缀名,比如常见的 ...

随机推荐

  1. 1.文本编辑器-->CKEditor+CKFinder使用与配置

    一.CKEditor介绍 官网地址:http://ckeditor.com CKEditor下载地址:http://ckeditor.com/download CKFinder(免费版本)下载地址:h ...

  2. golang学习之regexp

    regexp是golang标准库自带的正则校验包,使用: re, _ := regexp.Compile(`(\d+)年(\d+)月`) //判断是否匹配category类别搜索 ismatch := ...

  3. ASP.NET 4.5.256 尚未在Web服务器上注册。

    最近在网上下载的一个原型用VS2012打开报错如下: 解决方法: 打开网址:http://blogs.msdn.com/b/webdev/archive/2014/11/11/dialog-box-m ...

  4. [Java反射基础一]Class类的使用

    任何一个类都是Class类的实例对象,这个实例对象有三种表示方式 第一种表示方式(任何一个类都有一个隐含的静态成员变量class): Class c1 = Foo.class; 第二种表示方式(已知该 ...

  5. VS编译优化

    程序的调试是任何一个程序必做的“功课”,当然在调试的过程中肯定会或多或少的遇到一些问题.如果每次关掉,修改,然后在启动,浪费不少时间和经历,尤其是在不确定的情况下尝试修改,启动的次数会更多.如果你要调 ...

  6. vcfc之zk+postsql+keystore(cassandra)框架分析

    vcfc框架总结: 1 一. bus和keystore是如何协调处理的,什么样的问题是处理不了的? 1. 如果在备重启的过程中,主处理了某个时间1,备机如果同步数据呢? 二 .数据可靠性和一致性分析 ...

  7. Python OOP面向对象

    一.什么是面向对象的程序设计 1.面向过程 程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式. 优点是 ...

  8. Android SQLite与AutoCompleteTextView

    读取SQLite中的数据显示在AutoCompleteTextView中,支持动态加入SQLite中不存在的数据. package zhang.ya; import java.io.File; imp ...

  9. 浅谈回归(二)——Regression 之历史错误翻译

    我很好奇这个问题,于是搜了一下.我发现 Regression 这个词 本意里有"衰退"的意思. 词根词缀: re- 回 , 向后 + -gress- 步 , 级 + -ion 名词 ...

  10. c/c++ 按照行读取文件

    本文代码都在Windows/VC++6.0下测试过, 在linux/g++下也没有问题. 但是请一定注意linux和Windows文件格式的区别,比如: 1. 当linux上的代码读取Windows文 ...