Linux 文件管理:Linux gzip 压缩
Gzip (GNU zip) 是一个压缩工具,用于减少文件大小。默认原始文件被替换成压缩文件并以后缀名为 .gz 结尾的文件。
解压缩文件使用 gunzip 命令,恢复原始文件。
语法:
gzip <file1> <file2> <file3>. . .
gunzip <file1> <file2> <file3>. . .
举例:
$ gzip file1.txt file2.txt
$ gunzip file1.txt file2.txt
观察上图,gzip
命令压缩了 file1.txt 和 file2.txt 文件,列文件显示2个以原文件名加了 .gz 后缀的文件 file1.txt.gz 和 file2.txt.gz 。使用 gunzip
命令解压缩了那2个文件,列文件显示2个文件恢复原名。(译注:压缩时直接替换文件,解压时可只给出 .gz 前的文件名,也可给出全名)。
gzip 命令选项
将多个文件压缩到一起
若想把多个文件压缩到一起,可利用 cat
命令先将文件合并,再通过管道传递给gzip
进行压缩。
语法:
cat <file1> <file2>. . | gzip > <newFile.gz>
举例:
$ cat file1.txt file2.txt | gzip > final.gz
如上截图所示,file1.txt 和 file2.txt 被合并压缩为 final.gz 文件。
gzip -l
gzip -l
命令选项会列出压缩文件相关压缩信息(压缩后大小,压缩前大小,压缩比率,压缩前文件名)。
语法:
gzip -l <file1> <file2>. .
举例:
$ gzip -l final.gz jtp.txt.gz
如上截图所见,gzip -l final.gz jtp.txt.gz
命令显示了 final.gz 和 jtp.txt.gz 压缩文件的相关信息。
如何压缩一整个目录
gzip 无法直接压缩一整个目录,因为它只能压缩单个文件。若压缩目录,必须借助 tar 命令。
连字符 - 在 tar 命令中并非必要。
'c' 意味 创建(create),
'v' 意味 详细列示(verbose),详细输出每步骤,
'f' 意思是操作的是 tar 文件,并在后面给出其名称,
'z' 指定使用 gzip 压缩方法。
语法:
tar cf - <directory> | gzip > <directoryName>
或
tar cvfz office.tar.gz office
举例:
$ tar cf - office | gzip > office.tar.gz
如上截图所示,目录 office 被压缩成一个文件 -- office.tar.gz --。