文件的压缩和打包,在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. Razor 将C#对象转换成Javascript对象, json还原被转码的字符 &quot·· HTML转义符

    Razor 将C#对象转换成Javascript对象 在Razor中使用Json字符串,特殊字符被自动转义(如:\"->") @{ var jsonStr = Html.Ra ...

  2. DIY了一下自己blog的UI

    当年才学前端时就想改自己blog的UI,然鹅当时没看见那个“申请JS权限”,一直以为blog不能随意DIY样式,只改了少许CSS.现在重新看看设置管理选项,简单修改了一下样式(注意:修改样式之前发邮件 ...

  3. EasyPusher推流类库的.NET调用说明

    EasyPusher推流类库的.NET调用说明 以下内容基于在使用EasyPusher过程中遇到的问题,以及相应的注意事项.本文主要是基于对C++类库的二次封装(便于调试发现问题)以供C#调用以及对一 ...

  4. JAVA_SE_Day02 String 的正则表达式

    字符串支持正则表达式的方法一: boolean matches(String regex) 注意: 给定的正则表达式就算不指定边界符(^,$),也会全匹配验证 空字符串和null 空字符串是看不见,而 ...

  5. Node.js开发——MongoDB与Mongoose

    为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为MongoDB是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改 ...

  6. IO流之 commons-IO

    commons-IO 导入classpath 加入classpath的第三方jar包内的class文件才能在项目中使用 创建lib文件夹 将commons-io.jar拷贝到lib文件夹 右键点击co ...

  7. 牛顿迭代,多项式求逆,除法,开方,exp,ln,求幂

    牛顿迭代 若 \[G(F_0(x))\equiv 0(mod\ x^{2^t})\] 牛顿迭代 \[F(x)\equiv F_0(x)-\frac{G(F_0(x))}{G'(F_0(x))}(mod ...

  8. Git Bash Here常用命令以及使用步骤

    1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...

  9. 2d动画开发之PIXI开发

    简单的移动小游戏只要引入pixi.min.js就可以, 如果要用spine动画(龙骨也支持导出spine格式的)就要引入pixi-spine.js 如果还有声音的支持引入pixi-sound.js 学 ...

  10. HTTP状态码302、303、307区别

    HTTP状态码3XX表示重定向,表明浏览器需要执行某些特殊的处理以正确处理请求. 301 Moved Permanently 永久性定向.该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在 ...