Linux命令 — 压缩与解压命令大全
来源:互联网 发布:淘宝女生 编辑:程序博客网 时间:2024/06/06 00:25
压缩与解压命令,是Linux中比较常用的命令。之前用到压缩与解压的时候,都是临时在网上搜,用了之后过段时间没用就忘了。虽然命令的用法很容易在网上搜到,但是每次用到的时候都去搜,也挺浪费时间的。所以,在这里整理了一篇Linux压缩与解压缩命令大全,比较深入地研究和掌握这些命令的用法。
之所以压缩与解压比较常用,是因为文件压缩的好处:减少存储空间,减少文件传输时间。对于文件数量比较多,为了减少存储空间和传输时间,除了用到压缩外,还会涉及到打包。这里需要注意,压缩和打包是两个不同的概念:打包是将大量文件或目录打包成一个文件(多对一);压缩是将一个大文件压缩成一个小文件(一对一)。当压缩大量文件的时候,需要先借助打包工具将所有文件打成一个包,然后再用压缩工具对该包进行压缩。
Windows下最常见的压缩文件格式只有zip和rar两种,但是Linux下的压缩文件格式有gz、tar.gz、tgz、tar.bz2、tbz2、bz2、tar、zip和rar等。然而,zip和rar这两种Windows最常见的压缩文件格式在Linux下却很少使用。如果对Linux压缩与解压命令不熟悉的话,很容易被众多的压缩文件格式吓晕。下面结合示例介绍Linux中的常用压缩与解压命令。示例如下:
[root@linux tmp]# lstest1.txt test2.txt test3.txt[root@linux tmp]# cat test1.txtHello, test1![root@linux tmp]# cat test2.txtHello, test2![root@linux tmp]# cat test3.txtHello, test3!
1. gzip
gzip程序压缩的文件以.gz结尾,与其对应的解压程序是gunzip,也可以用gzip -d解压。
gzip常用参数说明:
-c:将压缩的数据输出到屏幕上
-d:解压缩
-r:递归压缩文件夹
-t:检验一个压缩档的一致性
-1:压缩最快,压缩比最差
-9:压缩最慢,压缩比最好
- 压缩:gzip file
[root@linux tmp]# gzip test1.txt[root@linux tmp]# lstest1.txt.gz test2.txt test3.txt
- 解压1:gunzip file.gz
[root@linux tmp]# gunzip test1.txt.gz[root@linux tmp]# lstest1.txt test2.txt test3.txt
- 解压2:gzip -d file.gz
[root@linux tmp]# gzip -d test1.txt.gz[root@linux tmp]# lstest1.txt test2.txt test3.txt
- zcat解压到标准输出:
[root@linux tmp]# zcat test1.txt.gzHello, test1![root@linux tmp]# lstest1.txt.gz test2.txt test3.txt
2. bzip2
bzip2程序压缩的文件以.bz2结尾,与其对应的解压程序是bunzip2,也可以用bzip2 -d解压。
bzip2常用参数说明:
-c:将压缩的数据输出到屏幕上
-d:解压缩
-t:检验一个压缩档的一致性
-1:压缩最快,压缩比最差
-9:压缩最慢,压缩比最好
- 压缩:bzip2 file
[root@linux tmp]# bzip2 test1.txt[root@linux tmp]# lstest1.txt.bz2 test2.txt test3.txt
- 解压1:bunzip2 file.bz2
[root@linux tmp]# bunzip2 test1.txt.bz2[root@linux tmp]# lstest1.txt test2.txt test3.txt
- 解压2:bzip2 -d file.bz2
[root@linux tmp]# bzip2 -d test1.txt.bz2[root@linux tmp]# lstest1.txt test2.txt test3.txt
- bzcat解压到标准输出:
[root@linux tmp]# bzip2 test1.txt[root@linux tmp]# lstest1.txt.bz2 test2.txt test3.txt[root@linux tmp]# bzcat test1.txt.bz2Hello, test1![root@linux tmp]# lstest1.txt.bz2 test2.txt test3.txt
3. tar
tar程序既可以打包,又可以解包。同时,在打包的同时可以通过操作参数调用gzip或bzip2压缩程序进行压缩,在解压的同时也可以通过操作参数调用gunzip或bunzip2解压程序进行解压。从表面上看,该程序同时具有打包压缩和解压解包的功能,因此是很常用的一个命令。
操作参数:
-A, --catenate, --concatenate 将一存档与已有的存档合并
-c, --create 建立新的存档
-d, --diff, --compare 比较存档与当前文件的不同之处
-r, --append 附加到存档结尾
-t, --list 列出存档中文件的目录
-u, --update 仅将较新的文件附加到存档中
-x, --extract, --get 从存档展开文件
这七个命令,只能根据需要在压缩或解压时,选择其中一个。如果选择的操作的操作个数多余一个,就会提示如下错误:
[root@linux tmp]# tar -cuf test.tar *.txttar: You may not specify more than one `-Acdtrux' optionTry `tar --help' or `tar --usage' for more information.
常用选项:
-f, --file 使用档案文件名,这个是必选项,而且是最后一个参数,之后立即接档案文件名
-j, --bzip2 调用bzip2压缩或解压,压缩包格式为tar.gz或tgz
-z, --gzip 调用gzip压缩或解压,压缩包格式为tar.bz2
-v, --verbose 显示tar操作过程中的文件信息。
-p, --preserve-permissions 保持原文件原来的属性,不因使用者而改变
基本用法示例:
- tar的打包与解包:
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解包的意思
- tar.gz的压缩与解压:
# tar -czf all.tar.gz *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
# tar -xzf all.tar.gz
这条命令是将上面产生的包解开。
- tar.bz2的压缩与解压:
# tar -cjf all.tar.bz2 *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且调用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
# tar -xjf all.tar.bz2
这条命令是将上面产生的包解开。
4. zip
zip程序压缩的文件以.zip结尾,与其对应的解压程序是unzip。
zip常用参数说明:
-m:将被压缩文件移到压缩文件中
-r:递归压缩文件夹
-x:排除参数后面的文件
-i:包括参数后面的文件
-1:压缩最快,压缩比最差
-9:压缩最慢,压缩比最好
- 压缩:zip all.zip files
[root@linux tmp]# zip all.zip *.txt adding: test1.txt (stored 0%) adding: test2.txt (stored 0%) adding: test3.txt (stored 0%)[root@linux tmp]# lsall.zip test1.txt test2.txt test3.txtzip是一个打包压缩程序,可以将多个文件打包并压缩成一个文件。而gzip和bzip2都只是压缩程序,多个文件只会分别压缩成多个压缩文件。
gzip压缩多个文件:
[root@linux tmp]# gzip *.txt[root@linux tmp]# lstest1.txt.gz test2.txt.gz test3.txt.gzbzip2压缩多个文件:
[root@linux tmp]# bzip2 *.txt[root@linux tmp]# lstest1.txt.bz2 test2.txt.bz2 test3.txt.bz2
- 解压:unzip all.zip
5. rar
rar程序压缩的文件以.rar结尾,与其对应的解压程序是unrar。需要注意的是,处理rar文件需要安装RAR for Linux。
- 压缩:rar a all.rar files
- 解压:unrar e all.rar
6.总结
1. 打包和压缩的概念:
打包:将大量文件或目录打包成一个文件。(多对一)
压缩:将一个大文件压缩成一个小文件。(一对一)
2. 无论打包还是解包,原文件都会继续存在。而压缩与解压,原文件将消失。
3. zcat和bzcat都是将压缩文件的内容解压到标准输出,原文件仍将继续存在。
4. bzip2不支持压缩文件夹,而gzip的-r参数可以支持压缩文件夹。
5. zip是一个打包压缩程序,而gzip和bzip2都只是压缩程序。
Reference
http://blog.csdn.net/hbcui1984/article/details/1583796
http://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html
- Linux命令 — 压缩与解压命令大全
- linux 压缩 解压 命令大全
- Linux 解压/压缩命令大全
- Linux解压压缩命令大全
- linux解压,压缩命令大全
- linux压缩解压命令大全
- Linux压缩解压命令大全
- linux下解压命令、压缩命令大全
- Linux压缩与解压命令
- linux 解压与压缩命令
- linux压缩与解压命令
- linux压缩与解压命令
- linux压缩与解压命令
- linux压缩与解压命令
- Linux下的压缩与解压命令大全
- 网络最全面的Linux压缩与解压命令大全
- linux下压缩/解压命令大全
- linux解压和压缩命令大全
- 一个类似于android启动界面的动画效果
- 正则表达式(未完)
- 快速解决Vmware虚拟机 "\\.\Global\vmx86": 系统找不到指定的文件问题
- Jquery中getJson函数用法实例详解
- android腾讯微博吹一吹实现原理
- Linux命令 — 压缩与解压命令大全
- Nitrous.IO,让你远程体验Linux
- c#关于委托和事件(二)(介绍的很详细)
- Android实现类似360,QQ管家那样的悬浮窗
- Linux top命令详解
- Android中的硬件加速
- MFC多线程编程之三——线程间通讯
- ruby 数据 常见问题
- vim下插件c.vim