linux合并解压命令,Linux命令 — 压缩与解压命令大全

压缩与解压命令,是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]# ls

test1.txt test2.txt test3.txt

[root@linux tmp]# cat test1.txt

Hello, test1!

[root@linux tmp]# cat test2.txt

Hello, test2!

[root@linux tmp]# cat test3.txt

Hello, test3!

1. gzip

gzip程序压缩的文件以.gz结尾,与其对应的解压程序是gunzip,也可以用gzip -d解压。

f9b205d7ea61491cc8037bcc1470fc6e.png

gzip常用参数说明:

-c:将压缩的数据输出到屏幕上

-d:解压缩

-r:递归压缩文件夹

-t:检验一个压缩档的一致性

-1:压缩最快,压缩比最差

-9:压缩最慢,压缩比最好

压缩:gzip file

[root@linux tmp]# gzip test1.txt

[root@linux tmp]# ls

test1.txt.gz test2.txt test3.txt

解压1:gunzip file.gz

[root@linux tmp]# gunzip test1.txt.gz

[root@linux tmp]# ls

test1.txt test2.txt test3.txt

解压2:gzip -d file.gz

[root@linux tmp]# gzip -d test1.txt.gz

[root@linux tmp]# ls

test1.txt test2.txt test3.txt

zcat解压到标准输出:

[root@linux tmp]# zcat test1.txt.gz

Hello, test1!

[root@linux tmp]# ls

test1.txt.gz test2.txt test3.txt

2. bzip2

bzip2程序压缩的文件以.bz2结尾,与其对应的解压程序是bunzip2,也可以用bzip2 -d解压。

4ca4d5d428b120931f286a2a208d16b6.png

bzip2常用参数说明:

-c:将压缩的数据输出到屏幕上

-d:解压缩

-t:检验一个压缩档的一致性

-1:压缩最快,压缩比最差

-9:压缩最慢,压缩比最好

压缩:bzip2 file

[root@linux tmp]# bzip2 test1.txt

[root@linux tmp]# ls

test1.txt.bz2 test2.txt test3.txt

解压1:bunzip2 file.bz2

[root@linux tmp]# bunzip2 test1.txt.bz2

[root@linux tmp]# ls

test1.txt test2.txt test3.txt

解压2:bzip2 -d file.bz2

[root@linux tmp]# bzip2 -d test1.txt.bz2

[root@linux tmp]# ls

test1.txt test2.txt test3.txt

bzcat解压到标准输出:

[root@linux tmp]# bzip2 test1.txt

[root@linux tmp]# ls

test1.txt.bz2 test2.txt test3.txt

[root@linux tmp]# bzcat test1.txt.bz2

Hello, test1!

[root@linux tmp]# ls

test1.txt.bz2 test2.txt test3.txt

3. tar

tar程序既可以打包,又可以解包。同时,在打包的同时可以通过操作参数调用gzip或bzip2压缩程序进行压缩,在解压的同时也可以通过操作参数调用gunzip或bunzip2解压程序进行解压。从表面上看,该程序同时具有打包压缩和解压解包的功能,因此是很常用的一个命令。

8ca6eca7451fdbfda81da6edf4440ab3.png

操作参数:

-A, --catenate, --concatenate 将一存档与已有的存档合并

-c, --create 建立新的存档

-d, --diff, --compare 比较存档与当前文件的不同之处

-r, --append 附加到存档结尾

-t, --list 列出存档中文件的目录

-u, --update 仅将较新的文件附加到存档中

-x, --extract, --get 从存档展开文件

这七个命令,只能根据需要在压缩或解压时,选择其中一个。如果选择的操作的操作个数多余一个,就会提示如下错误:

[root@linux tmp]# tar -cuf test.tar *.txt

tar: You may not specify more than one `-Acdtrux' option

Try `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。

0cfc4f89baf4f426e3d696ce0a6670cf.png

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]# ls

all.zip test1.txt test2.txt test3.txt

zip是一个打包压缩程序,可以将多个文件打包并压缩成一个文件。而gzip和bzip2都只是压缩程序,多个文件只会分别压缩成多个压缩文件。

gzip压缩多个文件:

[root@linux tmp]# gzip *.txt

[root@linux tmp]# ls

test1.txt.gz test2.txt.gz test3.txt.gz        bzip2压缩多个文件:

[root@linux tmp]# bzip2 *.txt

[root@linux tmp]# ls

test1.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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值