Linux - 文件的压缩与归档
文件压缩
常用的压缩命令有 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 - 文件的压缩与归档的更多相关文章
- Linux下的压缩及归档
Linux下常用的压缩格式有: gz,bz2,xz,zip,Z //只能压缩文件不能压缩目录,如果传递一个目录,他会把目录中的文件逐个压缩 ..压缩算法:算法不同,压缩比也不同 gz:gzip,压缩后 ...
- Linux文件打包压缩、解压缩、备份命令使用方法(转载)
对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Windows下最常见的压缩文件就只有两种,一是,zip,另一个是.rar.可 ...
- Linux上的压缩与归档
非常非常非常简要的描述而已. 压缩 压缩的简要原理是通过一些算法,拿CPU的计算时间去换磁盘上存储的空间.同时还可节省网络传输中的带宽. 对于文本文件的压缩效果比较好,对二进制程序.图片等文件的压缩效 ...
- linux命令之压缩与归档
1. gzip:压缩工具 语法·:gzip [选项](参数) 命令说明:运用广泛的压缩程序,文件经它压缩后,其名称后面以“.gz”扩展名 常用命令选项: -N:压缩文件后,保留文件的原文件名和时间 ...
- linux文件解-压缩
常用: 解压tar.gz包 使用命令:tar -zxvf file.tar.gz -z 指有gzip的属性 -x 解开一个压缩文件的参数 -v解压过程中显示文件 -f放最后接filena ...
- 3.Linux 文件的压缩与打包
1.常用压缩打包命令 常用的压缩打包扩展名为如下: *.Z compress 程序压缩的文件,非常老旧了,不再细说 *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *. ...
- Linux 文件夹压缩命令总结
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...
- Linux 文件的压缩与解压
1. tar结尾压缩命令 [root@test ~]# tar -cvf grub.tar /boot/grub/ 查看压缩包文件 [root@test ~]# tar -vtf grub.tar ...
- 把linux文件夹压缩成tar.gz的命令
解压 tar zxvf 文件名.tar.gz 压缩 tar zcvf software.tar.gz /usr/local/software
随机推荐
- [ASP.NET MVC] Child actions are not allowed to perform redirect
我在Umbraco平台下,用MVC(SurfaceController)开发时,遇到这个问题 MemberEdit是一个partial View [HttpGet] [ActionName(" ...
- Light oj 1236 - Pairs Forming LCM (约数的状压思想)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 题意很好懂,就是让你求lcm(i , j)的i与j的对数. 可以先预处理1e7以 ...
- iOS 通知中心 NSNotificationCenter
iOS开发中,每个app都有一个通知中心,通知中心可以发送和接收通知. 在使用通知中心 NSNotificationCenter之前,先了解一下通知 NSNotification. NSNotific ...
- MyEclipse10.0 安装 jbpm4.4
马上送上地址:http://sourceforge.net/projects/jbpm/files/jBPM%204/ 偶这里下载的是 jbpm4.4 如图: 1.点击 add site 2.点击 a ...
- contiki-main.c 中的process系列函数学习笔记 <contiki学习笔记之六>
说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ---------------------------------------------- ...
- java中hashcode和equals的区别和联系
HashSet和HashMap一直都是JDK中最常用的两个类,HashSet要求不能存储相同的对象,HashMap要求不能存储相同的键. 那么Java运行时环境是如何判断HashSet中相同对象.Ha ...
- HDU 5536 Chip Factory 字典树
Chip Factory Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...
- web.xml里<filter-mapping>中的<dispatcher>作用
2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个< ...
- show processlist 命令详解
如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的 MySQL 帐户运行的线程). mysql> show processlist; +—–+— ...
- UNIX基础知识之用户标识
一.用户ID 口令文件(/etc/passwd)登录项中的用户ID(user ID)是个数值,它向系统标识各个不同的用户.系统管理员在确定一个用户的登录名的同时,确定其用户ID.用户不能更改其用户ID ...