如何在Unix或Linux命令行上gzip并保留原始文件

时间:2020-01-09 10:39:15  来源:igfitidea点击:

如何使用gzip Unix命令行实用程序压缩日志文件,并且我也想保留原始文件。
但是,当我使用gzip my-app.log命令时,会导致修改日志文件并将其重命名为my-app.log.gz。
在Linux或类似Unix的系统上维护原始文件的同时,如何强制gzip命令保留原始文件?

gzip程序在Unix之类的系统上压缩和解压缩文件。
您需要将-c或--stdout或--to-stdout选项传递给gzip命令。
此选项指定输出将进入标准输出流,而原始文件保持不变。

语法:使用gzip时要保留原始文件

选项如下:

gzip -c input.file > output.file.gz

如果未指定文件且使用方向,则gzip将从标准输入压缩或解压缩为标准输出。
因此,可以使用以下语法:

gzip < input.file > output.file.gz

或在gzip命令中传递-k/--keep来在压缩或解压缩期间监听(不删除)输入文件:

gzip -k input.file
gzip --keep input.file

例子

让我们告诉gzip命令保留名为Friday-Comic.jpg的原始文件:

$ ls -lh Friday-Comic.jpg

Gzip并创建一个名为Friday-Comic-1.jpg.gz的新文件:

$ gzip -c Friday-Comic.jpg > Friday-Comic-1.jpg.gz
$ ls -lh Friday-Comic-1.jpg.gz

Gzip并使用shell重定向创建一个名为Friday-Comic-1.jpg.gz的新文件:
告诉gzip命令将原始文件保留在Unix或Linux系统上

$ gzip < Friday-Comic.jpg > Friday-Comic-2.jpg.gz
$ ls -lh Friday-Comic*