如何在Linux中压缩和解压缩文件

时间:2020-03-21 11:44:12  来源:igfitidea点击:

备份重要文件并在Internet上发送大文件时,压缩非常有用。
请注意,压缩已压缩的文件会增加另外的开销,从而会获得略大的文件。
所以,停止压缩压缩文件。
有许多程序在GNU/Linux中压缩和解压缩文件。
在本教程中,我们只能了解两个应用程序。

压缩和解压缩Linux上的文件

用于压缩诸如UNIX的系统中的文件的最常见程序是:

  • GZIP.
  • BZIP2.

1.使用gzip程序压缩和解压缩文件

GZIP是使用LEMPEL-ZIV编码(LZ77)算法压缩和解压缩文件的实用程序。

1.1压缩文件

要压缩名为theitroad.txt的文件,请使用Gzipped压缩版本替换它,运行:

$gzip theitroad.txt

Gzip将用名为theitroad.txt.gz的Gzipped压缩版本替换原始文件onitoad.txt。

GZIP命令也可以以其他方式使用。
一个精美的例子是我们可以创建一个特定命令输出的压缩版本。
查看以下命令。

$ls -l Downloads/| gzip > theitroad.txt.gz

上面的命令创建了下载文件夹的目录列表的压缩版本。

1.2压缩文件并将输出写入不同的文件(不要替换原始文件)

默认情况下,GZIP程序将压缩给定文件,用Gzipped压缩版本替换它。
但是,我们可以保留原始文件并将输出写入标准输出。
例如,以下命令,将onitorad.txt压缩并将输出写入输出.txt.gz。

$gzip -c theitroad.txt > output.txt.gz

同样,要解吸指定输出文件名的谷拓文件:

$gzip -c -d output.txt.gz > theitroad1.txt

上面的命令解压缩了output.txt.gz文件并将输出写入theitroad1.txt文件。
在这两种情况下,它不会删除原始文件。

1.3解压缩文件

要解压缩文件theitroad.txt.gz,请使用原始未压缩版本替换它:

$gzip -d theitroad.txt.gz

我们还可以使用gunzip来解压缩文件。

$gunzip theitroad.txt.gz

1.4查看压缩文件的内容而不减压它们

要使用gzip查看压缩文件的内容而不解于它,请使用-c标志如下所示:

$gunzip -c theitroad1.txt.gz

或者,使用如下所示的zcat实用程序。

$zcat theitroad.txt.gz

我们还可以将输出管制到"disult"命令,以按照下面的页面查看输出页面。

$gunzip -c theitroad1.txt.gz | less
$zcat theitroad.txt.gz | less

或者,存在一个宽松程序,该程序执行与上面的管道相同的功能。

$zless theitroad1.txt.gz

1.5通过指定压缩级别使用Gzip压缩文件

GZIP的另一个显着优势是它支持压缩级别。
它支持3个压缩级别,如下所述。

  • 1 - 最快(最差)
  • 9 - 最慢最慢(最好)
  • 6 - 默认级别

要压缩名为OniToad.txt的文件,请使用最佳压缩级别的Gzipped压缩版本替换它:

$gzip -9 theitroad.txt

1.6串联多个压缩文件

也可以将多个压缩文件连接到一个。
如何?
看看以下示例。

$gzip -c theitroad1.txt > output.txt.gz
$gzip -c theitroad2.txt >> output.txt.gz

上面的两个命令将compress theitroad1.txt和onitoad2.txt并将其保存在一个名为contance.txt.gz的文件中。

我们可以使用以下命令中的任何一个来查看文件(onitad1.txt和onitoad2.txt)的内容:

$gunzip -c output.txt.gz
$gunzip -c output.txt
$zcat output.txt.gz
$zcat output.txt

有关更多详细信息,请参阅man页面。

$man gzip

2.使用BZIP2程序压缩和解压缩文件

BZIP2与GZIP程序非常相似,但使用命名的dig掘机轮式块排序文本压缩算法和霍夫曼编码的不同压缩算法。
使用BZIP2压缩的文件将以.bz2扩展结束。

就像我说的那样,BZIP2的用法几乎与GZIP相同。
只需用Bzip2,带BuzCAT的Bzip2,Zcat用Bzcat替换Gzip,用Bzcat替换Gzip。

要使用BZIP2压缩文件,请使用压缩版本替换它,运行:

$bzip2 theitroad.txt

如果我们不想替换原始文件,请使用-c标志并将输出写入新文件。

$bzip2 -c theitroad.txt > output.txt.bz2

解压缩压缩文件:

$bzip2 -d theitroad.txt.bz2

或者,

$bunzip2 theitroad.txt.bz2

要查看压缩文件的内容而不减少它:

$bunzip2 -c theitroad.txt.bz2

或者,

$bzcat theitroad.txt.bz2

有关更多详细信息,请参阅Man页面。

$man bzip2