在我们面对的日常工作中,各种平台上的归档档案有可能是 Windows 、 Mac 或 Linux 等型别。几款应用站群软件可供所有平台建立归档档案以及对归档档案进行解压缩。说到在 Linux 平台上工作,我们需要非常频繁地处理归档档案。
Linux 命令列归档工具
我们在本文中将探讨标准 Linux 发行版上可供使用的归档工具、功能特性以及例项等。文章分上下两部分,每个部分各自介绍了五款命令列归档工具(也就是说,总共介绍了十款最佳的 Linux 命令列工具)。
何谓归档档案
归档档案是经过压缩的档案,它由一个或多个计算机档案以及后设资料组成。
归档的功能特性
资料压缩
加密
档案并置
自动解压
自动安装
源卷和介质资讯
File spanning
校验和
目录结构资讯
其他后设资料(关于资料的资料)
错误发现
应用领域
储存计算机档案系统以及后设资料。
适用于本地传送档案。
适用于通过网际互联网传送档案。
站群软件包装应用程式。
标准 Linux 发行版上实用的归档应用站群软件包括如下:
1. tar 命令
tar 是标准的 UNIX/Linux 归档应用站群软件工具。在早期阶段,它曾经是一款磁带归档站群软件,后来慢慢发展成了通用归档站群软件包,能够处理各种型别的归档档案。 tar 可接受许多带选项的归档过滤器。
tar 选项
-A:将 tar 档案新增到现有归档的末尾。
-c:建立一个新的归档档案。
-d:使用指定的档案系统比较归档。
-j:用 bzip 压缩归档。
-r:将档案新增到现有归档的末尾。
-t:列出现有归档的内容。
-u:更新归档。
-x:从现有归档解压档案。
-z:用 gzip 压缩归档。
–delete:从现有归档删除档案。
tar 例项
建立一个 tar 归档档案。
# tar -zcvf name_of_tar.tar.gz /path/to/folder
对 tar 归档档案进行解压缩。
# tar -zxvf Name_of_tar_file.tar.gz
想了解更详细的例子,请参阅《Linux 下的 18 个 Tar 命令例项》一文:http://www.tecmint.com/18-tar-command-examples-in-linux/。
2. shar 命令
shar 代表外壳归档,这是一个外壳指令码,执行该指令码就可以建立文件。 shar 是自解压归档档案,这是一款老式实用工具,需要 Unix Bourne 外壳来解压档案。 shar 的优势在于采用明文格式,不过它可能很危险,因为它输出的是可执行档案。
shar 选项
-o:将输出储存到选项中指定的归档文件。
-l:限制选项中指定的输出档案大小,但不分割输入档案。
-L:限制在选项中指定的输出档案大小,但分割输入档案。
-n:归档名称新增到 shar 档案的头部中。
-a:允许自动生成档案头部。
注意:如果使用了 “-l” 或 “-L” 选项,就要用 “-o” 选项;如果使用了 “-a” 选项,就要用 “-n” 选项。
shar 例项
建立一个 shar 归档档案。
# shar file_name.extension > filename.shar
解压 shar 归档档案。
# unshar file_name.shar
3. ar 命令
ar 是建立和处理归档的实用工具,主要用于二进位制物件档案库。 ar 代表归档工具,可用于归档任何用途的各种归档,但是基本上已被 “tar” 取而代之;现如今,它只用于建立和更新静态库档案。
ar 选项
-d:从归档中删除模组。
-m:移动归档中的成员。
-p:显示归档的指定成员的内容。
-q:快速新增。
-r:将档案成员插入到归档。
-s:为归档新增索引。
-a:将新档案新增到归档的现有成员。
ar 例项
使用 “ar” 工具建立一个归档,静态库为 “libmath.a”,两个物件档案为 “substraction” 和 “division”,具体如下。
# ar cr libmath.a substraction.o division.o
解压 “ar” 归档档案。
# ar x libmath.a
4. cpio
cpio 代表 Copy in and out(拷贝输入和输出)。 cpio 是一款面向 Linux 的通用档案归档工具。它被红帽站群软件包管理器(RPM)积极使用,用于 Linux 核心的 initramfs(初始 RAM 档案系统)中,还是苹果公司的安装工具(pax)中的一个重要归档工具。
cpio 选项
-0:读取由空字元终止而不是由换行符终止的档名列表。
-a:复位访问时间。
-A:新增到现有归档。
-b:交换。
-d:建立目录。
cpio 例项
建立一个 “cpio” 归档档案。
# cd tecmint
# ls
file1.o file2.o file3.o
# ls | cpio -ov > /path/to/output_folder/obj.cpio
解压 cpio 归档档案。
# cpio -idv < /path/to folder/obj.cpio 5. gzip gzip 是一种标准的、广泛应用的档案压缩和解压缩实用工具。 gzip 允许档案并置。用 gzip 压缩档案,可以得到格式为 “*.tar.gz” 或 “*.tgz” 的 tarball 打包档案。 gzip 选项 –stdout:将输出写到标准输出装置上。 –to-stdout:将输出写到标准输出装置上。 –decompress:解压缩档案。 –uncompress:解压缩档案。 -d:解压缩档案。 -f:强行压缩/解压缩。 gzip 例项 建立一个 “gzip” 归档档案。 # tar -cvzf name_of_archive.tar.gz /path/to/folder 解压缩 “gzip” 归档档案。 # gunzip file_name.tar.gz 执行上面这个命令后必须紧跟著执行下面这个命令。 # tar -xvf file_name.tar 注意:由于 gzip 的架构和功能,很难恢复受损坏的用 gzip 处理的 tar 归档档案。所以建议在不同的地方对用 gzip 处理的重要档案做几个备份。 暂且介绍这么多。我们会在下一篇文章中介绍另外面向 Linux 的压缩和解压缩应用站群软件。敬请关注。 英文:http://www.tecmint.com/command-line-archive-tools-for-linux/