5 个最佳 Linux 命令行归档工具 - 第一部分
在我们的日常生活中,我们会遇到各种平台上的存档文件,无论是Windows、Mac还是Linux。所有平台上都有多个应用程序可用于创建存档文件以及解压缩存档文件。当涉及到在 Linux 平台上工作时,我们需要非常频繁地处理存档文件。
在本文中,我们将讨论标准 Linux 发行版上可用的归档工具、它们的特性、示例等。文章分为两部分,每部分包含五个命令行归档工具(即总共10 个最佳命令行归档工具)。
什么是归档文件?
档案文件是一个压缩文件,由一个或多个计算机文件以及元数据组成。
归档的特点
- 数据压缩
- 加密
- 文件连接
- 自动提取
- 自动安装
- 源卷和媒体信息
- 文件跨越
- 校验和
- 目录结构信息
- 其他元数据(有关数据的数据)
- 错误发现
应用领域
- 存储计算机文件系统和元数据。
- 对于本地传输文件很有用。
- 对于通过网络传输文件很有用。
- 软件包装应用程序。
标准 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 命令示例。
shar 命令
shar代表Shell存档,是一个 shell 脚本,执行该脚本将创建文件。shar 是一个自解压存档文件,它是一个遗留实用程序,需要Unix Bourne Shell来提取文件。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 的通用文件归档程序。它被RedHat Package Manager (RPM) 和Linux Kernel 的initramfs广泛使用,并且是Apple Computer 安装程序(pax) 中的重要归档工具。
cpio 选项
- -0:读取以空字符而不是换行符终止的文件名列表。
- -a:重置访问时间。
- -A:附加。
- -b:交换。
- -d:创建目录。
cpio 示例
创建一个‘cpio’档案文件。
# cd example # 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 压缩文件,输出 tarball,格式为 '* .tar.gz ' 或 ' *.tgz '。
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' 的架构和功能使得恢复损坏的 'gzipped tar archive' 文件变得很困难。建议在不同位置对 gzipped 重要文件进行多次备份。
目前就这些了。我们将在下一篇文章中讨论适用于 Linux 的其他压缩和解压缩应用程序。在此之前,请继续关注并关注示例。不要忘记在下面的评论部分向我们提供您宝贵的反馈。