来自公众号:入门小站
文件压缩可以节约硬盘,磁盘的储存空间。在网络上传输压缩文件可以极大的节约服务器带宽。下面介绍一些压缩命令。
tar
是Linux管理员最流行的压缩和解压缩工具,用于以gzip、bzip2或lzip等多种文件格式存档。
在Debian/Ubuntu 中安装 tar
> apt-get install tar
在 CentOS 中安装 tar
> yum install tar
例子
创建一个 512MB 大小的文件
> fallocate -l 512M um.img
创建存档
> tar -cvfz um.tar.gz um.img
-c
– 创建存档-v
– 详细信息-f
用于存档文件-z
以 gzip 格式压缩文件gzip 工具是 Linux 中最流行和最快速的文件压缩应用程序。Gzip 工具保留原始文件名、压缩文件的扩展名 .gz 和时间戳。
Ubuntu安装
> apt-get install gzip
CentOS安装
> yum install gzip
例子
> gzip examplefile
获取有关压缩文件的详细信息
> gzip -l examplefile.gz
compressed uncompressed ratio uncompressed_name
203559 209715200 9% examplefile
解压压缩文件
> gzip -d examplefile.gz
递归压缩所有文件和目录
> gzip -r examplefile
Lzma 是类似于 zip 或 tar 的压缩工具,但与 bzip 相比,它的执行速度更快,它是所有 Linux 发行版的内置工具。
要创建存档,请使用以下命令
> lzma -c --stdout examplefile> examplefile.lzma
提取数据
> lzma -d --stdout examplefile.lzma >examplefile
XZ 是 lzma 应用程序的继承者,它只能压缩单个文件,但不能在单个命令中压缩多个文件。2009 年推出,因此可能无法在较旧的 Linux 版本上支持,但所有最新的 Linux 操作系统都默认安装,它会自动为压缩文件添加 .xz 扩展名。
例子
压缩文件
> xz examplefile
解压缩文件
> xz -d examplefile.xz
Bzip2 应用程序比 gzip 执行得更快,它更紧凑地压缩文件和文件夹。在压缩文件时需要更多的 RAM,以减少内存消耗,在选项中传递 -s 参数。
例子
> bzip2 examplefile
实用 -s 参数
> bzip2 -s examplefile
解压 .bz2 压缩文件
> bzip2 -d examplefile.bz2
或者
> bunzip2 examplefile.bz2
使用 -v 选项详细说明
> bzip2 -v examplefile
examplefile: 11848638:1, 000 bits/byte, 100% saved, 209715200 in, 177 out.
Pax 是 Linux 中鲜为人知的归档工具,它执行速度快而且不仅仅是一个压缩器,它可以真正归档它可以远程复制文件。
Debian/Ubuntu安装
> apt-get install pax
例子
# pax -wf examplefile.tar examplefile
w
写入存档的选项,f
用于文件。
要以 bzip 或 gzip 压缩文件,请使用 -z 选项
# pax -wf examplefile.tar.gz examplefile
列出存档内容
> pax -f examplefile.tar
提取档案内容
> pax -r <examplefile.tar
Peazip 是一个跨平台的压缩工具,它基于 7zip、p7zip、freearch 等开源工具,支持超过 180 种文件格式。WinRar 的一个很好的替代品。
安装
下载包并安装
> wget sourceforge.net/projects/peazip/files/1/peazip_LINUX.Qt-2_i3deb
安装
> dpkg -i peazip_LINUX.Qt-2_i3deb
7Zip文件压缩器是最初为Microsoft Windows开发的开源应用程序,它支持多种文件压缩格式并以高文件压缩而闻名,它可以用于通过单个命令压缩多个文件。
安装
> apt-get install p7zip-full p7zip-rar
例子
> 7z a examplefile.7z examplefile
提取文件
> 7z e examplefile.7z
Shar 是一个命令行工具,可以用来压缩测试文件,shar 可以定义为shell 存档。一个简单而快速的文件归档应用程序对于获取 shell 脚本的归档很有用。
安装
> apt-get install sharutils
例子
压缩文件
> shar examplefile > examplefile.shar
解压文件
> unshar examplefile.shar
可以定义为复制输入和输出,它在输入中逐行读取文件名列表,在输出中归档文件。它是一个经典的命令,不需要安装。
例子
> cd /tmp
ls | cpio -ov >/home/username/backup.cpio
> cpio -idv <backup.cpio
rar 的祖先或前身,在 Debian 及其衍生产品中仍然使用,一个简单的归档工具,但现在不怎么流行。
例子
创建存档
> ar cvsr examplefile.a examplefile
解压存档
> ar -xv examplefile.a
用于获取虚拟磁盘映像或光驱的 .iso 映像,以后可用于刻录新磁盘或作为基于超版本虚拟化的一些安装介质,是 Linux 管理员非常有用的工具。
例子
> dd if=/media/dvd of=/home/username/filename.iso
Kgb 是一种鲜为人知但很有效的归档工具,它能够将多个文件压缩成一个小的高压缩比归档。它支持所有常见的文件存档格式,如 zip、gzip、7zip 和 rar。
安装
> apt-get install kgb
例子
> kgb examplefile.kgb examplefile
提取包
> kgb x examplefile.kgb
能够处理大文件,轻量级,它是由 Matt Mahoney 于 2010 年 6 月 16 日编写的,它提出了高标准的数据压缩存档,它基于 PAQ 上下文混合算法。
安装
> apt-get install zpac
例子
> zpaq c examplefile.tar examplefile
File Roller
是Linux GUI 中的归档管理器,它可以创建或修改归档,它可以显示归档的内容,是7zip 或winrar 的一个很好的替代品。支持几乎所有文件格式,如 .iso、.lsa、7zip、gzip、zip、zz 等。在 Mint 和 Ubuntu 发行版默认安装。