文件压缩

常用的压缩命令有 gzip、bzip2 等。

gzip 命令

命令格式

gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]

命令参数

-c --stdout --to-stdout
  将输出内容写到标准输出端口,并保持原有文件不变

-d --decompress --uncompress
  解压缩

-f --force
  强制压缩

-h --help
  打印帮助信息

-l --list
  列出压缩文件的压缩统计

-L --license
  打印版本与版权信息

-q --quiet
  不显示警告信息

-r --recursive
  递归(解)压缩

-S .suf --suffix .suf
  指定压缩文件的后缀为 .suf,默认后缀是 .gz

-t --test
  检验压缩文件的完整性

-v --verbose
  在(解)压缩时显示详细信息

-V --version
  打印版本与版权信息

-# --fast --best
  设定压缩级别。# 的取值范围为 1~9,# 的取值越大,压缩速度越慢,压缩效果越好。默认取值为 6。

实例

a) 压缩文件

huey@huey-K42JE:~/huey/linux/cmdline$ gzip foo

b) 解压文件

huey@huey-K42JE:~/huey/linux/cmdline$ gzip -d foo.gz
huey@huey-K42JE:~/huey/linux/cmdline$ gunzip foo.gz

c) 列出压缩文件的压缩统计

huey@huey-K42JE:~/huey/linux/cmdline$ gzip -l foo.gz
compressed uncompressed ratio uncompressed_name
4150 26134 84.2% foo

d) 指定压缩级别

huey@huey-K42JE:~/huey/linux/cmdline$ gzip -v9 foo
foo: 84.9% -- replaced with foo.gz

e) 只查看压缩文件的内容而不解压文件

huey@huey-K42JE:~/huey/linux/cmdline$ date > foo
huey@huey-K42JE:~/huey/linux/cmdline$ gzip foo
huey@huey-K42JE:~/huey/linux/cmdline$ gzip -dc foo.gz
Thu May 7 17:10:35 CST 2015

相关命令

gunzip - 解压缩,相当于 gzip -d

zless - 查看压缩文件内容,zless test.gz 相当于 gunzip -c test.gz | less

zcat - 类似于 zless,zcat test.gz 相当于 gunzip -c test.gz | cat

bzip2 命令

bzip2 与 gzip 命令功能类似,但使用不同的压缩算法。该算法具有高质量的数据压缩能力,但却降低了压缩速度。多数情况下,其用法与 gzip 类似,只是用 bzip2 压缩后的文件以 .bz2 为后缀。

命令格式

bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]

命令参数

-c --stdout
  将数据压缩或解压缩至标准输出。

-d --decompress
  强制解压缩

-z --compress
  -d 选项的补充,强制压缩文件

-t --test
  检验压缩文件的完整性

-f --force
  强制覆盖输出文件。

-k --keep
  在(解)压缩过程中保留原文件

-s --small
  在压缩、 解压缩及检查时减少内存的使用量。

-q --quiet
  不显示警告信息

-v --verbose
  在(解)压缩时显示详细信息

-L --license -V --version
  打印版本与版权信息

-1 (or --fast) to -9 (or --best)
  设置压缩级别,数值越大,压缩速度越慢,压缩效果越好。

实例

a) 压缩文件

huey@huey-K42JE:~/huey/linux/cmdline$ bzip2 foo

b) 解压缩文件

huey@huey-K42JE:~/huey/linux/cmdline$ bunzip2 foo.bz2

相关命令

bunzip2 - 解压缩,相当于 bzip2 -d

bzcat - 将解压缩内容输出至标准输出,bzcat test.bz2 相当于 bunzip2 -c test.bz2 | cat

bzip2recover - 用于修复损坏的 bz2 文件的数据

文件归档

归档是与压缩操作配合使用的一个常用文件管理任务。归档是一个聚集众多文件并将它们组合为一个大文件的过程。

tar 命令

命令格式

tar [OPTION...] [FILE]...

命令参数

-A, --catenate, --concatenate
  追加 tar 文件到归档文件中

-c, --create
  创建新的归档文件

-d, --diff, --compare
  查找归档文件与文件系统的差异

--delete
  从归档文件里删除指定的文件

-r, --append
  追加文件到归档文件

-t, --list
  列出归档文件的内容

-u, --update
  仅追加比归档文件更新的文件

-x, --extract, --get
  从归档文件中提取文件

实例

a) 将foo1、foo2 和 foo3 归档至 foo.tar

huey@huey-K42JE:~/huey/linux/cmdline$ tar cvf foo.tar foo1 foo2 foo3

b) 查看归档文件的内容

huey@huey-K42JE:~/huey/linux/cmdline$ tar tvf foo.tar
-rw-rw-r-- huey/huey 26840 2015-05-07 19:28 foo1
-rw-rw-r-- huey/huey 13047 2015-05-07 19:28 foo2
-rw-rw-r-- huey/huey 348 2015-05-07 19:28 foo3

c) 从归档文件中提取文件

huey@huey-K42JE:~/huey/linux/cmdline$ tar xvf foo.tar

d) 追加 foo4 至归档文件 foo.tar

huey@huey-K42JE:~/huey/linux/cmdline$ tar rf foo.tar foo4

e) 从归档文件 foo.tar 中删除 foo2

huey@huey-K42JE:~/huey/linux/cmdline$ tar -f foo.tar --delete foo2

f) 归档并压缩(gzip)文件

huey@huey-K42JE:~/huey/linux/cmdline$ tar zcvf foo.tar.gz foo

g) 解压缩 .tar.gz 文件

huey@huey-K42JE:~/huey/linux/cmdline$ tar zxvf foo.tar.gz

h) 归档并压缩(bzip2)文件

huey@huey-K42JE:~/huey/linux/cmdline$ tar jcvf foo.tar.bz2 foo

i) 解压缩 .tar.bz2 文件

huey@huey-K42JE:~/huey/linux/cmdline$ tar jxvf foo.tar.bz2

zip 命令

zip 程序既是文件压缩工具也是文件归档工具。在 Linux 系统中,gzip 才是主要的压缩指令,而 bzip2 次之。在 Linux 系统中主要使用 zip 程序与 Windows 系统交换文件,而不是将其用于压缩或是归档文件。

命令格式

zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...]  [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]]  [-xi list]

unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...]  [-x xfile(s) ...] [-d exdir]

实例

a) 将 foo1、foo2 和 foo3 归档压缩至 foo.zip

huey@huey-K42JE:~/huey/linux/cmdline$ zip foo.zip foo1 foo2 foo3

b) 归档压缩目录

huey@huey-K42JE:~/huey/linux/cmdline$ zip -r commons-beanutils-1.9.2.zip commons-beanutils-1.9.2

c) 解压缩 .zip 文件

huey@huey-K42JE:~/huey/linux/cmdline$ unzip commons-beanutils-1.9.2.zip

Linux - 文件的压缩与归档的更多相关文章

  1. Linux下的压缩及归档

    Linux下常用的压缩格式有: gz,bz2,xz,zip,Z //只能压缩文件不能压缩目录,如果传递一个目录,他会把目录中的文件逐个压缩 ..压缩算法:算法不同,压缩比也不同 gz:gzip,压缩后 ...

  2. Linux文件打包压缩、解压缩、备份命令使用方法(转载)

    对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可 ...

  3. Linux上的压缩与归档

    非常非常非常简要的描述而已. 压缩 压缩的简要原理是通过一些算法,拿CPU的计算时间去换磁盘上存储的空间.同时还可节省网络传输中的带宽. 对于文本文件的压缩效果比较好,对二进制程序.图片等文件的压缩效 ...

  4. linux命令之压缩与归档

    1.   gzip:压缩工具 语法·:gzip [选项](参数) 命令说明:运用广泛的压缩程序,文件经它压缩后,其名称后面以“.gz”扩展名 常用命令选项: -N:压缩文件后,保留文件的原文件名和时间 ...

  5. linux文件解-压缩

    常用: 解压tar.gz包  使用命令:tar -zxvf  file.tar.gz   -z 指有gzip的属性  -x 解开一个压缩文件的参数  -v解压过程中显示文件  -f放最后接filena ...

  6. 3.Linux 文件的压缩与打包

    1.常用压缩打包命令 常用的压缩打包扩展名为如下: *.Z compress 程序压缩的文件,非常老旧了,不再细说 *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *. ...

  7. Linux 文件夹压缩命令总结

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...

  8. Linux 文件的压缩与解压

    1.  tar结尾压缩命令 [root@test ~]# tar -cvf grub.tar /boot/grub/ 查看压缩包文件 [root@test ~]# tar -vtf grub.tar ...

  9. 把linux文件夹压缩成tar.gz的命令

    解压 tar zxvf 文件名.tar.gz 压缩 tar zcvf software.tar.gz /usr/local/software

随机推荐

  1. HDU 4461 The Power of Xiangqi (水题)

    题意:给定一些字母,每个字母都代表一值,如果字母中没有B,或者C,那么就在总值大于1的条件下删除1,然后比较大小. 析:没什么好说的,加起来比较就好了. 代码如下: #pragma comment(l ...

  2. application/xml和text/xml的区别

    XML有两个MIME类型,application/xml和text/xml,它们之间的区别是: text/xml忽略xml文件头中的关于编码的设定(<?xml version="1.0 ...

  3. NGUI学习笔记(五):缓动

    在Unity3D中可以使用自带的Animation制作任意形式的动画,不过我们这篇笔记主要是学习和使用NGUI提供的Tween动画.NGUI提供的Tween库功能较为简单,主要是用来实现NGUI自身需 ...

  4. 剑指OFFER之数值的整数次方(九度OJ1514)

    题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 输入: 输入可能包含多个测试样例.对于每个输入文件,第一行输入一个整数T,表 ...

  5. hibernate AOP

    摘自:http://pandonix.iteye.com/blog/336873/ 此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题.最近项目中遇到了以下几点需求, ...

  6. CentOS 6.5部署HTTP WEB服务器和FTP服务器

    转载自:http://www.server110.com/linux/201403/8613.html [题记]本文使用CentOS 6.5 minimal快速搭建HTTP服务器和仅供授权用户登陆的F ...

  7. 关于Token

    Token Token,即计算机术语:令牌 令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧.token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被 ...

  8. mvc4 web-api 与unity搭建接口

    对于接口重要的应该是 功能实现,合法性验证,性能监控,日志等模块 通过unity aop功能可以实现统一的日志模块和性能监控. 1.新建mvc4 webapi项目 nuget添加 unity 3.0+ ...

  9. Codeforces Round #185 (Div. 2) B. Archer 水题

    B. Archer Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/312/problem/B D ...

  10. 一个简单的小例子让你明白c#中的委托-终于懂了!

    模拟主持人发布一个问题,由多个嘉宾来回答这个问题. 分析:从需求中抽出Host (主持人) 类和Guests (嘉宾) 类. 作为问题的发布者,Host不知道问题如何解答.因此它只能发布这个事件,将事 ...